{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/freddie-cotton/picks/2/",
 "canonical": "/authors/freddie-cotton/picks/2/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Freddie Cotton — football predictions, page 2 of 3",
 "description": "Predictions 1–20 of 32 by Freddie Cotton, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 2 of 3 of the predictions by Freddie Cotton recorded by Forecast Record: predictions 1–20 of 32 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": "32",
  "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-07T18:17:13.307Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "556d66dbaa21df728a350897900278f82d106527630e45f4adaa0bc9d9e0b81d",
 "dependency_group": "author:e-ec1b39ab63e5952b6504e997",
 "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/freddie-cotton/picks/2/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-ec1b39ab63e5952b6504e997",
  "public_name": "Freddie Cotton",
  "tracker_number": 1212,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-27",
   "until": "2026-11-06"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-113cb6cea3925df295f0831e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we think Jamaica will add to their success against Guatemala by claiming victory",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-26T22:28:56.000Z",
   "recorded_at": "2026-09-27T01:07:42.637Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-cfefd7aa1355d15ce316b92c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Jamaica 3-1 Honduras",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-26T22:28:56.000Z",
   "recorded_at": "2026-09-27T01:07:42.637Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-f5bb2107242c3dde994c5c83",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Luxembourg 3-1 Iceland",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T21:58:44.000Z",
   "recorded_at": "2026-09-27T22:01:43.457Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-95871c11b38a167d36bd01d5",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-95871c11b38a167d36bd01d5",
   "match": "Notts County v Oxford United",
   "match_url": "/football/matches/notts-county-vs-oxford-united-2026-10-10/",
   "kickoff": "2026-10-10T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 40.3,
   "market_code": "1x2",
   "author_said": "1X2, match result: Oxford United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": "",
   "reason_code": "not_admitted",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T18:24:28.000Z",
   "recorded_at": "2026-10-08T19:13:20.882Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-95871c11b38a167d36bd01d5",
    "quote_text": "the U's are heavy favourites to take three points this weekend",
    "fragment_from": 6381,
    "fragment_to": 6443,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-oxford-utd-prediction-team-news-lineups_606494.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1a1166ce85f7eae66e44d7359c82cb0cd6810e23307ddc3a553c959fd0351ac8",
     "material_removed": false
    },
    "published_at": "2026-10-08T18:24:28.000Z",
    "detected_at": "2026-10-08T19:13:20.882Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "no_price_at_capture",
    "event": {
     "event_id": "s-2ac37db97147",
     "display_name": "Notts County — Oxford United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T11:30:00.000Z",
     "url": "/football/matches/notts-county-vs-oxford-united-2026-10-10/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Oxford United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-08T18:24:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T18:24:28.000Z",
     "detected_at": "2026-10-08T19:13:20.882Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Oxford United",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Oxford United"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Notts County 1-2 Oxford United."
    },
    "settlements": [
     {
      "operation_id": "d1d3e4b52a5377735cf63941dfc4fe711f425dd532246b07bd4b77d2638073d5",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Oxford United",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-oxford-utd-prediction-team-news-lineups_606494.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Oxford United to win"
   }
  },
  {
   "record_id": "n-d0c814b430c0e5b6ad2d79f4",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-d0c814b430c0e5b6ad2d79f4",
   "match": "Notts County v Oxford United",
   "match_url": "/football/matches/notts-county-vs-oxford-united-2026-10-10/",
   "kickoff": "2026-10-10T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 40.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Notts County 1-2 Oxford United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T18:24:28.000Z",
   "recorded_at": "2026-10-08T19:13:20.882Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d0c814b430c0e5b6ad2d79f4",
    "quote_text": "We say: Notts County 1-2 Oxford United",
    "fragment_from": 5988,
    "fragment_to": 6026,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-oxford-utd-prediction-team-news-lineups_606494.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "1a1166ce85f7eae66e44d7359c82cb0cd6810e23307ddc3a553c959fd0351ac8",
     "material_removed": false
    },
    "published_at": "2026-10-08T18:24:28.000Z",
    "detected_at": "2026-10-08T19:13:20.882Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2ac37db97147",
     "display_name": "Notts County — Oxford United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T11:30:00.000Z",
     "url": "/football/matches/notts-county-vs-oxford-united-2026-10-10/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Notts County 1-2 Oxford United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-08T18:24:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T18:24:28.000Z",
     "detected_at": "2026-10-08T19:13:20.882Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Notts County 1-2 Oxford United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Notts County 1-2 Oxford United"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Notts County 1-2 Oxford United."
    },
    "settlements": [
     {
      "operation_id": "c1d807749dd35c3d6394a7d0b3309a1d6d8835752b955205d12e385b37769865",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Oxford United",
      "decimal_odds": "2.6500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 16500,
      "executed_at": "2026-10-22T12:25:12.506Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/notts-county/preview/notts-county-vs-oxford-utd-prediction-team-news-lineups_606494.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Notts County 1-2 Oxford United"
   }
  },
  {
   "record_id": "n-d0a60decc2c03e3fea919519",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-d0a60decc2c03e3fea919519",
   "match": "Plymouth Argyle v AFC Wimbledon",
   "match_url": "/football/matches/plymouth-argyle-vs-afc-wimbledon-2026-10-10/",
   "kickoff": "2026-10-10T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 32.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Plymouth Argyle 2-0 AFC Wimbledon",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-08T19:03:08.000Z",
   "recorded_at": "2026-10-09T03:09:08.469Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d0a60decc2c03e3fea919519",
    "quote_text": "We say: Plymouth Argyle 2-0 AFC Wimbledon",
    "fragment_from": 5212,
    "fragment_to": 5253,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-afc-wimbledon-prediction-team-news-lineups_606500.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "42ba2052c062a078ad14e6e3c4a7b61b2742ef6004905f3515fdddd9f94cf94d",
     "material_removed": false
    },
    "published_at": "2026-10-08T19:03:08.000Z",
    "detected_at": "2026-10-09T03:09:08.469Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-1b06d75ab94b",
     "display_name": "Plymouth Argyle — AFC Wimbledon",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-10T11:30:00.000Z",
     "url": "/football/matches/plymouth-argyle-vs-afc-wimbledon-2026-10-10/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Plymouth Argyle 2-0 AFC Wimbledon",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-08T19:03:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-08T19:03:08.000Z",
     "detected_at": "2026-10-09T03:09:08.469Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Plymouth Argyle 2-0 AFC Wimbledon",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Plymouth Argyle 2-0 AFC Wimbledon"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Plymouth Argyle 2-1 AFC Wimbledon."
    },
    "settlements": [
     {
      "operation_id": "1cc9ad5131cd552a0c8062dc9a1a25ae5ae43b5c355d35ae0206f64c92973bdb",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Plymouth Argyle",
      "decimal_odds": "1.4800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4800,
      "executed_at": "2026-10-22T12:25:12.248Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/plymouth-argyle/preview/plymouth-vs-afc-wimbledon-prediction-team-news-lineups_606500.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Plymouth Argyle 2-0 AFC Wimbledon"
   }
  },
  {
   "record_id": "n-66e7ae86522fc0e0e08277f4",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-66e7ae86522fc0e0e08277f4",
   "match": "Mansfield Town v Oxford United",
   "match_url": "/football/matches/mansfield-town-vs-oxford-united-2026-10-15/",
   "kickoff": "2026-10-15T19:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 43.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Mansfield Town 1-1 Oxford United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-13T22:33:33.000Z",
   "recorded_at": "2026-10-13T23:09:49.979Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-66e7ae86522fc0e0e08277f4",
    "quote_text": "We say: Mansfield Town 1-1 Oxford United",
    "fragment_from": 5826,
    "fragment_to": 5866,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/mansfield-town/preview/mansfield-vs-oxford-utd-prediction-team-news-lineups_606853.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "8d0779cd0e72a3b77fe62ffda217851a2c5e32ec1aa2807e0363bb0367d867f1",
     "material_removed": false
    },
    "published_at": "2026-10-13T22:33:33.000Z",
    "detected_at": "2026-10-13T23:09:49.979Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-3f81879edc97",
     "display_name": "Mansfield Town — Oxford United",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-15T19:00:00.000Z",
     "url": "/football/matches/mansfield-town-vs-oxford-united-2026-10-15/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Mansfield Town 1-1 Oxford United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-13T22:33:33.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T22:33:33.000Z",
     "detected_at": "2026-10-13T23:09:49.979Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Mansfield Town 1-1 Oxford United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Mansfield Town 1-1 Oxford United"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Matched: the final score was Mansfield Town 1-1 Oxford United."
    },
    "settlements": [
     {
      "operation_id": "918a3fb6b8fb220b9468e3e0fee9d55508a299ad9b562783e48e78a6e4ef4679",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.4500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 24500,
      "executed_at": "2026-10-22T11:39:59.549Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/mansfield-town/preview/mansfield-vs-oxford-utd-prediction-team-news-lineups_606853.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Mansfield Town 1-1 Oxford United"
   }
  },
  {
   "record_id": "n-93acd5a4f4a6869b83eb84dc",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: MK Dons 1-2 Luton Town",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-14T23:14:37.000Z",
   "recorded_at": "2026-10-15T00:09:48.906Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-ccf1f26b7838ac4082bb82e7",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "we are backing the away team to take all three points from Buckinghamshire once again this weekend.",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-14T23:14:37.000Z",
   "recorded_at": "2026-10-15T00:09:48.906Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-22cbef31d6603dec1e0da1b2",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-22cbef31d6603dec1e0da1b2",
   "match": "Peterborough United v Burton Albion",
   "match_url": "/football/matches/peterborough-united-vs-burton-albion-2026-10-17/",
   "kickoff": "2026-10-17T11:30:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 36.3,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Peterborough United 2-0 Burton Albion",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-15T22:18:13.000Z",
   "recorded_at": "2026-10-15T23:09:54.056Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-22cbef31d6603dec1e0da1b2",
    "quote_text": "We say: Peterborough United 2-0 Burton Albion",
    "fragment_from": 5339,
    "fragment_to": 5384,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "66086a22cfc4e59ace9f211cd1af8abe6ea9b73a7ed5d102035e597e13efa7eb",
     "material_removed": false
    },
    "published_at": "2026-10-15T22:18:13.000Z",
    "detected_at": "2026-10-15T23:09:54.056Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-80309d881fc7",
     "display_name": "Peterborough United — Burton Albion",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-17T11:30:00.000Z",
     "url": "/football/matches/peterborough-united-vs-burton-albion-2026-10-17/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Peterborough United 2-0 Burton Albion",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-15T22:18:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-15T22:18:13.000Z",
     "detected_at": "2026-10-15T23:09:54.056Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Peterborough United 2-0 Burton Albion",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Peterborough United 2-0 Burton Albion"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Peterborough United 2-2 Burton Albion."
    },
    "settlements": [
     {
      "operation_id": "ce916ca225ecc239eb512e58e87d520edb39b3672710d48254358859b0c11c86",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Peterborough United",
      "decimal_odds": "1.8500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T11:12:52.124Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/peterborough-united/preview/peterborough-vs-burton-albion-prediction-team-news-lineups_606983.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Peterborough United 2-0 Burton Albion"
   }
  },
  {
   "record_id": "n-b7cc4cca8fc05d2757c4a637",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-b7cc4cca8fc05d2757c4a637",
   "match": "Angers v Olympique de Marseille",
   "match_url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
   "kickoff": "2026-10-18T13:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 49.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Angers 1-3 Olympique de Marseille",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-5",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T10:49:13.000Z",
   "recorded_at": "2026-10-16T11:09:51.466Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.0800",
    "result": "Won",
    "points_hundredths": 10800,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-b7cc4cca8fc05d2757c4a637",
    "quote_text": "We say: Angers 1-3 Marseille",
    "fragment_from": 4972,
    "fragment_to": 5000,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3b44bd0faed13ed22d5b2d6895b1996a0858cba0553e580714afe15ae47fd80b",
     "material_removed": false
    },
    "published_at": "2026-10-16T10:49:13.000Z",
    "detected_at": "2026-10-16T11:09:51.466Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-e82f849606a1",
     "display_name": "Angers — Olympique de Marseille",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T13:00:00.000Z",
     "url": "/football/matches/angers-vs-olympique-de-marseille-2026-10-18/",
     "scoreline": "2-5",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Angers 1-3 Olympique de Marseille",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-16T10:49:13.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T10:49:13.000Z",
     "detected_at": "2026-10-16T11:09:51.466Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Angers 1-3 Olympique de Marseille",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-3",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Angers 1-3 Olympique de Marseille"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Angers 2-5 Olympique de Marseille."
    },
    "settlements": [
     {
      "operation_id": "298e820a3d70b6c33e87c12b75476b63b5ddddb052eceae4c9b8b7ba7648c4f0",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique de Marseille",
      "decimal_odds": "2.0800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10800,
      "executed_at": "2026-10-16T13:53:33.939Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-marseille-prediction-team-news-lineups_607039.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Angers 1-3 Olympique de Marseille"
   }
  },
  {
   "record_id": "n-a526c9d2cbe89f7eadc3d8d2",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-a526c9d2cbe89f7eadc3d8d2",
   "match": "Le Havre v Auxerre",
   "match_url": "/football/matches/le-havre-vs-auxerre-2026-10-18/",
   "kickoff": "2026-10-18T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 46.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Le Havre 1-1 Auxerre",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T14:10:56.000Z",
   "recorded_at": "2026-10-16T17:09:55.529Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.2500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-a526c9d2cbe89f7eadc3d8d2",
    "quote_text": "We say: Le Havre 1-1 Auxerre",
    "fragment_from": 4387,
    "fragment_to": 4415,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/le-havre/preview/le-havre-vs-auxerre-prediction-team-news-lineups_607041.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "e13daa9468498cba08cfcd80568ac1785a23db3503ce65404863620b950b3b3e",
     "material_removed": false
    },
    "published_at": "2026-10-16T14:10:56.000Z",
    "detected_at": "2026-10-16T17:09:55.529Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-6ce51722d547",
     "display_name": "Le Havre — Auxerre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-18T15:15:00.000Z",
     "url": "/football/matches/le-havre-vs-auxerre-2026-10-18/",
     "scoreline": "1-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Le Havre 1-1 Auxerre",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-16T14:10:56.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-16T14:10:56.000Z",
     "detected_at": "2026-10-16T17:09:55.529Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Le Havre 1-1 Auxerre",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Le Havre 1-1 Auxerre"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Le Havre 1-3 Auxerre."
    },
    "settlements": [
     {
      "operation_id": "5748706ac449d6efef0a881f446d4a634e112959043cf18ea4817b8e8414bb4f",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-16T17:24:10.874Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/le-havre/preview/le-havre-vs-auxerre-prediction-team-news-lineups_607041.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Le Havre 1-1 Auxerre"
   }
  },
  {
   "record_id": "n-fd67315b88c18c715a505e78",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-fd67315b88c18c715a505e78",
   "match": "Oxford United v Wigan Athletic",
   "match_url": "/football/matches/oxford-united-vs-wigan-athletic-2026-10-20/",
   "kickoff": "2026-10-20T18:45:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 43.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Oxford United 3-1 Wigan Athletic",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-18T22:15:22.000Z",
   "recorded_at": "2026-10-18T23:10:14.162Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-fd67315b88c18c715a505e78",
    "quote_text": "We say: Oxford United 3-1 Wigan Athletic",
    "fragment_from": 5104,
    "fragment_to": 5144,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/oxford-united/preview/oxford-utd-vs-wigan-prediction-team-news-lineups_607190.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "4dd84358fc34097441804425175ef46de3b6e00a6c0b7e5db5a09877cdb4e9f2",
     "material_removed": false
    },
    "published_at": "2026-10-18T22:15:22.000Z",
    "detected_at": "2026-10-18T23:10:14.162Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-78dbf67f34d8",
     "display_name": "Oxford United — Wigan Athletic",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-20T18:45:00.000Z",
     "url": "/football/matches/oxford-united-vs-wigan-athletic-2026-10-20/",
     "scoreline": "2-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Oxford United 3-1 Wigan Athletic",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-18T22:15:22.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-18T22:15:22.000Z",
     "detected_at": "2026-10-18T23:10:14.162Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Oxford United 3-1 Wigan Athletic",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Oxford United 3-1 Wigan Athletic"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Oxford United 2-1 Wigan Athletic."
    },
    "settlements": [
     {
      "operation_id": "3882d9419e95fe9d8849f584c6687f9f6e40f3cc78f0c6ff7b3b968be8a3c160",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Oxford United",
      "decimal_odds": "1.8700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 8700,
      "executed_at": "2026-10-22T12:45:40.570Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/oxford-united/preview/oxford-utd-vs-wigan-prediction-team-news-lineups_607190.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Oxford United 3-1 Wigan Athletic"
   }
  },
  {
   "record_id": "n-4a4f5eaa429612e70de2c53f",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-4a4f5eaa429612e70de2c53f",
   "match": "Jagiellonia v Anderlecht",
   "match_url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 51.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Jagiellonia 1-1 Anderlecht",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-20T14:01:03.000Z",
   "recorded_at": "2026-10-20T15:10:08.932Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.2000",
    "result": "Won",
    "points_hundredths": 12000,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-4a4f5eaa429612e70de2c53f",
    "quote_text": "We say: Jagiellonia Bialystok 1-1 Anderlecht",
    "fragment_from": 5180,
    "fragment_to": 5224,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/jagiellonia-bialystok/europa-league/preview/jagiellonia-vs-anderlecht-prediction-team-news-lineups_607299.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7a469438af53ad4335684a69d96ce0f0cb52460388584e8c3c6039fad98bf4db",
     "material_removed": false
    },
    "published_at": "2026-10-20T14:01:03.000Z",
    "detected_at": "2026-10-20T15:10:08.932Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7c076b290dd2",
     "display_name": "Jagiellonia — Anderlecht",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/jagiellonia-vs-anderlecht-2026-10-22/",
     "scoreline": "0-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Jagiellonia 1-1 Anderlecht",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-20T14:01:03.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-20T14:01:03.000Z",
     "detected_at": "2026-10-20T15:10:08.932Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Jagiellonia 1-1 Anderlecht",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Jagiellonia 1-1 Anderlecht"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Jagiellonia 0-3 Anderlecht."
    },
    "settlements": [
     {
      "operation_id": "4f004f95e12583adf9e4496ca1cc1a4d459389a540daca6d8c2b0a2d0525bb66",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-27T02:22:10.466Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/jagiellonia-bialystok/europa-league/preview/jagiellonia-vs-anderlecht-prediction-team-news-lineups_607299.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Jagiellonia 1-1 Anderlecht"
   }
  },
  {
   "record_id": "n-8f6879bddd0d2da555bca1f0",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-8f6879bddd0d2da555bca1f0",
   "match": "Falkirk v Kilmarnock",
   "match_url": null,
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "Scottish Premiership",
   "lead_hours": 61.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Falkirk 2-1 Kilmarnock",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-21T23:21:00.000Z",
   "recorded_at": "2026-10-22T00:09:59.844Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8f6879bddd0d2da555bca1f0",
    "quote_text": "We say: Falkirk 2-1 Kilmarnock",
    "fragment_from": 5149,
    "fragment_to": 5179,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/falkirk/preview/falkirk-vs-kilmarnock-prediction-team-news-lineups_607394.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "141c1862b3bddcfb4016730b37442d85f24ccd887747f295d9afb4f2e2081254",
     "material_removed": false
    },
    "published_at": "2026-10-21T23:21:00.000Z",
    "detected_at": "2026-10-22T00:09:59.844Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "ambiguous",
    "event": {
     "event_id": "s-b1e6c53a1f77",
     "display_name": "Falkirk — Kilmarnock",
     "competition_name": "Scottish Premiership",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": null,
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Falkirk 2-1 Kilmarnock",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-21T23:21:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T23:21:00.000Z",
     "detected_at": "2026-10-22T00:09:59.844Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Falkirk 2-1 Kilmarnock",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Falkirk 2-1 Kilmarnock"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Falkirk 3-0 Kilmarnock."
    },
    "settlements": [
     {
      "operation_id": "ce79bc3a9155e85ad7f542d3eed15fa683305a248f3a5d2540ce35542fb85c2c",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Falkirk",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/falkirk/preview/falkirk-vs-kilmarnock-prediction-team-news-lineups_607394.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Falkirk 2-1 Kilmarnock"
   }
  },
  {
   "record_id": "n-14cf238cc6101a361c36d380",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-14cf238cc6101a361c36d380",
   "match": "Cambridge United v Plymouth Argyle",
   "match_url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 44.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Cambridge United",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "2.3800",
   "published_at": "2026-10-22T15:03:58.000Z",
   "recorded_at": "2026-10-22T17:10:12.347Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.3800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-14cf238cc6101a361c36d380",
    "quote_text": "we are still backing the hosts to take all of the points on Saturday afternoon",
    "fragment_from": 5321,
    "fragment_to": 5399,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
     "material_removed": false
    },
    "published_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "executed_at": "2026-10-24T00:49:45.462Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0cb9d015622a",
     "display_name": "Cambridge United — Plymouth Argyle",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Cambridge United",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "2.3800",
     "our_snapshot_at": "2026-10-22T17:09:40.023Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T15:03:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T15:03:58.000Z",
     "detected_at": "2026-10-22T17:10:12.347Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Cambridge United",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Cambridge United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Cambridge United 2-3 Plymouth Argyle."
    },
    "settlements": [
     {
      "operation_id": "fd774903b03eea226c412e5a0f20c6aa7bc0acd52df3293b866e763609e5e4ff",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Cambridge United",
      "decimal_odds": "2.3800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:49:45.462Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cambridge United to win"
   }
  },
  {
   "record_id": "n-b881a2d36104172a8d580a19",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-b881a2d36104172a8d580a19",
   "match": "Cambridge United v Plymouth Argyle",
   "match_url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "EFL League One",
   "lead_hours": 44.8,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Cambridge United 2-1 Plymouth Argyle",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-22T15:03:58.000Z",
   "recorded_at": "2026-10-22T17:10:12.347Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.3800",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-b881a2d36104172a8d580a19",
    "quote_text": "We say: Cambridge United 2-1 Plymouth Argyle",
    "fragment_from": 4993,
    "fragment_to": 5037,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "2ccb5f835832373c4adf86e8774464ba31de739bc34b853897e74f848a6d6b8c",
     "material_removed": false
    },
    "published_at": "2026-10-22T15:03:58.000Z",
    "detected_at": "2026-10-22T17:10:12.347Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0cb9d015622a",
     "display_name": "Cambridge United — Plymouth Argyle",
     "competition_name": "EFL League One",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/cambridge-united-vs-plymouth-argyle-2026-10-24/",
     "scoreline": "2-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Cambridge United 2-1 Plymouth Argyle",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-22T15:03:58.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-22T15:03:58.000Z",
     "detected_at": "2026-10-22T17:10:12.347Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Cambridge United 2-1 Plymouth Argyle",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Cambridge United 2-1 Plymouth Argyle"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Cambridge United 2-3 Plymouth Argyle."
    },
    "settlements": [
     {
      "operation_id": "19551e560ff3f4a3337b3b461e0a65982bbfc2ef5ade518d85ddd29ec2924339",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Cambridge United",
      "decimal_odds": "2.3800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T00:49:45.446Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/cambridge-united/preview/cambridge-vs-plymouth-prediction-team-news-lineups_607395.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Cambridge United 2-1 Plymouth Argyle"
   }
  },
  {
   "record_id": "n-28fa0819c9ff181593f7386e",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-28fa0819c9ff181593f7386e",
   "match": "Olympique de Marseille v Le Havre",
   "match_url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
   "kickoff": "2026-10-25T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 53.1,
   "market_code": "1x2",
   "author_said": "1X2, match result: Olympique de Marseille",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "4-3",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 5495,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": null,
   "settled_price": "1.5495",
   "published_at": "2026-10-23T10:39:06.000Z",
   "recorded_at": "2026-10-23T11:10:11.382Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.5495",
    "result": "Won",
    "points_hundredths": 5495,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-28fa0819c9ff181593f7386e",
    "quote_text": "we are backing them to win their third Ligue 1 match on the trot this weekend.",
    "fragment_from": 5393,
    "fragment_to": 5471,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0c079377fb16bb72a612ce123fea811b9386b4de81e8dff01d85288886ecd713",
     "material_removed": false
    },
    "published_at": "2026-10-23T10:39:06.000Z",
    "detected_at": "2026-10-23T11:10:11.382Z",
    "executed_at": "2026-10-24T09:35:11.769Z",
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-170bec757c5c",
     "display_name": "Olympique de Marseille — Le Havre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
     "scoreline": "4-3",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Olympique de Marseille",
    "odds_set": {
     "by_author": null,
     "our_snapshot": "1.5495",
     "our_snapshot_at": "2026-10-23T11:06:15.078Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 5495,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T10:39:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T10:39:06.000Z",
     "detected_at": "2026-10-23T11:10:11.382Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Olympique de Marseille",
     "author_odds": null,
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Olympique de Marseille"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "4-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Olympique de Marseille 4-3 Le Havre."
    },
    "settlements": [
     {
      "operation_id": "5badbe5ea4201ca0493614ac129df1bf80fb3a70556ce692d780c35c4219393e",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Olympique de Marseille",
      "decimal_odds": "1.5495",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5495,
      "executed_at": "2026-10-24T09:35:11.769Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille to win"
   }
  },
  {
   "record_id": "n-67599dc2631f10445a18ff2e",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-67599dc2631f10445a18ff2e",
   "match": "Olympique de Marseille v Le Havre",
   "match_url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
   "kickoff": "2026-10-25T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 53.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Olympique de Marseille 3-0 Le Havre",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-3",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T10:39:06.000Z",
   "recorded_at": "2026-10-23T11:10:11.382Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.5495",
    "result": "Won",
    "points_hundredths": 5495,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-67599dc2631f10445a18ff2e",
    "quote_text": "We say: Marseille 3-0 Le Havre",
    "fragment_from": 5043,
    "fragment_to": 5073,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0c079377fb16bb72a612ce123fea811b9386b4de81e8dff01d85288886ecd713",
     "material_removed": false
    },
    "published_at": "2026-10-23T10:39:06.000Z",
    "detected_at": "2026-10-23T11:10:11.382Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-170bec757c5c",
     "display_name": "Olympique de Marseille — Le Havre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/olympique-de-marseille-vs-le-havre-2026-10-25/",
     "scoreline": "4-3",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Olympique de Marseille 3-0 Le Havre",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T10:39:06.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T10:39:06.000Z",
     "detected_at": "2026-10-23T11:10:11.382Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Olympique de Marseille 3-0 Le Havre",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Olympique de Marseille 3-0 Le Havre"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-3",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Olympique de Marseille 4-3 Le Havre."
    },
    "settlements": [
     {
      "operation_id": "aa2d48405e5e6051f8cac56be20d512142ff6a9d90701bd0a608100ab4a99e3e",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Olympique de Marseille",
      "decimal_odds": "1.5495",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5495,
      "executed_at": "2026-10-24T09:35:11.751Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/marseille/preview/marseille-vs-le-havre-prediction-team-news-lineups_607539.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Olympique de Marseille 3-0 Le Havre"
   }
  },
  {
   "record_id": "n-ecc6885c0179615bdfe86246",
   "url": "/authors/freddie-cotton/picks/2/#pick-n-ecc6885c0179615bdfe86246",
   "match": "Angers v Lorient",
   "match_url": "/football/matches/angers-vs-lorient-2026-10-25/",
   "kickoff": "2026-10-25T16:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 50.1,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Angers 0-1 Lorient",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T13:49:30.000Z",
   "recorded_at": "2026-10-23T14:10:16.049Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.4000",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-ecc6885c0179615bdfe86246",
    "quote_text": "We say: Angers 0-1 Lorient",
    "fragment_from": 4589,
    "fragment_to": 4615,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-lorient-prediction-team-news-lineups_607540.html",
     "display_name": null,
     "speaker": "Freddie Cotton",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "71e0c51a69cdc68cc3a021bdf1ee8c71cdd53a0a37affae965ba1ff5fd6495e2",
     "material_removed": false
    },
    "published_at": "2026-10-23T13:49:30.000Z",
    "detected_at": "2026-10-23T14:10:16.049Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-d7bdeb5c972b",
     "display_name": "Angers — Lorient",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-25T16:15:00.000Z",
     "url": "/football/matches/angers-vs-lorient-2026-10-25/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Angers 0-1 Lorient",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T13:49:30.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T13:49:30.000Z",
     "detected_at": "2026-10-23T14:10:16.049Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Angers 0-1 Lorient",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Angers 0-1 Lorient"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Angers 0-0 Lorient."
    },
    "settlements": [
     {
      "operation_id": "858012fcabd502ff865fb05e97978678b8ff7c4f33ab60e03a5534f83ceb80ad",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Lorient",
      "decimal_odds": "2.4000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-24T09:33:52.710Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Freddie Cotton",
     "publisher": "Sports Mole",
     "forecaster": "Freddie Cotton",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/angers/preview/angers-vs-lorient-prediction-team-news-lineups_607540.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Angers 0-1 Lorient"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 32,
  "pages": 3,
  "page_urls": [
   "/authors/freddie-cotton/",
   "/authors/freddie-cotton/picks/2/",
   "/authors/freddie-cotton/picks/3/"
  ],
  "groups": {
   "settled": 3,
   "pending": 0,
   "excluded": 29
  },
  "continuation": "by_time",
  "page": 2,
  "first": 1,
  "last": 20,
  "author_url": "/authors/freddie-cotton/",
  "current": false
 },
 "entity_id": "history:/authors/freddie-cotton/picks/2/",
 "source_revision": 17
}
