{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/joel-lefevre/picks/2/",
 "canonical": "/authors/joel-lefevre/picks/2/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Joel Lefevre — football predictions, page 2 of 5",
 "description": "Predictions 1–20 of 63 by Joel Lefevre, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 2 of 5 of the predictions by Joel Lefevre recorded by Forecast Record: predictions 1–20 of 63 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": "63",
  "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:07:51.685Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "07567f927fe82e6fc445508e3d8b585aef5f5f903655f6a91dcb856633a09cbf",
 "dependency_group": "author:e-aef77d241797d8716c6a7ee2",
 "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/joel-lefevre/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-aef77d241797d8716c6a7ee2",
  "public_name": "Joel Lefevre",
  "tracker_number": 1378,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-09-27",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-29970273cec5eab6992440dd",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-29970273cec5eab6992440dd",
   "match": "Mexico v Peru",
   "match_url": "/football/matches/mexico-vs-peru-2026-09-30/",
   "kickoff": "2026-09-30T01:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 53.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Mexico 1-0 Peru",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T18:39:39.000Z",
   "recorded_at": "2026-09-27T19:04:36.228Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-29970273cec5eab6992440dd",
    "quote_text": "We say: Team Mexico 1-0 Peru",
    "fragment_from": 3497,
    "fragment_to": 3525,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/mexico/international-friendlies-predictions/news/mexico-vs-peru-prediction-team-news-lineups_605892.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "3f02fdde97a277ffd26df03ecd262c521445b0afff01b0cf9fe743be2b72ac95",
     "material_removed": false
    },
    "published_at": "2026-09-27T18:39:39.000Z",
    "detected_at": "2026-09-27T19:04:36.228Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f87a3577ee0b",
     "display_name": "Mexico — Peru",
     "competition_name": "International Soccer",
     "starts_at": "2026-09-30T01:00:00.000Z",
     "url": "/football/matches/mexico-vs-peru-2026-09-30/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Mexico 1-0 Peru",
    "odds_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-09-27T18:39:39.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-27T18:39:39.000Z",
     "detected_at": "2026-09-27T19:04:36.228Z",
     "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": "Mexico 1-0 Peru",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Mexico 1-0 Peru"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Mexico 1-1 Peru."
    },
    "settlements": [
     {
      "operation_id": "571a0a6e874d099a5d8f53f46a892c3a6507855ccb7e3deb77d9fdb433691a80",
      "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": "Mexico",
      "decimal_odds": "1.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-09-29T01:07:20.242Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "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/mexico/international-friendlies-predictions/news/mexico-vs-peru-prediction-team-news-lineups_605892.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Mexico 1-0 Peru"
   }
  },
  {
   "record_id": "n-b29994b92a3677f16c5ceff9",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-b29994b92a3677f16c5ceff9",
   "match": "USA v Chile",
   "match_url": "/football/matches/usa-vs-chile-2026-09-30/",
   "kickoff": "2026-09-30T00:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 52.9,
   "market_code": "correct_score_market",
   "author_said": "Correct score: USA 2-0 Chile",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-2",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-09-27T18:34:28.000Z",
   "recorded_at": "2026-09-27T19:04:36.314Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b29994b92a3677f16c5ceff9",
    "quote_text": "We say: USA 2-0 Chile",
    "fragment_from": 3317,
    "fragment_to": 3338,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/usa/international-friendlies-predictions/preview/usa-vs-chile-prediction-team-news-lineups_605891.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "21ad47607361124fb5e2a0e46f10662bd4ac6a603658a025ba603d03d5c8400a",
     "material_removed": false
    },
    "published_at": "2026-09-27T18:34:28.000Z",
    "detected_at": "2026-09-27T19:04:36.314Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c4758ee87917",
     "display_name": "USA — Chile",
     "competition_name": "International Soccer",
     "starts_at": "2026-09-30T00:00:00.000Z",
     "url": "/football/matches/usa-vs-chile-2026-09-30/",
     "scoreline": "4-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "USA 2-0 Chile",
    "odds_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-09-27T18:34:28.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-09-27T18:34:28.000Z",
     "detected_at": "2026-09-27T19:04:36.314Z",
     "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": "USA 2-0 Chile",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: USA 2-0 Chile"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was USA 4-2 Chile."
    },
    "settlements": [
     {
      "operation_id": "0834bcdabc45c105a8ba434dfcba5a1416bc79c6bcb7823d195739d31b14e30a",
      "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": "USA",
      "decimal_odds": "1.4292",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4292,
      "executed_at": "2026-09-29T02:27:21.497Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "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/usa/international-friendlies-predictions/preview/usa-vs-chile-prediction-team-news-lineups_605891.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "USA 2-0 Chile"
   }
  },
  {
   "record_id": "n-3effa33620d2e814d238001e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Belize 1-1 Saint Vincent & the Grenadines",
   "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-28T14:32:00.000Z",
   "recorded_at": "2026-09-28T15:02:01.108Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-bdecbf5e6f47aeda6a40636f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Nicaragua 1-4 Costa Rica",
   "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-29T01:27:14.000Z",
   "recorded_at": "2026-09-29T02:07:29.899Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-66a3e9f1fbcc13970c4d15fb",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Curacao 3-1 Trinidad and Tobago",
   "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-29T01:20:55.000Z",
   "recorded_at": "2026-09-29T02:07:30.061Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-301d93aeba8b253afc1a9c78",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: El Salvador 0-1 Jamaica",
   "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-29T22:15:19.000Z",
   "recorded_at": "2026-09-29T23:07:03.277Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-0b8d4be95387130637261c49",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-0b8d4be95387130637261c49",
   "match": "USA v Mexico",
   "match_url": "/football/matches/usa-vs-mexico-2026-10-04/",
   "kickoff": "2026-10-04T02:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 52.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: USA 1-1 Mexico",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "3-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T21:39:05.000Z",
   "recorded_at": "2026-10-01T22:02:35.258Z",
   "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.4450",
    "result": "Won",
    "points_hundredths": 14450,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-0b8d4be95387130637261c49",
    "quote_text": "We say: USA 1-1 Mexico",
    "fragment_from": 4071,
    "fragment_to": 4093,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/usa/international-friendlies-predictions/preview/usa-vs-mexico-prediction-team-news-lineups_606096.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "0671d299143b9be1713df9da7ac61926c16d82ce00774ec1a0e434aeaca6b839",
     "material_removed": false
    },
    "published_at": "2026-10-01T21:39:05.000Z",
    "detected_at": "2026-10-01T22:02:35.258Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c48f8dc9b5a1",
     "display_name": "USA — Mexico",
     "competition_name": "International Soccer",
     "starts_at": "2026-10-04T02:00:00.000Z",
     "url": "/football/matches/usa-vs-mexico-2026-10-04/",
     "scoreline": "3-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "USA 1-1 Mexico",
    "odds_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-01T21:39:05.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-01T21:39:05.000Z",
     "detected_at": "2026-10-01T22:02:35.258Z",
     "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": "USA 1-1 Mexico",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: USA 1-1 Mexico"
    },
    "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 USA 3-0 Mexico."
    },
    "settlements": [
     {
      "operation_id": "c21757120e957b17b3c9c14ca6d0ba8a746a9117644919f191cc49f6a2e542a4",
      "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.3850",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-04T00:34:48.794Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "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/usa/international-friendlies-predictions/preview/usa-vs-mexico-prediction-team-news-lineups_606096.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "USA 1-1 Mexico"
   }
  },
  {
   "record_id": "n-a142071afa82d8606aa98930",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-a142071afa82d8606aa98930",
   "match": "Canada v Peru",
   "match_url": "/football/matches/canada-vs-peru-2026-10-03/",
   "kickoff": "2026-10-03T18:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 44.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Canada 1-0 Peru",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-01T21:31:53.000Z",
   "recorded_at": "2026-10-01T22:02:35.610Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a142071afa82d8606aa98930",
    "quote_text": "We say: Canada 1-0 Peru",
    "fragment_from": 3752,
    "fragment_to": 3775,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/canada/international-friendlies-predictions/preview/canada-vs-peru-prediction-team-news-lineups_606095.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "21ce6334e452ac9a252957b0a123ef37f4d35b80f80660cac7cb31377ffe00e5",
     "material_removed": false
    },
    "published_at": "2026-10-01T21:31:53.000Z",
    "detected_at": "2026-10-01T22:02:35.610Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-94b8d22c1cb8",
     "display_name": "Canada — Peru",
     "competition_name": "International Soccer",
     "starts_at": "2026-10-03T18:00:00.000Z",
     "url": "/football/matches/canada-vs-peru-2026-10-03/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Canada 1-0 Peru",
    "odds_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-01T21:31:53.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-01T21:31:53.000Z",
     "detected_at": "2026-10-01T22:02:35.610Z",
     "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": "Canada 1-0 Peru",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "1-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Canada 1-0 Peru"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Canada 2-0 Peru."
    },
    "settlements": [
     {
      "operation_id": "4056784618878462dee9f8c6f38c6267beb20020199b2e6fe28a9520b94e6678",
      "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": "Canada",
      "decimal_odds": "1.5780",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 5780,
      "executed_at": "2026-10-01T22:34:17.417Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "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/canada/international-friendlies-predictions/preview/canada-vs-peru-prediction-team-news-lineups_606095.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Canada 1-0 Peru"
   }
  },
  {
   "record_id": "n-ef2337ba49be993b6f7e7187",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Trinidad and Tobago 1-1 Curacao",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T01:45:04.000Z",
   "recorded_at": "2026-10-02T02:03:46.552Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-b0574473aa6ab4c298e4d858",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Costa Rica 1-2 Haiti",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T19:52:25.000Z",
   "recorded_at": "2026-10-02T20:03:48.609Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-a77be795cc744bae54341278",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Nicaragua 1-2 Dominican Republic",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-02T19:49:05.000Z",
   "recorded_at": "2026-10-02T20:03:49.123Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-55c2989f374ace02e30b8d32",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Honduras 1-2 Jamaica",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T18:05:26.000Z",
   "recorded_at": "2026-10-03T19:03:11.754Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-5b3d24216a52b6a1efd1cbcc",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Guatemala 2-1 Suriname",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T19:41:25.000Z",
   "recorded_at": "2026-10-03T20:03:25.070Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-9eb75008ee94e7f19cd83de4",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "We say: Martinique 0-0 El Salvador",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "national-team match (Nations League, qualifiers, continental cups)",
   "reason_code": "outside_coverage",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-03T19:36:08.000Z",
   "recorded_at": "2026-10-03T20:03:26.280Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null
  },
  {
   "record_id": "n-3d2e4ca7247ec2903f26d6e4",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-3d2e4ca7247ec2903f26d6e4",
   "match": "USA v Canada",
   "match_url": "/football/matches/usa-vs-canada-2026-10-07/",
   "kickoff": "2026-10-07T00:00:00.000Z",
   "competition": "International Soccer",
   "lead_hours": 51.0,
   "market_code": "correct_score_market",
   "author_said": "Correct score: USA 2-1 Canada",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-04T16:34:00.000Z",
   "recorded_at": "2026-10-04T21:01:52.702Z",
   "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.0200",
    "result": "Won",
    "points_hundredths": 10200,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-3d2e4ca7247ec2903f26d6e4",
    "quote_text": "We say: USA 2-1 Canada",
    "fragment_from": 4069,
    "fragment_to": 4091,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/usa/international-friendlies-predictions/preview/usa-vs-canada-prediction-team-news-lineups_606221.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "f59f1bbd7c04ca6f748a9814bf0e3e260b8ad6a7d1d506407b59cf67fd1e0c41",
     "material_removed": false
    },
    "published_at": "2026-10-04T16:34:00.000Z",
    "detected_at": "2026-10-04T21:01:52.702Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-eb4187e5e792",
     "display_name": "USA — Canada",
     "competition_name": "International Soccer",
     "starts_at": "2026-10-07T00:00:00.000Z",
     "url": "/football/matches/usa-vs-canada-2026-10-07/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "USA 2-1 Canada",
    "odds_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-04T16:34:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-04T16:34:00.000Z",
     "detected_at": "2026-10-04T21:01:52.702Z",
     "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": "USA 2-1 Canada",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: USA 2-1 Canada"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was USA 1-0 Canada."
    },
    "settlements": [
     {
      "operation_id": "9efef60ee62bbedfdd16f3121a762201ce7de53ebcc1c467832e8f4c071f54e0",
      "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": "USA",
      "decimal_odds": "2.0200",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 10200,
      "executed_at": "2026-10-05T04:34:35.922Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "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/usa/international-friendlies-predictions/preview/usa-vs-canada-prediction-team-news-lineups_606221.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "USA 2-1 Canada"
   }
  },
  {
   "record_id": "n-4b2d2af8e8a6326d18054e2f",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-4b2d2af8e8a6326d18054e2f",
   "match": "Stade Brestois v Angers",
   "match_url": "/football/matches/stade-brestois-vs-angers-2026-10-10/",
   "kickoff": "2026-10-10T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 69.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Stade Brestois 0-0 Angers",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "5-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-07T20:20:00.000Z",
   "recorded_at": "2026-10-07T21:07:15.238Z",
   "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.9524",
    "result": "Won",
    "points_hundredths": 9524,
    "picked_favourite": false
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4b2d2af8e8a6326d18054e2f",
    "quote_text": "We say: Brest 0-0 Angers",
    "fragment_from": 3631,
    "fragment_to": 3655,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/brest/preview/brest-vs-angers-prediction-team-news-lineups_606404.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "20613b3e90d2fadf78a2077582b1c952709a0a3ab7915ac43bd598fe4ddc9304",
     "material_removed": false
    },
    "published_at": "2026-10-07T20:20:00.000Z",
    "detected_at": "2026-10-07T21:07:15.238Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4673f9982057",
     "display_name": "Stade Brestois — Angers",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-10T18:45:00.000Z",
     "url": "/football/matches/stade-brestois-vs-angers-2026-10-10/",
     "scoreline": "5-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Stade Brestois 0-0 Angers",
    "odds_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-07T20:20:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T20:20:00.000Z",
     "detected_at": "2026-10-07T21:07:15.238Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Stade Brestois 0-0 Angers",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Stade Brestois 0-0 Angers"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "5-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Stade Brestois 5-1 Angers."
    },
    "settlements": [
     {
      "operation_id": "bae919a0170234736252127a6a6ddd9a787cbac4380576d8485f32bb805674b3",
      "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.6000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-10T23:35:09.847Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "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/brest/preview/brest-vs-angers-prediction-team-news-lineups_606404.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Stade Brestois 0-0 Angers"
   }
  },
  {
   "record_id": "n-ed714bab72bcea5af2840421",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-ed714bab72bcea5af2840421",
   "match": "Inter Miami CF v DC United",
   "match_url": "/football/matches/inter-miami-cf-vs-dc-united-2026-10-10/",
   "kickoff": "2026-10-10T23:30:00.000Z",
   "competition": "MLS",
   "lead_hours": 74.4,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Inter Miami CF 2-1 DC United",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-07T20:15:39.000Z",
   "recorded_at": "2026-10-07T21:07:16.414Z",
   "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.3636",
    "result": "Won",
    "points_hundredths": 3636,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ed714bab72bcea5af2840421",
    "quote_text": "We say: Inter Miami 2-1 DC United",
    "fragment_from": 3960,
    "fragment_to": 3993,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/inter-miami/preview/inter-miami-vs-dc-united-prediction-team-news-lineups_606403.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d89dedccabfe3dd239eb55399e46cdec247af16808d2d891e6acf07929cf1402",
     "material_removed": false
    },
    "published_at": "2026-10-07T20:15:39.000Z",
    "detected_at": "2026-10-07T21:07:16.414Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-f1cd90c10693",
     "display_name": "Inter Miami CF — DC United",
     "competition_name": "MLS",
     "starts_at": "2026-10-10T23:30:00.000Z",
     "url": "/football/matches/inter-miami-cf-vs-dc-united-2026-10-10/",
     "scoreline": "4-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Inter Miami CF 2-1 DC 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": "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-07T20:15:39.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T20:15:39.000Z",
     "detected_at": "2026-10-07T21:07:16.414Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Inter Miami CF 2-1 DC United",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Inter Miami CF 2-1 DC United"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Inter Miami CF 4-0 DC United."
    },
    "settlements": [
     {
      "operation_id": "024a5dc82065c8e0dcee13b22b4784f1722db9366626c7401a75d44e3ab27a59",
      "series_key": "derived_series",
      "series_label": "Forecast Record reconstruction from the predicted score",
      "derived": true,
      "site_simulation": true,
      "author_words": false,
      "market_label": "1X2, match result",
      "choice": "Inter Miami CF",
      "decimal_odds": "1.3636",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 3636,
      "executed_at": "2026-10-10T23:35:09.842Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/inter-miami/preview/inter-miami-vs-dc-united-prediction-team-news-lineups_606403.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Inter Miami CF 2-1 DC United"
   }
  },
  {
   "record_id": "n-cfa5c65f7894901dabf69e33",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-cfa5c65f7894901dabf69e33",
   "match": "Monaco v Toulouse",
   "match_url": "/football/matches/monaco-vs-toulouse-2026-10-10/",
   "kickoff": "2026-10-10T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 68.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Monaco 3-2 Toulouse",
   "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-07T21:26:22.000Z",
   "recorded_at": "2026-10-07T22:07:37.168Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-cfa5c65f7894901dabf69e33",
    "quote_text": "We say: Monaco 3-2 Toulouse",
    "fragment_from": 4095,
    "fragment_to": 4122,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/as-monaco/preview/monaco-vs-toulouse-prediction-team-news-lineups_606406.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "df791da0ad45cf95ac87956b89acfe4488a12e9677709a03a204bd22e019cce3",
     "material_removed": false
    },
    "published_at": "2026-10-07T21:26:22.000Z",
    "detected_at": "2026-10-07T22:07:37.168Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-7c217a8de695",
     "display_name": "Monaco — Toulouse",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-10T18:45:00.000Z",
     "url": "/football/matches/monaco-vs-toulouse-2026-10-10/",
     "scoreline": "2-2",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Monaco 3-2 Toulouse",
    "odds_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-07T21:26:22.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T21:26:22.000Z",
     "detected_at": "2026-10-07T22:07:37.168Z",
     "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": "Monaco 3-2 Toulouse",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "3-2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Monaco 3-2 Toulouse"
    },
    "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 Monaco 2-2 Toulouse."
    },
    "settlements": [
     {
      "operation_id": "1ae89ff2371a9c7f3dd4567cb6443e8def4e8501304936f7aaf94f00d2bcbb78",
      "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": "Monaco",
      "decimal_odds": "1.5800",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-22T12:25:11.216Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "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/as-monaco/preview/monaco-vs-toulouse-prediction-team-news-lineups_606406.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Monaco 3-2 Toulouse"
   }
  },
  {
   "record_id": "n-dd8b459e21efff5a5517ecce",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-dd8b459e21efff5a5517ecce",
   "match": "Lorient v Paris FC",
   "match_url": "/football/matches/lorient-vs-paris-fc-2026-10-10/",
   "kickoff": "2026-10-10T18:45:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 68.6,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Lorient 0-1 Paris FC",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-07T21:20:00.000Z",
   "recorded_at": "2026-10-07T22:07:38.182Z",
   "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.2500",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-dd8b459e21efff5a5517ecce",
    "quote_text": "We say: Lorient 0-1 Paris FC",
    "fragment_from": 3641,
    "fragment_to": 3669,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/lorient/preview/lorient-vs-paris-fc-prediction-team-news-lineups_606405.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "fb9e68858e7ebc9597c63dab30f0150a4427d6c1603863592f2d4142fbdb03fa",
     "material_removed": false
    },
    "published_at": "2026-10-07T21:20:00.000Z",
    "detected_at": "2026-10-07T22:07:38.182Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-263d3387aa5a",
     "display_name": "Lorient — Paris FC",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-10T18:45:00.000Z",
     "url": "/football/matches/lorient-vs-paris-fc-2026-10-10/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Lorient 0-1 Paris FC",
    "odds_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-07T21:20:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-07T21:20:00.000Z",
     "detected_at": "2026-10-07T22:07:38.182Z",
     "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": "Lorient 0-1 Paris FC",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "0-1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Lorient 0-1 Paris FC"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Lorient 1-0 Paris FC."
    },
    "settlements": [
     {
      "operation_id": "6210d886f550dc5d14fefed5818917d16b1958971e24059a118b6bc269cd71c4",
      "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": "Paris FC",
      "decimal_odds": "2.2500",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-10T23:35:09.826Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "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/lorient/preview/lorient-vs-paris-fc-prediction-team-news-lineups_606405.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Lorient 0-1 Paris FC"
   }
  },
  {
   "record_id": "n-576faeabed7c005b95ca555b",
   "url": "/authors/joel-lefevre/picks/2/#pick-n-576faeabed7c005b95ca555b",
   "match": "Stade Rennais v Auxerre",
   "match_url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
   "kickoff": "2026-10-11T15:15:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 61.2,
   "market_code": "correct_score_market",
   "author_said": "Correct score: Stade Rennais 2-0 Auxerre",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "4-1",
   "reason": "score forecast without a price, graded against the final score",
   "reason_code": "score_without_price",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-09T01:19:00.000Z",
   "recorded_at": "2026-10-09T02:05:02.684Z",
   "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.4202",
    "result": "Won",
    "points_hundredths": 4202,
    "picked_favourite": true
   },
   "platform": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-576faeabed7c005b95ca555b",
    "quote_text": "We say: Rennes 2-0 Auxerre",
    "fragment_from": 3400,
    "fragment_to": 3426,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-auxerre-prediction-team-news-lineups_606520.html",
     "display_name": null,
     "speaker": "Joel Lefevre",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "c49b80b71b3fdaedab1b722d9e7cb151ccba223c68568e368012f8c86cc4c4a1",
     "material_removed": false
    },
    "published_at": "2026-10-09T01:19:00.000Z",
    "detected_at": "2026-10-09T02:05:02.684Z",
    "executed_at": null,
    "statement_class": "score_forecast",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-8736de637615",
     "display_name": "Stade Rennais — Auxerre",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-11T15:15:00.000Z",
     "url": "/football/matches/stade-rennais-vs-auxerre-2026-10-11/",
     "scoreline": "4-1",
     "condition": "finished"
    },
    "market_label": "Correct score",
    "outcome_label": "Stade Rennais 2-0 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-09T01:19:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-09T01:19:00.000Z",
     "detected_at": "2026-10-09T02:05:02.684Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "Correct score",
     "choice": "Stade Rennais 2-0 Auxerre",
     "author_odds": null,
     "market_key": "correct_score_market",
     "choice_key": "2-0",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Correct score: Stade Rennais 2-0 Auxerre"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "4-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Did not match: the final score was Stade Rennais 4-1 Auxerre."
    },
    "settlements": [
     {
      "operation_id": "e5a8e10b883a2fa43df50caecf3a1081354f0934336375e763c55dcfa44f1dc3",
      "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": "Stade Rennais",
      "decimal_odds": "1.4202",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 4202,
      "executed_at": "2026-10-10T23:35:07.549Z",
      "methodology_version": "2.2",
      "on_claim_market": false,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joel Lefevre",
     "publisher": "Sports Mole",
     "forecaster": "Joel Lefevre",
     "forecaster_named_in_text": false,
     "basis": null,
     "status": "not_named",
     "status_words": "Attributed by the byline",
     "status_note": "The source does not name a separate tipster, so the selection is attributed to the byline or channel owner.",
     "evidence_fragment": null,
     "material_url": "https://www.sportsmole.co.uk/football/rennes/preview/rennes-vs-auxerre-prediction-team-news-lineups_606520.html",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Stade Rennais 2-0 Auxerre"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 63,
  "pages": 5,
  "page_urls": [
   "/authors/joel-lefevre/",
   "/authors/joel-lefevre/picks/2/",
   "/authors/joel-lefevre/picks/3/",
   "/authors/joel-lefevre/picks/4/",
   "/authors/joel-lefevre/picks/5/"
  ],
  "groups": {
   "settled": 1,
   "pending": 0,
   "excluded": 62
  },
  "continuation": "by_time",
  "page": 2,
  "first": 1,
  "last": 20,
  "author_url": "/authors/joel-lefevre/",
  "current": false
 },
 "entity_id": "history:/authors/joel-lefevre/picks/2/",
 "source_revision": 51,
 "evidence_extra": [
  {
   "observation_id": "n-07915d3f777b767085ce77fc",
   "quote_text": "We say: Lorient 2-2 Brest",
   "fragment_from": 3643,
   "fragment_to": 3668,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/lorient/preview/lorient-vs-brest-prediction-team-news-lineups_607901.html",
    "display_name": null,
    "speaker": "Joel Lefevre",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "36e204161d717635ada40f57e75b38e9d0388b31f180bfbdcc73f760f47529c0",
    "material_removed": false
   },
   "published_at": "2026-10-28T22:54:00.000Z",
   "detected_at": "2026-11-01T20:35:44.583Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-79e1a08969ba",
    "display_name": "Lorient — Stade Brestois",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-02T19:45:00.000Z",
    "url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Lorient 2-2 Stade Brestois",
   "odds_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-28T22:54:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-28T22:54:00.000Z",
    "detected_at": "2026-11-01T20:35:44.583Z",
    "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": "Lorient 2-2 Stade Brestois",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Lorient 2-2 Stade Brestois"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Lorient 0-2 Stade Brestois."
   },
   "settlements": [
    {
     "operation_id": "89432e4098f3fb3d2bd30ecc42048c90e10e3f3740598b5d0fa85c82eb154f87",
     "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.2500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-02T07:06:34.926Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joel Lefevre",
    "publisher": "Sports Mole",
    "forecaster": "Joel Lefevre",
    "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/lorient/preview/lorient-vs-brest-prediction-team-news-lineups_607901.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null,
   "choice_words": "Lorient 2-2 Stade Brestois"
  },
  {
   "observation_id": "n-30c4ea89e947cce2fbf3b740",
   "quote_text": "We say: Nice 1-2 Rennes",
   "fragment_from": 3802,
   "fragment_to": 3825,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/nice/preview/nice-vs-rennes-prediction-team-news-lineups_607903.html",
    "display_name": null,
    "speaker": "Joel Lefevre",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "380979c5836c47f7f865e2d43182524f6ceb85eab8db7094304c14069d47ce90",
    "material_removed": false
   },
   "published_at": "2026-10-28T23:23:00.000Z",
   "detected_at": "2026-10-29T20:21:06.443Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-ec6fbfaa0001",
    "display_name": "Nice — Stade Rennais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-30T18:00:00.000Z",
    "url": "/football/matches/nice-vs-stade-rennais-2026-10-30/",
    "scoreline": "5-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Nice 1-2 Stade Rennais",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-28T23:23:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-28T23:23:00.000Z",
    "detected_at": "2026-10-29T20:21:06.443Z",
    "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": "Nice 1-2 Stade Rennais",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Nice 1-2 Stade Rennais"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "5-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Nice 5-2 Stade Rennais."
   },
   "settlements": [
    {
     "operation_id": "86634727837a42eb6aaed929a7f6c08325602da3e7d1949fcb2f8c41819b3165",
     "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": "Stade Rennais",
     "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-30T04:36:43.557Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joel Lefevre",
    "publisher": "Sports Mole",
    "forecaster": "Joel Lefevre",
    "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/nice/preview/nice-vs-rennes-prediction-team-news-lineups_607903.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null,
   "choice_words": "Nice 1-2 Stade Rennais"
  },
  {
   "observation_id": "n-2809ee0e983755e208a83d5d",
   "quote_text": "We say: Le Havre 0-2 Paris Saint-Germain",
   "fragment_from": 4095,
   "fragment_to": 4135,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/le-havre/preview/le-havre-vs-psg-prediction-team-news-lineups_607838.html",
    "display_name": null,
    "speaker": "Joel Lefevre",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e3a9ee57a3edd195938be43d926391b61c73007f6ec07d7489a9ff43f977f283",
    "material_removed": false
   },
   "published_at": "2026-10-28T01:49:00.000Z",
   "detected_at": "2026-10-29T20:21:05.024Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-093cac49e8f6",
    "display_name": "Le Havre — Paris Saint-Germain",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-30T18:00:00.000Z",
    "url": "/football/matches/le-havre-vs-paris-saint-germain-2026-10-30/",
    "scoreline": "1-5",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Le Havre 0-2 Paris Saint-Germain",
   "odds_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-28T01:49:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-28T01:49:00.000Z",
    "detected_at": "2026-10-29T20:21:05.024Z",
    "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 0-2 Paris Saint-Germain",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "0-2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Le Havre 0-2 Paris Saint-Germain"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-5",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Le Havre 1-5 Paris Saint-Germain."
   },
   "settlements": [
    {
     "operation_id": "1b2a42509d20f19e2f929346c7e69aa02b8306978cb282b43dafb371f9378a04",
     "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": "Paris Saint-Germain",
     "decimal_odds": "1.2500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 2500,
     "executed_at": "2026-10-30T04:37:22.827Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joel Lefevre",
    "publisher": "Sports Mole",
    "forecaster": "Joel Lefevre",
    "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-psg-prediction-team-news-lineups_607838.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null,
   "choice_words": "Le Havre 0-2 Paris Saint-Germain"
  },
  {
   "observation_id": "n-618e0b11af3b07cb3026ca5c",
   "quote_text": "We say: Paris Saint-Germain 2-1 Lyon",
   "fragment_from": 5582,
   "fragment_to": 5618,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/psg/preview/psg-vs-lyon-prediction-team-news-lineups_607509.html",
    "display_name": null,
    "speaker": "Joel Lefevre",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6bafb9b340ac223ad5f633654270d2efdc2ead7ea05e1126056e95e43ff60587",
    "material_removed": false
   },
   "published_at": "2026-10-23T01:02:00.000Z",
   "detected_at": "2026-10-26T11:05:48.308Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": {
    "event_id": "s-4bf1ea244970",
    "display_name": "Paris Saint-Germain — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-10-26T19:30:00.000Z",
    "url": "/football/matches/paris-saint-germain-vs-olympique-lyonnais-2026-10-26/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Paris Saint-Germain 2-1 Olympique Lyonnais",
   "odds_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-23T01:02:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T01:02:00.000Z",
    "detected_at": "2026-10-26T11:05:48.308Z",
    "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": "Paris Saint-Germain 2-1 Olympique Lyonnais",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Paris Saint-Germain 2-1 Olympique Lyonnais"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Paris Saint-Germain 2-0 Olympique Lyonnais."
   },
   "settlements": [
    {
     "operation_id": "d5f881465ee18a74f9659b36bbe57272171bef06cd653ca0dc2bde6cb3b7b3d6",
     "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": "Paris Saint-Germain",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: repeats another statement",
     "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": "Joel Lefevre",
    "publisher": "Sports Mole",
    "forecaster": "Joel Lefevre",
    "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/psg/preview/psg-vs-lyon-prediction-team-news-lineups_607509.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null,
   "choice_words": "Paris Saint-Germain 2-1 Olympique Lyonnais"
  },
  {
   "observation_id": "n-6120477c35cbd5ed6e7e937f",
   "quote_text": "We say: Sturm Graz 1-1 Marseille",
   "fragment_from": 4299,
   "fragment_to": 4331,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/sturm-graz/europa-league/preview/sturm-graz-vs-marseille-prediction-team-news-lineups_607263.html",
    "display_name": null,
    "speaker": "Joel Lefevre",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "0cdc3bc7466296c35670b867a8b86ed884d3f27c85903b5cf1687551a1231021",
    "material_removed": false
   },
   "published_at": "2026-10-19T21:09:00.000Z",
   "detected_at": "2026-10-22T14:05:47.291Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": {
    "event_id": "s-42828e55f24a",
    "display_name": "Sturm Graz — Olympique de Marseille",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/sturm-graz-vs-olympique-de-marseille-2026-10-22/",
    "scoreline": "1-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Sturm Graz 1-1 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-19T21:09:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-19T21:09:00.000Z",
    "detected_at": "2026-10-22T14:05:47.291Z",
    "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": "Sturm Graz 1-1 Olympique de Marseille",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Sturm Graz 1-1 Olympique de Marseille"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Sturm Graz 1-0 Olympique de Marseille."
   },
   "settlements": [
    {
     "operation_id": "269da40ec0f792f7bcbaa88481eb23d616d9c04a9b7fcc5494f95d489530b651",
     "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": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: repeats another statement",
     "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": "Joel Lefevre",
    "publisher": "Sports Mole",
    "forecaster": "Joel Lefevre",
    "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/sturm-graz/europa-league/preview/sturm-graz-vs-marseille-prediction-team-news-lineups_607263.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null,
   "choice_words": "Sturm Graz 1-1 Olympique de Marseille"
  },
  {
   "observation_id": "n-626403d8ec8f21b3adad6899",
   "quote_text": "We say: Canada 1-0 Peru",
   "fragment_from": 3790,
   "fragment_to": 3813,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://www.sportsmole.co.uk/football/canada/international-friendlies-predictions/preview/canada-vs-peru-prediction-team-news-lineups_606095.html",
    "display_name": null,
    "speaker": "Joel Lefevre",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "fd96f74aa70bfacee5cde1264663eb71527fbfb6b466c8a5d5e26cc45bae4c5d",
    "material_removed": false
   },
   "published_at": "2026-10-01T21:31:00.000Z",
   "detected_at": "2026-10-03T15:09:57.925Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": {
    "event_id": "s-94b8d22c1cb8",
    "display_name": "Canada — Peru",
    "competition_name": "International Soccer",
    "starts_at": "2026-10-03T18:00:00.000Z",
    "url": "/football/matches/canada-vs-peru-2026-10-03/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "Canada 1-0 Peru",
   "odds_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-01T21:31:00.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-01T21:31:00.000Z",
    "detected_at": "2026-10-03T15:09:57.925Z",
    "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": "Canada 1-0 Peru",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "1-0",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Canada 1-0 Peru"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was Canada 2-0 Peru."
   },
   "settlements": [
    {
     "operation_id": "0b1ceca14d99098c9ef5d5a39c6ece2ea59fefa66590eef856cc8787f9b64d07",
     "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": "Canada",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: repeats another statement",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.1",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joel Lefevre",
    "publisher": "Sports Mole",
    "forecaster": "Joel Lefevre",
    "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/canada/international-friendlies-predictions/preview/canada-vs-peru-prediction-team-news-lineups_606095.html",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null,
   "choice_words": "Canada 1-0 Peru"
  }
 ]
}
