{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "history",
 "url": "/authors/carlo-grandi/picks/12/",
 "canonical": "/authors/carlo-grandi/picks/12/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Carlo Grandi — football predictions, page 12 of 17",
 "description": "Predictions 201–220 of 313 by Carlo Grandi, with outcomes in words and links to the evidence.",
 "first_paragraph": {
  "body": "Page 12 of 17 of the predictions by Carlo Grandi recorded by Forecast Record: predictions 201–220 of 313 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": "313",
  "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:10:51.213Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-07T19:52:23.438Z",
 "content_hash": null,
 "meaning_hash": "751a7b29bd7d1886d49b3e688996c3a4f2db33dde1ca371dc8b9142292a76576",
 "dependency_group": "author:e-3142b89923f0c94e4cc2fae8",
 "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/carlo-grandi/picks/12/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-3142b89923f0c94e4cc2fae8",
  "public_name": "Carlo Grandi",
  "tracker_number": 2673,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-10-09",
   "until": "2026-11-07"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "recorded_picks": [
  {
   "record_id": "n-421d4db8618c2f77b3b5184a",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-421d4db8618c2f77b3b5184a",
   "match": "Orgryte IS v Mjällby",
   "match_url": "/football/matches/orgryte-is-vs-mjallby-2026-10-29/",
   "kickoff": "2026-10-29T18:00:00.000Z",
   "competition": "Allsvenskan",
   "lead_hours": 30.9,
   "market_code": "double_chance",
   "author_said": "Double chance: draw or Mjällby",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-28T11:00:00.000Z",
   "recorded_at": "2026-10-28T11:08:52.093Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-421d4db8618c2f77b3b5184a",
    "quote_text": "Preludio ad una gara con non più di 2 gol a referto dalla quale i saliskapet potrebbero trovare almeno un pareggio.",
    "fragment_from": 3639,
    "fragment_to": 3754,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/orgryte-is-mjallby-29-10-2026-formazioni-quote-pronostici-2026-allsvenskan/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "550c1696bf5ab43315bf9c9cb79fac095d78a1d863a95e4e8ee87acf1dd51d86",
     "material_removed": false
    },
    "published_at": "2026-10-28T11:00:00.000Z",
    "detected_at": "2026-10-28T11:08:52.093Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-cba53fe43dcb",
     "display_name": "Orgryte IS — Mjällby",
     "competition_name": "Allsvenskan",
     "starts_at": "2026-10-29T18:00:00.000Z",
     "url": "/football/matches/orgryte-is-vs-mjallby-2026-10-29/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Double chance",
    "outcome_label": "draw or Mjällby",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-28T11:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T11:00:00.000Z",
     "detected_at": "2026-10-28T11:08:52.093Z",
     "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": "Double chance",
     "choice": "draw or Mjällby",
     "author_odds": null,
     "market_key": "double_chance",
     "choice_key": "X2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Double chance: draw or Mjällby"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Orgryte IS 1-2 Mjällby."
    },
    "settlements": [
     {
      "operation_id": "c0b2581f24e9de9f2149e7ca07a8e06238c0d11a891a5bc33f90e03d4e45cbbd",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Double chance",
      "choice": "draw or Mjällby",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/orgryte-is-mjallby-29-10-2026-formazioni-quote-pronostici-2026-allsvenskan/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "draw or Mjällby"
   }
  },
  {
   "record_id": "n-a4ea5f831e9224d00b4df6f2",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-a4ea5f831e9224d00b4df6f2",
   "match": "Orgryte IS v Mjällby",
   "match_url": "/football/matches/orgryte-is-vs-mjallby-2026-10-29/",
   "kickoff": "2026-10-29T18:00:00.000Z",
   "competition": "Allsvenskan",
   "lead_hours": 30.9,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: under 2.5 at 2.08",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.08",
   "settled_price": "2.0700",
   "published_at": "2026-10-28T11:00:00.000Z",
   "recorded_at": "2026-10-28T11:08:52.093Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-a4ea5f831e9224d00b4df6f2",
    "quote_text": "UNDER/OVER 2.5 –> UNDER 888Sport.it 2.08 Bet365.it 2.08 LeoVegas 2.06 Betfair.it Exchange 2.01",
    "fragment_from": 3756,
    "fragment_to": 3850,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/orgryte-is-mjallby-29-10-2026-formazioni-quote-pronostici-2026-allsvenskan/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "550c1696bf5ab43315bf9c9cb79fac095d78a1d863a95e4e8ee87acf1dd51d86",
     "material_removed": false
    },
    "published_at": "2026-10-28T11:00:00.000Z",
    "detected_at": "2026-10-28T11:08:52.093Z",
    "executed_at": "2026-10-28T11:11:14.762Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-cba53fe43dcb",
     "display_name": "Orgryte IS — Mjällby",
     "competition_name": "Allsvenskan",
     "starts_at": "2026-10-29T18:00:00.000Z",
     "url": "/football/matches/orgryte-is-vs-mjallby-2026-10-29/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "under 2.5",
    "odds_set": {
     "by_author": "2.08",
     "our_snapshot": "2.0700",
     "our_snapshot_at": "2026-10-28T11:08:07.857Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-28T11:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T11:00:00.000Z",
     "detected_at": "2026-10-28T11:08:52.093Z",
     "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": "Over/Under 2.5 goals",
     "choice": "under 2.5",
     "author_odds": "2.08",
     "market_key": "total",
     "choice_key": "under",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: under 2.5 at 2.08"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Orgryte IS 1-2 Mjällby."
    },
    "settlements": [
     {
      "operation_id": "b603b6bc64f1373c830ac663d79fb1157ce3699c2405bec1f813686c4aaa4a20",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "2.08",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-28T11:11:14.275Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9f09be764c0de3eae7235059890ae7014f46c127258301ae60458b67c5da36a8",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "under 2.5",
      "decimal_odds": "2.0700",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-28T11:11:14.762Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/orgryte-is-mjallby-29-10-2026-formazioni-quote-pronostici-2026-allsvenskan/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "under 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-dee8db35c3975031ca1b3caa",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-dee8db35c3975031ca1b3caa",
   "match": "Le Havre v Paris Saint-Germain",
   "match_url": "/football/matches/le-havre-vs-paris-saint-germain-2026-10-30/",
   "kickoff": "2026-10-30T18:00:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 48.9,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Paris Saint-Germain win, both teams to score: no at 2.25",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-5",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.25",
   "settled_price": "2.2500",
   "published_at": "2026-10-28T17:00:00.000Z",
   "recorded_at": "2026-10-28T17:08:52.286Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-dee8db35c3975031ca1b3caa",
    "quote_text": "1X2 + GOL/NOGOL –> 2 + NG Snai 2.40 Bet365.it 2.25 Lottomatica 2.25 AdmiralBet 2.25",
    "fragment_from": 4300,
    "fragment_to": 4383,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/le-havre-paris-saint-germain-30-10-2026-formazioni-quote-pronostici-20262027-ligue-1/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "06f24efc1d32e639a7f7330256f7f1cff8df4a57853a8a8275e148955d2490e4",
     "material_removed": false
    },
    "published_at": "2026-10-28T17:00:00.000Z",
    "detected_at": "2026-10-28T17:08:52.286Z",
    "executed_at": "2026-10-28T21:14:43.594Z",
    "statement_class": "priced",
    "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": "Match result and both teams to score",
    "outcome_label": "Paris Saint-Germain win, both teams to score: no",
    "odds_set": {
     "by_author": "2.25",
     "our_snapshot": "2.2500",
     "our_snapshot_at": "2026-10-28T17:08:20.428Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-28T17:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-28T17:00:00.000Z",
     "detected_at": "2026-10-28T17:08:52.286Z",
     "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": "Match result and both teams to score",
     "choice": "Paris Saint-Germain win, both teams to score: no",
     "author_odds": "2.25",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Paris Saint-Germain win, both teams to score: no at 2.25"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-5",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Le Havre 1-5 Paris Saint-Germain."
    },
    "settlements": [
     {
      "operation_id": "47745db875fa2099c50e3bd97c66bc0de0c66915dea8f60b42d4c8280fe6eb63",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Paris Saint-Germain win, both teams to score: no",
      "decimal_odds": "2.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-28T21:14:33.058Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "0acfd3fdcfe61780e378bacd1127e696d226426e83f58d82f32d0727f8282f97",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Paris Saint-Germain win, both teams to score: no",
      "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-28T21:14:43.594Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/le-havre-paris-saint-germain-30-10-2026-formazioni-quote-pronostici-20262027-ligue-1/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Paris Saint-Germain win, both teams to score: no"
   }
  },
  {
   "record_id": "n-6e891563cb50bb451070a782",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "UNDER/OVER 3.5 –> OVER Lottomatica 1.80 Netbet.it 1.78 Bet365.it 1.78 AdmiralBet 1.78",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T11:00:00.000Z",
   "recorded_at": "2026-10-29T11:09:34.685Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-7264aebe206aa1fc6ff93a1c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Ci aspettiamo sicuramente almeno 4 gol a referto ed entrambe le squadre a segno",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T11:00:00.000Z",
   "recorded_at": "2026-10-29T11:09:34.685Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-b9e7cf9ba7cd2e38660b741f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "UNDER/OVER 2.5 + GOL/NOGOL –> GOL + OVER Bet365.it 1.73 Snai 1.72 AdmiralBet 1.70 Starvegas 1.70",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T10:30:00.000Z",
   "recorded_at": "2026-10-29T11:09:36.057Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-f576cec0891b0b812f99d4db",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "DRAW NO BET –> 1 Bet365.it 2.05 AdmiralBet 2.00 Starvegas 2.00 Lottomatica 1.97",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T10:30:00.000Z",
   "recorded_at": "2026-10-29T11:09:36.057Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-048b3fe8697ff1d2d3e3b6a1",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-048b3fe8697ff1d2d3e3b6a1",
   "match": "Konyaspor v Galatasaray",
   "match_url": "/football/matches/konyaspor-vs-galatasaray-2026-10-30/",
   "kickoff": "2026-10-30T17:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 29.8,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: no at 2.15",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-4",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 11000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.15",
   "settled_price": "2.1000",
   "published_at": "2026-10-29T10:00:00.000Z",
   "recorded_at": "2026-10-29T11:09:37.413Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "yes",
    "price": "1.6600",
    "result": "Lost",
    "points_hundredths": -10000,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-048b3fe8697ff1d2d3e3b6a1",
    "quote_text": "GOL/NOGOL –> NOGOL Lottomatica 2.15 Bet365.it 2.10 Snai 2.10 Starvegas 2.05",
    "fragment_from": 4359,
    "fragment_to": 4434,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/konyaspor-galatasaray-30-10-2026-formazioni-quote-pronostici-20262027-super-lig/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "401b86f5bfd4db6419f71ae00e302b7d5176f67f637d76f2ed4a8f75d32e78fd",
     "material_removed": false
    },
    "published_at": "2026-10-29T10:00:00.000Z",
    "detected_at": "2026-10-29T11:09:37.413Z",
    "executed_at": "2026-10-30T13:19:07.956Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ec440a62e25a",
     "display_name": "Konyaspor — Galatasaray",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-30T17:00:00.000Z",
     "url": "/football/matches/konyaspor-vs-galatasaray-2026-10-30/",
     "scoreline": "0-4",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "no",
    "odds_set": {
     "by_author": "2.15",
     "our_snapshot": "2.1000",
     "our_snapshot_at": "2026-10-29T11:06:49.376Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 11000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T10:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T10:00:00.000Z",
     "detected_at": "2026-10-29T11:09:37.413Z",
     "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": "Both teams to score",
     "choice": "no",
     "author_odds": "2.15",
     "market_key": "both_teams_score",
     "choice_key": "no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: no at 2.15"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Konyaspor 0-4 Galatasaray."
    },
    "settlements": [
     {
      "operation_id": "9bba23c258a449c2f0f613e68796ea85d14f2117a16cf9adecf38b4ebf75d0de",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": "2.15",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11500,
      "executed_at": "2026-10-30T13:19:06.847Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "94c3f218387044ad08ff904a733a1dd637ce034bdba6083d4fb5f65b7751c0cb",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "no",
      "decimal_odds": "2.1000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 11000,
      "executed_at": "2026-10-30T13:19:07.956Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/konyaspor-galatasaray-30-10-2026-formazioni-quote-pronostici-20262027-super-lig/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "no (Both teams to score)"
   }
  },
  {
   "record_id": "n-b7244be2b7b821ab45328db4",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-b7244be2b7b821ab45328db4",
   "match": "Konyaspor v Galatasaray",
   "match_url": "/football/matches/konyaspor-vs-galatasaray-2026-10-30/",
   "kickoff": "2026-10-30T17:00:00.000Z",
   "competition": "Süper Lig",
   "lead_hours": 29.8,
   "market_code": "1x2",
   "author_said": "1X2, match result: Galatasaray at 1.65",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "0-4",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6300,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.65",
   "settled_price": "1.6300",
   "published_at": "2026-10-29T10:00:00.000Z",
   "recorded_at": "2026-10-29T11:09:37.413Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-b7244be2b7b821ab45328db4",
    "quote_text": "1X2 FINALE –> 2 Bet365.it 1.65 Snai 1.65 Lottomatica 1.63",
    "fragment_from": 4300,
    "fragment_to": 4357,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/konyaspor-galatasaray-30-10-2026-formazioni-quote-pronostici-20262027-super-lig/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "401b86f5bfd4db6419f71ae00e302b7d5176f67f637d76f2ed4a8f75d32e78fd",
     "material_removed": false
    },
    "published_at": "2026-10-29T10:00:00.000Z",
    "detected_at": "2026-10-29T11:09:37.413Z",
    "executed_at": "2026-11-07T10:37:59.204Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-ec440a62e25a",
     "display_name": "Konyaspor — Galatasaray",
     "competition_name": "Süper Lig",
     "starts_at": "2026-10-30T17:00:00.000Z",
     "url": "/football/matches/konyaspor-vs-galatasaray-2026-10-30/",
     "scoreline": "0-4",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Galatasaray",
    "odds_set": {
     "by_author": "1.65",
     "our_snapshot": "1.6300",
     "our_snapshot_at": "2026-10-29T11:06:49.376Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6300,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T10:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T10:00:00.000Z",
     "detected_at": "2026-10-29T11:09:37.413Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Galatasaray",
     "author_odds": "1.65",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Galatasaray at 1.65"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "0-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Konyaspor 0-4 Galatasaray."
    },
    "settlements": [
     {
      "operation_id": "88fbd50f8482fa3759ae31dc94fd505e98274d8c6425b13a1581306665b01875",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Galatasaray",
      "decimal_odds": "1.65",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6500,
      "executed_at": "2026-11-07T10:37:58.831Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "4b253bad271506e543577329504a35b154f5e3b01d4d9a30d0e9b1722fd0c72a",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Galatasaray",
      "decimal_odds": "1.6300",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6300,
      "executed_at": "2026-11-07T10:37:59.204Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/konyaspor-galatasaray-30-10-2026-formazioni-quote-pronostici-20262027-super-lig/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Galatasaray to win"
   }
  },
  {
   "record_id": "n-3f07ccd8c829470a53d2ab91",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "consigliamo anche la vittoria ospite di misura",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T11:30:00.000Z",
   "recorded_at": "2026-10-29T11:37:32.433Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-d2032c3a908196128a9b962c",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "UNDER/OVER 3.5 –> UNDER LeoVegas 1.71 Bet365.it 1.68 AdmiralBet 1.68 Starvegas 1.68",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T11:30:00.000Z",
   "recorded_at": "2026-10-29T11:37:32.433Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-53fc5259d7ed0c1f7b8b134c",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-53fc5259d7ed0c1f7b8b134c",
   "match": "Zulte-Waregem v Club Brugge KV",
   "match_url": "/football/matches/zulte-waregem-vs-club-brugge-kv-2026-10-30/",
   "kickoff": "2026-10-30T19:45:00.000Z",
   "competition": "Belgian Pro League",
   "lead_hours": 31.5,
   "market_code": "both_teams_score_and_result",
   "author_said": "Match result and both teams to score: Club Brugge KV win, both teams to score: no at 3.25",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "2-4",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "author_price",
   "series_short": "author's odds",
   "author_price": "3.25",
   "settled_price": "3.25",
   "published_at": "2026-10-29T12:00:00.000Z",
   "recorded_at": "2026-10-29T12:14:11.585Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-53fc5259d7ed0c1f7b8b134c",
    "quote_text": "1X2 + GOL/NOGOL –> 2 + NG Bet365.it 3.25 Snai 3.20 Netbet.it 2.97 Lottomatica 2.95",
    "fragment_from": 4277,
    "fragment_to": 4359,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/zulte-waregem-club-brugge-30-10-2026-formazioni-quote-pronostici-20262027-campionato-belga/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ca0b2768e7f112e5687f0c7df26390d4ec9c9b1f1d8e3fb3653272b85c2c28d6",
     "material_removed": false
    },
    "published_at": "2026-10-29T12:00:00.000Z",
    "detected_at": "2026-10-29T12:14:11.585Z",
    "executed_at": "2026-10-30T14:03:46.336Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-c853bc6a691c",
     "display_name": "Zulte-Waregem — Club Brugge KV",
     "competition_name": "Belgian Pro League",
     "starts_at": "2026-10-30T19:45:00.000Z",
     "url": "/football/matches/zulte-waregem-vs-club-brugge-kv-2026-10-30/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "Match result and both teams to score",
    "outcome_label": "Club Brugge KV win, both teams to score: no",
    "odds_set": {
     "by_author": "3.25",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At the author's stated price",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T12:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T12:00:00.000Z",
     "detected_at": "2026-10-29T12:14:11.585Z",
     "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": "Match result and both teams to score",
     "choice": "Club Brugge KV win, both teams to score: no",
     "author_odds": "3.25",
     "market_key": "both_teams_score_and_result",
     "choice_key": "2-no",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Match result and both teams to score: Club Brugge KV win, both teams to score: no at 3.25"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Zulte-Waregem 2-4 Club Brugge KV."
    },
    "settlements": [
     {
      "operation_id": "32311e4ae68c726709c9e94c2369dc9b583856f64a66505828d11bebf53933f2",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Club Brugge KV win, both teams to score: no",
      "decimal_odds": "3.25",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-30T14:03:46.336Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "30870a2f9c0308ca5a363e86d496c5647434dda8f7f83b16f3411411c1a2221f",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Match result and both teams to score",
      "choice": "Club Brugge KV win, both teams to score: no",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/zulte-waregem-club-brugge-30-10-2026-formazioni-quote-pronostici-20262027-campionato-belga/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Club Brugge KV win, both teams to score: no"
   }
  },
  {
   "record_id": "n-ca78e065846805852cba03e2",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-ca78e065846805852cba03e2",
   "match": "Zulte-Waregem v Club Brugge KV",
   "match_url": "/football/matches/zulte-waregem-vs-club-brugge-kv-2026-10-30/",
   "kickoff": "2026-10-30T19:45:00.000Z",
   "competition": "Belgian Pro League",
   "lead_hours": 31.5,
   "market_code": "handicap_european",
   "author_said": "European handicap -1: Club Brugge KV -1",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Won",
   "final_score": "2-4",
   "reason": "graded against the result: right",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T12:00:00.000Z",
   "recorded_at": "2026-10-29T12:14:11.585Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-ca78e065846805852cba03e2",
    "quote_text": "Andiamo sulla vittoria esterna aspettandoci 2 o più gol di scarto e nessuna rete al passivo.",
    "fragment_from": 4183,
    "fragment_to": 4275,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/zulte-waregem-club-brugge-30-10-2026-formazioni-quote-pronostici-20262027-campionato-belga/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "ca0b2768e7f112e5687f0c7df26390d4ec9c9b1f1d8e3fb3653272b85c2c28d6",
     "material_removed": false
    },
    "published_at": "2026-10-29T12:00:00.000Z",
    "detected_at": "2026-10-29T12:14:11.585Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-c853bc6a691c",
     "display_name": "Zulte-Waregem — Club Brugge KV",
     "competition_name": "Belgian Pro League",
     "starts_at": "2026-10-30T19:45:00.000Z",
     "url": "/football/matches/zulte-waregem-vs-club-brugge-kv-2026-10-30/",
     "scoreline": "2-4",
     "condition": "finished"
    },
    "market_label": "European handicap -1",
    "outcome_label": "Club Brugge KV -1",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "win",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T12:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T12:00:00.000Z",
     "detected_at": "2026-10-29T12:14:11.585Z",
     "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": "European handicap -1",
     "choice": "Club Brugge KV -1",
     "author_odds": null,
     "market_key": "handicap_european",
     "choice_key": "2",
     "period": "match",
     "line": "-1",
     "subject": "goals_total",
     "in_words": "European handicap -1: Club Brugge KV -1"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "2-4",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Zulte-Waregem 2-4 Club Brugge KV."
    },
    "settlements": [
     {
      "operation_id": "140c58872919302c6e746bee5dda1c9d2ccb946308b1dba90bfa4b4f80880929",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "European handicap -1",
      "choice": "Club Brugge KV -1",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/zulte-waregem-club-brugge-30-10-2026-formazioni-quote-pronostici-20262027-campionato-belga/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Club Brugge KV -1"
   }
  },
  {
   "record_id": "n-8c9ed76fb5a10698a41bb0d4",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-8c9ed76fb5a10698a41bb0d4",
   "match": "Lille v RC Lens",
   "match_url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
   "kickoff": "2026-10-30T20:05:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 31.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: draw at 3.6",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.6",
   "settled_price": "3.6000",
   "published_at": "2026-10-29T12:30:00.000Z",
   "recorded_at": "2026-10-29T12:32:38.923Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-8c9ed76fb5a10698a41bb0d4",
    "quote_text": "1X2 FINALE –> X Bet365.it 3.60 Netbet.it 3.55 AdmiralBet 3.55",
    "fragment_from": 3990,
    "fragment_to": 4051,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/lille-lens-30-10-2026-formazioni-quote-pronostici-20262027-ligue-1/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3822ebc1abb1b66d34960cd56a9d05b1094a38112ecffdf29c64ec08567496d",
     "material_removed": false
    },
    "published_at": "2026-10-29T12:30:00.000Z",
    "detected_at": "2026-10-29T12:32:38.923Z",
    "executed_at": "2026-11-01T15:41:40.660Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-0154b7c67113",
     "display_name": "Lille — RC Lens",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T20:05:00.000Z",
     "url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "draw",
    "odds_set": {
     "by_author": "3.6",
     "our_snapshot": "3.6000",
     "our_snapshot_at": "2026-10-29T12:32:23.585Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-29T12:30:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T12:30:00.000Z",
     "detected_at": "2026-10-29T12:32:38.923Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "draw",
     "author_odds": "3.6",
     "market_key": "1x2",
     "choice_key": "X",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: draw at 3.6"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lille 1-0 RC Lens."
    },
    "settlements": [
     {
      "operation_id": "9362544eb58a54512643d2cf2c974e842d460daef0fd16f36f75c347d5b48650",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "draw",
      "decimal_odds": "3.6",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-11-01T15:41:39.456Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9613f456030c0b221d4ab1640773fd7efc05e22526a2186dc7d727b79b355d98",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "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-11-01T15:41:40.660Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/lille-lens-30-10-2026-formazioni-quote-pronostici-20262027-ligue-1/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "a draw"
   }
  },
  {
   "record_id": "n-9810544d76160cf9281c0f4e",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-9810544d76160cf9281c0f4e",
   "match": "Lille v RC Lens",
   "match_url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
   "kickoff": "2026-10-30T20:05:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 31.5,
   "market_code": "both_teams_score",
   "author_said": "Both teams to score: yes at 1.95",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T12:30:00.000Z",
   "recorded_at": "2026-10-29T12:32:38.923Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-9810544d76160cf9281c0f4e",
    "quote_text": "UNDER/OVER 2.5 + GOL/NOGOL –> GOL + OVER Snai 1.95 Bet365.it 1.91 AdmiralBet 1.85 Lottomatica 1.85",
    "fragment_from": 4053,
    "fragment_to": 4151,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/lille-lens-30-10-2026-formazioni-quote-pronostici-20262027-ligue-1/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3822ebc1abb1b66d34960cd56a9d05b1094a38112ecffdf29c64ec08567496d",
     "material_removed": false
    },
    "published_at": "2026-10-29T12:30:00.000Z",
    "detected_at": "2026-10-29T12:32:38.923Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-0154b7c67113",
     "display_name": "Lille — RC Lens",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T20:05:00.000Z",
     "url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Both teams to score",
    "outcome_label": "yes",
    "odds_set": {
     "by_author": "1.95",
     "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-29T12:30:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T12:30:00.000Z",
     "detected_at": "2026-10-29T12:32:38.923Z",
     "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": "Both teams to score",
     "choice": "yes",
     "author_odds": "1.95",
     "market_key": "both_teams_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "Both teams to score: yes at 1.95"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lille 1-0 RC Lens."
    },
    "settlements": [
     {
      "operation_id": "838c596b0263e65aaddc843658747aa28344e549729ebdb8e1daffc5c84aa41e",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "3a7e3b1c645165e47e7e1840b9260791dbd5645f35e41253f72a34176b833dcd",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Both teams to score",
      "choice": "yes",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/lille-lens-30-10-2026-formazioni-quote-pronostici-20262027-ligue-1/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "yes (Both teams to score)"
   }
  },
  {
   "record_id": "n-f91da82c42fb7a7644ec7769",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-f91da82c42fb7a7644ec7769",
   "match": "Lille v RC Lens",
   "match_url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
   "kickoff": "2026-10-30T20:05:00.000Z",
   "competition": "Ligue 1",
   "lead_hours": 31.5,
   "market_code": "total",
   "author_said": "Over/Under 2.5 goals: over 2.5 at 1.95",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T12:30:00.000Z",
   "recorded_at": "2026-10-29T12:32:38.923Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-f91da82c42fb7a7644ec7769",
    "quote_text": "UNDER/OVER 2.5 + GOL/NOGOL –> GOL + OVER Snai 1.95 Bet365.it 1.91 AdmiralBet 1.85 Lottomatica 1.85",
    "fragment_from": 4053,
    "fragment_to": 4151,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/lille-lens-30-10-2026-formazioni-quote-pronostici-20262027-ligue-1/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d3822ebc1abb1b66d34960cd56a9d05b1094a38112ecffdf29c64ec08567496d",
     "material_removed": false
    },
    "published_at": "2026-10-29T12:30:00.000Z",
    "detected_at": "2026-10-29T12:32:38.923Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-0154b7c67113",
     "display_name": "Lille — RC Lens",
     "competition_name": "Ligue 1",
     "starts_at": "2026-10-30T20:05:00.000Z",
     "url": "/football/matches/lille-vs-rc-lens-2026-10-30/",
     "scoreline": "1-0",
     "condition": "finished"
    },
    "market_label": "Over/Under 2.5 goals",
    "outcome_label": "over 2.5",
    "odds_set": {
     "by_author": "1.95",
     "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-29T12:30:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-29T12:30:00.000Z",
     "detected_at": "2026-10-29T12:32:38.923Z",
     "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": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "author_odds": "1.95",
     "market_key": "total",
     "choice_key": "over",
     "period": "match",
     "line": "2.5",
     "subject": "goals_total",
     "in_words": "Over/Under 2.5 goals: over 2.5 at 1.95"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Lille 1-0 RC Lens."
    },
    "settlements": [
     {
      "operation_id": "2c69a10c367e694837ebbeaa351eaca1e21a124b8f0e03219092cc21037bc243",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "9c928098556e64b5bc6e43c73e8e80c5caa926da1997877250b6096233cc5ab0",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Over/Under 2.5 goals",
      "choice": "over 2.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/lille-lens-30-10-2026-formazioni-quote-pronostici-20262027-ligue-1/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "over 2.5 (Over/Under 2.5 goals)"
   }
  },
  {
   "record_id": "n-7541d59a33c832de4f97e11e",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "UNDER/OVER 3.5 –> OVER 888Sport.it 1.77 LeoVegas 1.76 Bet365.it 1.75 Snai 1.75",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T16:30:00.000Z",
   "recorded_at": "2026-10-29T16:38:52.224Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-f7ab545cfb845a6da739ddca",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "1X2 FINALE –> 1 AdmiralBet 1.78 Starvegas 1.78 Netbet.it 1.78 Bet365.it 1.75",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T16:30:00.000Z",
   "recorded_at": "2026-10-29T16:38:52.224Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-92b5b8e3956a2b7e7e790635",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "vincendo anche di misura concedendo comunque un gol ai padroni di casa.\n\n1X2 + GOL/NOGOL –> 1 + G Bet365.it 2.20 Starvegas 2.05 AdmiralBet 2.05 Lottomatica 2.05",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-29T17:00:00.000Z",
   "recorded_at": "2026-10-29T17:09:06.814Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-cc43c6680724e1618196e7a0",
   "url": "/authors/carlo-grandi/picks/12/#pick-n-cc43c6680724e1618196e7a0",
   "match": "Borussia M'gladbach v SC Paderborn 07",
   "match_url": "/football/matches/borussia-m-gladbach-vs-sc-paderborn-07-2026-10-31/",
   "kickoff": "2026-10-31T14:30:00.000Z",
   "competition": "Bundesliga",
   "lead_hours": 30.4,
   "market_code": "1x2",
   "author_said": "1X2, match result: Borussia M'gladbach at 1.97",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "0-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.97",
   "settled_price": "1.9524",
   "published_at": "2026-10-30T08:00:00.000Z",
   "recorded_at": "2026-10-30T08:08:52.465Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-cc43c6680724e1618196e7a0",
    "quote_text": "La nostra scelta cade sulla vittoria dei padroni di casa, anche senza gol al passivo a recuperare il divario sulla zona salvezza.\n\n1X2 FINALE –> 1 AdmiralBet 1.97 Starvegas 1.97 Netbet.it 1.97",
    "fragment_from": 4396,
    "fragment_to": 4588,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://www.infobetting.com/blog/borussia-monchengladbach-sc-paderborn-31-10-2026-formazioni-quote-pronostici-20262027-bundesliga/",
     "display_name": null,
     "speaker": "Carlo Grandi",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6da5763a184f4a7b10fb9d4eafd99b4cd10875bee9b184ed1906e5ae945d81b0",
     "material_removed": false
    },
    "published_at": "2026-10-30T08:00:00.000Z",
    "detected_at": "2026-10-30T08:08:52.465Z",
    "executed_at": "2026-10-31T13:24:34.211Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-941a5bb75f38",
     "display_name": "Borussia M'gladbach — SC Paderborn 07",
     "competition_name": "Bundesliga",
     "starts_at": "2026-10-31T14:30:00.000Z",
     "url": "/football/matches/borussia-m-gladbach-vs-sc-paderborn-07-2026-10-31/",
     "scoreline": "0-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Borussia M'gladbach",
    "odds_set": {
     "by_author": "1.97",
     "our_snapshot": "1.9524",
     "our_snapshot_at": "2026-10-30T08:05:25.115Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-30T08:00:00.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-30T08:00:00.000Z",
     "detected_at": "2026-10-30T08:08:52.465Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "1X2, match result",
     "choice": "Borussia M'gladbach",
     "author_odds": "1.97",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Borussia M'gladbach at 1.97"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Borussia M'gladbach 0-0 SC Paderborn 07."
    },
    "settlements": [
     {
      "operation_id": "4e9a3d216a2178b904bf000d06211214eef24a3f7732558e0a593c36f4e0f4b9",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Borussia M'gladbach",
      "decimal_odds": "1.97",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-31T13:24:31.245Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "0d214903fc52b4839a0cd8fce538a9e6ea388554b8146a9c8764a84397cd13c1",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Borussia M'gladbach",
      "decimal_odds": "1.9524",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-31T13:24:34.211Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Carlo Grandi",
     "publisher": "infobetting.com",
     "forecaster": "Carlo Grandi",
     "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.infobetting.com/blog/borussia-monchengladbach-sc-paderborn-31-10-2026-formazioni-quote-pronostici-20262027-bundesliga/",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Borussia M'gladbach to win"
   }
  }
 ],
 "pagination": {
  "per_page": 20,
  "total": 313,
  "pages": 17,
  "page_urls": [
   "/authors/carlo-grandi/",
   "/authors/carlo-grandi/picks/2/",
   "/authors/carlo-grandi/picks/3/",
   "/authors/carlo-grandi/picks/4/",
   "/authors/carlo-grandi/picks/5/",
   "/authors/carlo-grandi/picks/6/",
   "/authors/carlo-grandi/picks/7/",
   "/authors/carlo-grandi/picks/8/",
   "/authors/carlo-grandi/picks/9/",
   "/authors/carlo-grandi/picks/10/",
   "/authors/carlo-grandi/picks/11/",
   "/authors/carlo-grandi/picks/12/",
   "/authors/carlo-grandi/picks/13/",
   "/authors/carlo-grandi/picks/14/",
   "/authors/carlo-grandi/picks/15/",
   "/authors/carlo-grandi/picks/16/",
   "/authors/carlo-grandi/picks/17/"
  ],
  "groups": {
   "settled": 44,
   "pending": 4,
   "excluded": 265
  },
  "continuation": "by_time",
  "page": 12,
  "first": 201,
  "last": 220,
  "author_url": "/authors/carlo-grandi/",
  "current": true
 },
 "entity_id": "history:/authors/carlo-grandi/picks/12/",
 "source_revision": 26
}
