{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "event",
 "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
 "canonical": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Stade Brestois vs Olympique Lyonnais prediction: tipster picks compared",
 "description": "Stade Brestois vs Olympique Lyonnais, 8 November 2026: 6 tipsters and sources with 10 or more predictions checked against the final score picked this match.",
 "first_paragraph": {
  "body": "Forecast Record recorded 9 statements from 6 authors on Stade Brestois vs Olympique Lyonnais (Ligue 1, kick-off 8 November 2026): 9 distinct predictions, all of the statements recorded before kick-off; the selections are listed below by market.",
  "key_number": "9",
  "data": "2026-11-08",
  "source_info": "our own evidence archive",
  "brand": "Forecast Record"
 },
 "indexable": true,
 "noindex_reason": null,
 "indexing_threshold": {
  "settled_count": 9,
  "date_count": 1,
  "required_settled": 0,
  "required_dates": 0
 },
 "data_date": "2026-11-07T18:39:32.820Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "6be697772d56fa18f94792e310372908e8b9aaf18ba92802f676008591ae7af3",
 "dependency_group": "event:s-18d8d18d899a",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "SportsEvent",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/picks.csv",
   "bytes": null
  }
 ],
 "modules": {
  "affiliate": true,
  "api": true,
  "compare_yourself": false
 },
 "affiliate_block": {
  "container": true,
  "request_url": "/partnery/moi",
  "disclosure": "Some links below are affiliate links and are marked as such. They never affect what you see above: the order of any table is computed before any commission is known.",
  "page_category": "event"
 },
 "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/"
 },
 "event": {
  "id": "s-18d8d18d899a",
  "display_name": "Stade Brestois — Olympique Lyonnais",
  "competition_name": "Ligue 1",
  "starts_at": "2026-11-08T16:15:00.000Z",
  "status": "scheduled",
  "scoreline": null,
  "condition": "scheduled",
  "condition_words": "scheduled",
  "result_received_at": null,
  "postponement": null,
  "consensus": {
   "market_label": "Double chance",
   "distribution": [
    {
     "outcome_label": "Stade Brestois or draw",
     "figure": 3,
     "share": "100.0"
    }
   ],
   "n": 3,
   "author_count": 3,
   "median_odds": "1.53",
   "summary": "Most common recorded selection in this market: Stade Brestois or draw — 3 of 3 eligible picks (one per author), median stated price 1.53",
   "late_excluded": 0,
   "contributions": 3,
   "prediction_count": 3,
   "chain": {
    "publications": 9,
    "unique": 9,
    "comparable": 9,
    "admissible": 9,
    "contributions": 9
   },
   "differing_choices": 0,
   "different_products": 0,
   "counting_rule": "1"
  },
  "country_name": "France",
  "competition_full": "Ligue 1 (France)"
 },
 "evidence_items": [
  {
   "observation_id": "n-494024fa77f97888d66e0a1e",
   "url": "/sources/footballpredictions-com/picks/397/#pick-n-494024fa77f97888d66e0a1e",
   "quote_text": "Correct Score: Brest 1-1 Lyon\n\n6.50",
   "fragment_from": 2089,
   "fragment_to": 2124,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://footballpredictions.com/footballpredictions/ligue1predictions/brest-vs-lyon-prediction-08-11-2026/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "465637b2cc973fdb73bfa6affd8cc5bcdd127361d2c8c07fb62d5ecf729ba2c9",
    "material_removed": false
   },
   "published_at": "2026-11-02T15:42:03.000Z",
   "detected_at": "2026-11-05T02:29:37.251Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": "",
   "cause_code": "insufficient_funds",
   "event": {
    "event_id": "s-18d8d18d899a",
    "display_name": "Stade Brestois — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T16:15:00.000Z",
    "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Correct score",
   "outcome_label": "Stade Brestois 1-1 Olympique Lyonnais",
   "odds_set": {
    "by_author": "6.5",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "unknown",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-02T15:42:03.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-02T15:42:03.000Z",
    "detected_at": "2026-11-05T02:29:37.251Z",
    "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 1-1 Olympique Lyonnais",
    "author_odds": "6.5",
    "market_key": "correct_score_market",
    "choice_key": "1-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: Stade Brestois 1-1 Olympique Lyonnais at 6.5"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:15 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:15 UTC."
   },
   "settlements": [
    {
     "operation_id": "dd6fb71d74f08a4bc0437e6e522a5e2a1f3b167cddb3f4a3e0576a86cd9390c9",
     "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.5400",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T21:25:09.099Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    },
    {
     "operation_id": "7f042a4a8c4b6841a822cb575bae147c10cb9dab2f85eba6b2dedba8236016d3",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Correct score",
     "choice": "Stade Brestois 1-1 Olympique Lyonnais",
     "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": "FootballPredictions.com",
    "publisher": "FootballPredictions.com",
    "forecaster": "FootballPredictions.com",
    "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://footballpredictions.com/footballpredictions/ligue1predictions/brest-vs-lyon-prediction-08-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-1568368a6c9fdd9709ee13da",
   "url": "/sources/footballpredictions-com/picks/397/#pick-n-1568368a6c9fdd9709ee13da",
   "quote_text": "Double Chance: 1X\n\n1.53",
   "fragment_from": 2131,
   "fragment_to": 2154,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://footballpredictions.com/footballpredictions/ligue1predictions/brest-vs-lyon-prediction-08-11-2026/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "465637b2cc973fdb73bfa6affd8cc5bcdd127361d2c8c07fb62d5ecf729ba2c9",
    "material_removed": false
   },
   "published_at": "2026-11-02T15:42:03.000Z",
   "detected_at": "2026-11-05T02:29:37.251Z",
   "executed_at": "2026-11-06T21:12:08.871Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-18d8d18d899a",
    "display_name": "Stade Brestois — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T16:15:00.000Z",
    "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Double chance",
   "outcome_label": "Stade Brestois or draw",
   "odds_set": {
    "by_author": "1.53",
    "our_snapshot": "1.5900",
    "our_snapshot_at": "2026-11-05T02:28:49.054Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "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-11-02T15:42:03.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-02T15:42:03.000Z",
    "detected_at": "2026-11-05T02:29:37.251Z",
    "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": "Stade Brestois or draw",
    "author_odds": "1.53",
    "market_key": "double_chance",
    "choice_key": "1X",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Double chance: Stade Brestois or draw at 1.53"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:15 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:15 UTC."
   },
   "settlements": [
    {
     "operation_id": "8d4d8a69ac9b180848b0395e66fa2d5157f515480e9e5c16202411fb3c74a292",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Double chance",
     "choice": "Stade Brestois or draw",
     "decimal_odds": "1.53",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T21:11:56.223Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "6df5019fb6584a661c32215371df7824cd849e386aa052199166c8f7c52d903b",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Double chance",
     "choice": "Stade Brestois or draw",
     "decimal_odds": "1.5900",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T21:12:08.871Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "qualifying_pick",
   "authorship": {
    "material_author": "FootballPredictions.com",
    "publisher": "FootballPredictions.com",
    "forecaster": "FootballPredictions.com",
    "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://footballpredictions.com/footballpredictions/ligue1predictions/brest-vs-lyon-prediction-08-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-7ec1b0a97f10dac41f36c97e",
   "url": "/sources/footballpredictions-com/picks/397/#pick-n-7ec1b0a97f10dac41f36c97e",
   "quote_text": "Half Time/Full Time: Draw / Draw\n\n5.50",
   "fragment_from": 2161,
   "fragment_to": 2199,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://footballpredictions.com/footballpredictions/ligue1predictions/brest-vs-lyon-prediction-08-11-2026/",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "465637b2cc973fdb73bfa6affd8cc5bcdd127361d2c8c07fb62d5ecf729ba2c9",
    "material_removed": false
   },
   "published_at": "2026-11-02T15:42:03.000Z",
   "detected_at": "2026-11-05T02:29:37.251Z",
   "executed_at": "2026-11-06T21:29:15.477Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-18d8d18d899a",
    "display_name": "Stade Brestois — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T16:15:00.000Z",
    "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Half-time/full-time",
   "outcome_label": "draw at half-time, draw at full-time",
   "odds_set": {
    "by_author": "5.5",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "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-11-02T15:42:03.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-02T15:42:03.000Z",
    "detected_at": "2026-11-05T02:29:37.251Z",
    "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": "Half-time/full-time",
    "choice": "draw at half-time, draw at full-time",
    "author_odds": "5.5",
    "market_key": "half_time_full_time",
    "choice_key": "X/X",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Half-time/full-time: draw at half-time, draw at full-time at 5.5"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:15 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:15 UTC."
   },
   "settlements": [
    {
     "operation_id": "95492132aa0e05cad1b4c88d90b99acd7568dca650aeb85912c6719161c3ec23",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Half-time/full-time",
     "choice": "draw at half-time, draw at full-time",
     "decimal_odds": "5.5",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T21:29:15.477Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "6675b4e8cdd83c9ab5cb96c2c5583bd1c3932e87437b6e230bd7db18373a54fa",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Half-time/full-time",
     "choice": "draw at half-time, draw at full-time",
     "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": "qualifying_pick",
   "authorship": {
    "material_author": "FootballPredictions.com",
    "publisher": "FootballPredictions.com",
    "forecaster": "FootballPredictions.com",
    "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://footballpredictions.com/footballpredictions/ligue1predictions/brest-vs-lyon-prediction-08-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-a9926bbf9f62978b83cd7aee",
   "url": "/authors/ali-demir/picks/31/#pick-n-a9926bbf9f62978b83cd7aee",
   "quote_text": "Brest gewinnt\n\nbei\nInterwetten\n\n2,80",
   "fragment_from": 3434,
   "fragment_to": 3470,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://sportwetten.bild.de/tipps/stade-brest-lyon-prognose-08-11-2026/",
    "display_name": null,
    "speaker": "Ali Demir",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "aa5c2bf1338cce57ebce56549e0f7d726be281f8ee35ddfcbb2266107a403af7",
    "material_removed": false
   },
   "published_at": "2026-11-06T06:40:00.000Z",
   "detected_at": "2026-11-06T06:57:08.475Z",
   "executed_at": "2026-11-06T20:57:14.970Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-18d8d18d899a",
    "display_name": "Stade Brestois — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T16:15:00.000Z",
    "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Stade Brestois",
   "odds_set": {
    "by_author": "2.8",
    "our_snapshot": "2.8000",
    "our_snapshot_at": "2026-11-06T06:54:28.193Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "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-11-06T06:40:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-06T06:40:00.000Z",
    "detected_at": "2026-11-06T06:57:08.475Z",
    "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": "Stade Brestois",
    "author_odds": "2.8",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Stade Brestois at 2.8"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:15 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:15 UTC."
   },
   "settlements": [
    {
     "operation_id": "680cbd994eb8f740b02608a960c29f530d2c122496efcbc6dc034bbc8c990049",
     "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": "Stade Brestois",
     "decimal_odds": "2.8",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T20:56:55.467Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "fb081aee008e48413f606f960e9983c2901ae7cbf83a6270e8b8b51287d637c8",
     "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": "Stade Brestois",
     "decimal_odds": "2.8000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T20:57:14.970Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "qualifying_pick",
   "authorship": {
    "material_author": "Ali Demir",
    "publisher": "sportwetten.bild.de",
    "forecaster": "Ali Demir",
    "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://sportwetten.bild.de/tipps/stade-brest-lyon-prognose-08-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-4cf44573f36b90a487f2bb4e",
   "url": "/authors/ali-demir/picks/31/#pick-n-4cf44573f36b90a487f2bb4e",
   "quote_text": "Brest oder Unentschieden\n\nbei\nbet365 Sportwetten\n\n1,50",
   "fragment_from": 3375,
   "fragment_to": 3429,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://sportwetten.bild.de/tipps/stade-brest-lyon-prognose-08-11-2026/",
    "display_name": null,
    "speaker": "Ali Demir",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "aa5c2bf1338cce57ebce56549e0f7d726be281f8ee35ddfcbb2266107a403af7",
    "material_removed": false
   },
   "published_at": "2026-11-06T06:40:00.000Z",
   "detected_at": "2026-11-06T06:57:08.475Z",
   "executed_at": "2026-11-06T20:56:54.801Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-18d8d18d899a",
    "display_name": "Stade Brestois — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T16:15:00.000Z",
    "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Double chance",
   "outcome_label": "Stade Brestois or draw",
   "odds_set": {
    "by_author": "1.5",
    "our_snapshot": "1.5400",
    "our_snapshot_at": "2026-11-06T06:54:28.193Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "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-11-06T06:40:00.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-06T06:40:00.000Z",
    "detected_at": "2026-11-06T06:57:08.475Z",
    "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": "Stade Brestois or draw",
    "author_odds": "1.5",
    "market_key": "double_chance",
    "choice_key": "1X",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Double chance: Stade Brestois or draw at 1.5"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:15 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:15 UTC."
   },
   "settlements": [
    {
     "operation_id": "cb912deda7f442c33fede1fd7d4ece5ca7731b3816fa3f4e23aa33841fdc6b2a",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Double chance",
     "choice": "Stade Brestois or draw",
     "decimal_odds": "1.5",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T20:56:34.651Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "1cfb1f0cd4d777c63ab983b99fcd5869c3ebf5b7d99c260021d735960613d7e7",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Double chance",
     "choice": "Stade Brestois or draw",
     "decimal_odds": "1.5400",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T20:56:54.801Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "qualifying_pick",
   "authorship": {
    "material_author": "Ali Demir",
    "publisher": "sportwetten.bild.de",
    "forecaster": "Ali Demir",
    "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://sportwetten.bild.de/tipps/stade-brest-lyon-prognose-08-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-2662544a50823e23ea8ba358",
   "url": "/sources/bettingexpert-com/picks/41/#pick-n-2662544a50823e23ea8ba358",
   "quote_text": "Both teams to score: yes\n\nThe 1X2 market offers a very balanced line (2.45 vs. 2.70) that accurately reflects the relative strengths of the teams, leaving no room for maneuver on the outright result. However, traders have slightly overestimated both teams’ ability to shut down the game, likely due to Lyon’s busy schedule. However, Brest’s recent history and home-game style show that a tired OL concedes large open spaces but retains its ability to counterattack. The BTTS: Yes at 1.68 is a major enefficiency with a +6.22% edge.",
   "fragment_from": 407,
   "fragment_to": 938,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.bettingexpert.com/football/brest-vs-lyon",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "92b8549b4a70c34b3c6394faa96df4e7c137d68089e75efa4a7b8a0e7ef231bc",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-11-07T03:52:49.962Z",
   "executed_at": "2026-11-07T05:24:43.114Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-18d8d18d899a",
    "display_name": "Stade Brestois — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T16:15:00.000Z",
    "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.68",
    "our_snapshot": "1.6667",
    "our_snapshot_at": "2026-11-07T03:48:25.901Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "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": null,
    "fragment_basis": "no",
    "source_page_at": null,
    "detected_at": "2026-11-07T03:52:49.962Z",
    "archive_snapshot_at": null,
    "flags": [
     "no_date"
    ],
    "flag_words": "The source states no publication date.",
    "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.68",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.68"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:15 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:15 UTC."
   },
   "settlements": [
    {
     "operation_id": "cc786241ff9a510d13f0d8951f7e9359576c188a0dc79f27846cc4c9ee989dfc",
     "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": "1.68",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T05:24:26.775Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "243dd988073eaceacd321f4d9af22f438ddd245c05223d539ccac8c2f206e5af",
     "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": "1.6667",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T05:24:43.114Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "qualifying_pick",
   "authorship": {
    "material_author": "BETSiE (AceOdds)",
    "publisher": "BETSiE (AceOdds)",
    "forecaster": "BETSiE (AceOdds)",
    "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.bettingexpert.com/football/brest-vs-lyon",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-2215c5553009226da4fac4d1",
   "url": "/sources/coteur-com/picks/64/#pick-n-2215c5553009226da4fac4d1",
   "quote_text": "Notre pronostic : match nul (cote moyenne d’environ 3.26 au 5/11)",
   "fragment_from": 1114,
   "fragment_to": 1179,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.coteur.com/match/pronostic-brest-lyon-1612921",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "88bda42f3925e71033fe87a3f4ab0a841e247464b4985847f0c4a399dfe0f0eb",
    "material_removed": false
   },
   "published_at": "2026-11-05T09:50:43.000Z",
   "detected_at": "2026-11-07T04:30:44.209Z",
   "executed_at": "2026-11-07T05:38:26.781Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-18d8d18d899a",
    "display_name": "Stade Brestois — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T16:15:00.000Z",
    "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "1X2, match result",
   "outcome_label": "draw",
   "odds_set": {
    "by_author": "3.26",
    "our_snapshot": "3.5000",
    "our_snapshot_at": "2026-11-07T04:27:32.984Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "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-11-05T09:50:43.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-11-05T09:50:43.000Z",
    "detected_at": "2026-11-07T04:30:44.209Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "1X2, match result",
    "choice": "draw",
    "author_odds": "3.26",
    "market_key": "1x2",
    "choice_key": "X",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: draw at 3.26"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:15 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:15 UTC."
   },
   "settlements": [
    {
     "operation_id": "443db774aa533997cbb8660fac8518ae4b5f04104aea0bd0daa1c9152b14d0e2",
     "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.26",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T05:38:20.815Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "1d13ad6b829418dddfb162e6243254858bd4ae0a13a6baeb7f1f58f4718dd488",
     "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.5000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T05:38:26.781Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "qualifying_pick",
   "authorship": {
    "material_author": "Coteur",
    "publisher": "Coteur",
    "forecaster": "Coteur",
    "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.coteur.com/match/pronostic-brest-lyon-1612921",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-b21a3b8bd352b73fc09e7e41",
   "url": "/sources/scores24-live/picks/69/#pick-n-b21a3b8bd352b73fc09e7e41",
   "quote_text": "Both Teams to Score – (Yes)\n\n--\n\n1.64",
   "fragment_from": 5683,
   "fragment_to": 5720,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://scores24.live/en/predictions/soccer",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "357a4af0ee84651b216514535ed2222c836c7647d0133d8bb4ab5e5a566258c8",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-11-07T06:00:07.858Z",
   "executed_at": "2026-11-07T06:10:17.507Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-18d8d18d899a",
    "display_name": "Stade Brestois — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T16:15:00.000Z",
    "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.64",
    "our_snapshot": "1.6500",
    "our_snapshot_at": "2026-11-07T05:58:31.523Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "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": null,
    "fragment_basis": "no",
    "source_page_at": null,
    "detected_at": "2026-11-07T06:00:07.858Z",
    "archive_snapshot_at": null,
    "flags": [
     "no_date"
    ],
    "flag_words": "The source states no publication date.",
    "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.64",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.64"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:15 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:15 UTC."
   },
   "settlements": [
    {
     "operation_id": "b74c7d3082577b6fd392f3dd2785b2f1bbb17d0c5ad194c3bd6aa4174bfb9e11",
     "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": "1.64",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T06:10:02.025Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "d34b639fab1f35aad43aa541975ac42afe089f2d0f137beafbf99cbe310c146e",
     "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": "1.6500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T06:10:17.507Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "qualifying_pick",
   "authorship": {
    "material_author": "Scores24",
    "publisher": "Scores24",
    "forecaster": "Scores24",
    "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://scores24.live/en/predictions/soccer",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-738639e3791c936305468a12",
   "url": "/authors/aleksej-tarabrin/picks/2/#pick-n-738639e3791c936305468a12",
   "quote_text": "Ponturi\n\nBrest sau egal (1X)\n\nCf\n\nCote\n\n1.55",
   "fragment_from": 2486,
   "fragment_to": 2530,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://legalbet.ro/centrul-de-pariere/brest-lyon-08-11-2026/",
    "display_name": null,
    "speaker": "Alex Tarabrin",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7da3fd73793aedcfb26fd1730ba75da3765f138221446b683715f9a801905d44",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-11-07T18:39:32.820Z",
   "executed_at": "2026-11-07T19:05:44.623Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-18d8d18d899a",
    "display_name": "Stade Brestois — Olympique Lyonnais",
    "competition_name": "Ligue 1",
    "starts_at": "2026-11-08T16:15:00.000Z",
    "url": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "Double chance",
   "outcome_label": "Stade Brestois or draw",
   "odds_set": {
    "by_author": "1.55",
    "our_snapshot": "1.5500",
    "our_snapshot_at": "2026-11-07T18:38:45.563Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "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": null,
    "fragment_basis": "no",
    "source_page_at": null,
    "detected_at": "2026-11-07T18:39:32.820Z",
    "archive_snapshot_at": null,
    "flags": [
     "no_date"
    ],
    "flag_words": "The source states no publication date.",
    "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": "Stade Brestois or draw",
    "author_odds": "1.55",
    "market_key": "double_chance",
    "choice_key": "1X",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Double chance: Stade Brestois or draw at 1.55"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 16:15 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 16:15 UTC."
   },
   "settlements": [
    {
     "operation_id": "7c6e06cf396f1d6a0add2715af9281dbccc1b38e8d123da0c3abc3274d4c796b",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Double chance",
     "choice": "Stade Brestois or draw",
     "decimal_odds": "1.55",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T19:05:34.977Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "fd86092469757b03cae50b3e084dbcd5b0b8e33cb2ea3bb2ee9e054a0ae4e49c",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Double chance",
     "choice": "Stade Brestois or draw",
     "decimal_odds": "1.5500",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-07T19:05:44.623Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "qualifying_pick",
   "authorship": {
    "material_author": "Alex Tarabrin",
    "publisher": "Legalbet.ro",
    "forecaster": "Alex Tarabrin",
    "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://legalbet.ro/centrul-de-pariere/brest-lyon-08-11-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  }
 ],
 "record_counts": {
  "dictionary_version": "1",
  "dictionary_url": "/methodology/#words",
  "statements": 9,
  "predictions": 9,
  "authors": 6,
  "statements_before_kickoff": 9,
  "settled_picks": 0,
  "duplicates": 0,
  "junk": {}
 },
 "match_summary": {
  "contract_version": "1",
  "final_score": null,
  "state_words": "scheduled",
  "distinct_predictions": 9,
  "sources": 6,
  "one_source": false,
  "sentence": "Forecast Record recorded 9 distinct predictions from 6 authors or editorial sources before kick-off; their selections are listed below by market.",
  "who_predicted_what": [
   {
    "record_id": "n-a9926bbf9f62978b83cd7aee",
    "url": "/authors/ali-demir/picks/31/#pick-n-a9926bbf9f62978b83cd7aee",
    "author": "Ali Demir",
    "author_url": "/authors/ali-demir/",
    "market": "1X2, match result",
    "selection": "Stade Brestois",
    "outcome": "Pending",
    "price": "2.80",
    "published_at": "2026-11-06T06:40:00.000Z",
    "recorded_at": "2026-11-06T06:57:08.475Z",
    "lead_hours": 57.3,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-2215c5553009226da4fac4d1",
    "url": "/sources/coteur-com/picks/64/#pick-n-2215c5553009226da4fac4d1",
    "author": "Coteur",
    "author_url": "/sources/coteur-com/",
    "market": "1X2, match result",
    "selection": "draw",
    "outcome": "Pending",
    "price": "3.26",
    "published_at": "2026-11-05T09:50:43.000Z",
    "recorded_at": "2026-11-07T04:30:44.209Z",
    "lead_hours": 35.7,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-2662544a50823e23ea8ba358",
    "url": "/sources/bettingexpert-com/picks/41/#pick-n-2662544a50823e23ea8ba358",
    "author": "BETSiE (AceOdds)",
    "author_url": "/sources/bettingexpert-com/",
    "market": "Both teams to score",
    "selection": "yes",
    "outcome": "Pending",
    "price": "1.68",
    "published_at": null,
    "recorded_at": "2026-11-07T03:52:49.962Z",
    "lead_hours": 36.4,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-b21a3b8bd352b73fc09e7e41",
    "url": "/sources/scores24-live/picks/69/#pick-n-b21a3b8bd352b73fc09e7e41",
    "author": "Scores24",
    "author_url": "/sources/scores24-live/",
    "market": "Both teams to score",
    "selection": "yes",
    "outcome": "Pending",
    "price": "1.64",
    "published_at": null,
    "recorded_at": "2026-11-07T06:00:07.858Z",
    "lead_hours": 34.2,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-494024fa77f97888d66e0a1e",
    "url": "/sources/footballpredictions-com/picks/397/#pick-n-494024fa77f97888d66e0a1e",
    "author": "FootballPredictions.com",
    "author_url": "/sources/footballpredictions-com/",
    "market": "Correct score",
    "selection": "Stade Brestois 1-1 Olympique Lyonnais",
    "outcome": "Pending",
    "price": "6.50",
    "published_at": "2026-11-02T15:42:03.000Z",
    "recorded_at": "2026-11-05T02:29:37.251Z",
    "lead_hours": 85.8,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-738639e3791c936305468a12",
    "url": "/authors/aleksej-tarabrin/picks/2/#pick-n-738639e3791c936305468a12",
    "author": "Aleksej Tarabrin",
    "author_url": "/authors/aleksej-tarabrin/",
    "market": "Double chance",
    "selection": "Stade Brestois or draw",
    "outcome": "Pending",
    "price": "1.55",
    "published_at": null,
    "recorded_at": "2026-11-07T18:39:32.820Z",
    "lead_hours": 21.6,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-4cf44573f36b90a487f2bb4e",
    "url": "/authors/ali-demir/picks/31/#pick-n-4cf44573f36b90a487f2bb4e",
    "author": "Ali Demir",
    "author_url": "/authors/ali-demir/",
    "market": "Double chance",
    "selection": "Stade Brestois or draw",
    "outcome": "Pending",
    "price": "1.50",
    "published_at": "2026-11-06T06:40:00.000Z",
    "recorded_at": "2026-11-06T06:57:08.475Z",
    "lead_hours": 57.3,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-1568368a6c9fdd9709ee13da",
    "url": "/sources/footballpredictions-com/picks/397/#pick-n-1568368a6c9fdd9709ee13da",
    "author": "FootballPredictions.com",
    "author_url": "/sources/footballpredictions-com/",
    "market": "Double chance",
    "selection": "Stade Brestois or draw",
    "outcome": "Pending",
    "price": "1.53",
    "published_at": "2026-11-02T15:42:03.000Z",
    "recorded_at": "2026-11-05T02:29:37.251Z",
    "lead_hours": 85.8,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-7ec1b0a97f10dac41f36c97e",
    "url": "/sources/footballpredictions-com/picks/397/#pick-n-7ec1b0a97f10dac41f36c97e",
    "author": "FootballPredictions.com",
    "author_url": "/sources/footballpredictions-com/",
    "market": "Half-time/full-time",
    "selection": "draw at half-time, draw at full-time",
    "outcome": "Pending",
    "price": "5.50",
    "published_at": "2026-11-02T15:42:03.000Z",
    "recorded_at": "2026-11-05T02:29:37.251Z",
    "lead_hours": 85.8,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   }
  ],
  "by_market": [
   {
    "market": "Double chance",
    "predictions": 3,
    "sources": 3,
    "one_source": false,
    "eligible": 3,
    "different_selections": 0,
    "selections": [
     {
      "selection": "Stade Brestois or draw",
      "predictions": 3,
      "eligible": 3
     }
    ],
    "median_odds": "1.53",
    "odds_from_author": 3,
    "odds_from_snapshot": 0
   },
   {
    "market": "1X2, match result",
    "predictions": 2,
    "sources": 2,
    "one_source": false,
    "eligible": 2,
    "different_selections": 0,
    "selections": [
     {
      "selection": "Stade Brestois",
      "predictions": 1,
      "eligible": 1
     },
     {
      "selection": "draw",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "median_odds": "3.03",
    "odds_from_author": 2,
    "odds_from_snapshot": 0
   },
   {
    "market": "Both teams to score",
    "predictions": 2,
    "sources": 2,
    "one_source": false,
    "eligible": 2,
    "different_selections": 0,
    "selections": [
     {
      "selection": "yes",
      "predictions": 2,
      "eligible": 2
     }
    ],
    "median_odds": "1.66",
    "odds_from_author": 2,
    "odds_from_snapshot": 0
   },
   {
    "market": "Correct score",
    "predictions": 1,
    "sources": 1,
    "one_source": true,
    "eligible": 1,
    "different_selections": 0,
    "selections": [
     {
      "selection": "Stade Brestois 1-1 Olympique Lyonnais",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "implied_by_score": [
     {
      "selection": "draw",
      "predictions": 1
     }
    ],
    "median_odds": "6.50",
    "odds_from_author": 1,
    "odds_from_snapshot": 0
   },
   {
    "market": "Half-time/full-time",
    "predictions": 1,
    "sources": 1,
    "one_source": true,
    "eligible": 1,
    "different_selections": 0,
    "selections": [
     {
      "selection": "draw at half-time, draw at full-time",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "median_odds": "5.50",
    "odds_from_author": 1,
    "odds_from_snapshot": 0
   }
  ],
  "found_after_kickoff": 0,
  "selections_before_kickoff": 9,
  "independent_sources": 6,
  "same_material_repeats": 0,
  "sources_list": [
   {
    "source": "footballpredictions.com",
    "materials": 1,
    "authors": 1,
    "selections": 3
   },
   {
    "source": "sportwetten.bild.de",
    "materials": 1,
    "authors": 1,
    "selections": 2
   },
   {
    "source": "bettingexpert.com",
    "materials": 1,
    "authors": 1,
    "selections": 1
   },
   {
    "source": "coteur.com",
    "materials": 1,
    "authors": 1,
    "selections": 1
   },
   {
    "source": "legalbet.ro",
    "materials": 1,
    "authors": 1,
    "selections": 1
   },
   {
    "source": "scores24.live",
    "materials": 1,
    "authors": 1,
    "selections": 1
   }
  ],
  "what_happened": null,
  "scenarios": [
   {
    "author": "FootballPredictions.com",
    "author_url": "/sources/footballpredictions-com/",
    "picks": 3,
    "record_ids": [
     "n-1568368a6c9fdd9709ee13da",
     "n-494024fa77f97888d66e0a1e",
     "n-7ec1b0a97f10dac41f36c97e"
    ],
    "markets": [
     "Double chance",
     "Correct score",
     "Half-time/full-time"
    ],
    "selections": [
     "Stade Brestois or draw",
     "Stade Brestois 1-1 Olympique Lyonnais",
     "draw at half-time, draw at full-time"
    ],
    "prices": [
     "1.53",
     "6.50",
     "5.50"
    ],
    "outcomes": [
     "Pending",
     "Pending",
     "Pending"
    ],
    "scenario": "Stade Brestois or draw · Stade Brestois 1-1 Olympique Lyonnais · draw at half-time, draw at full-time",
    "result": "pending",
    "recorded_at": "2026-11-05T02:29:37.251Z",
    "lead_hours": 85.8,
    "evidence_urls": [
     "/sources/footballpredictions-com/picks/397/#pick-n-1568368a6c9fdd9709ee13da",
     "/sources/footballpredictions-com/picks/397/#pick-n-494024fa77f97888d66e0a1e",
     "/sources/footballpredictions-com/picks/397/#pick-n-7ec1b0a97f10dac41f36c97e"
    ]
   },
   {
    "author": "Ali Demir",
    "author_url": "/authors/ali-demir/",
    "picks": 2,
    "record_ids": [
     "n-a9926bbf9f62978b83cd7aee",
     "n-4cf44573f36b90a487f2bb4e"
    ],
    "markets": [
     "1X2, match result",
     "Double chance"
    ],
    "selections": [
     "Stade Brestois",
     "Stade Brestois or draw"
    ],
    "prices": [
     "2.80",
     "1.50"
    ],
    "outcomes": [
     "Pending",
     "Pending"
    ],
    "scenario": "Stade Brestois · Stade Brestois or draw",
    "result": "pending",
    "recorded_at": "2026-11-06T06:57:08.475Z",
    "lead_hours": 57.3,
    "evidence_urls": [
     "/authors/ali-demir/picks/31/#pick-n-a9926bbf9f62978b83cd7aee",
     "/authors/ali-demir/picks/31/#pick-n-4cf44573f36b90a487f2bb4e"
    ]
   }
  ],
  "lead_time": {
   "contract_version": 1,
   "threshold_hours": 2.0,
   "picks": 9,
   "before_kickoff": 9,
   "after_kickoff": 0,
   "at_least_2h": 9,
   "share_2h_plus": 100.0,
   "median_hours": 57.3,
   "min_hours": 21.6,
   "max_hours": 85.8,
   "words": "Hours between the moment we recorded the pick and kick-off; the share counts picks recorded at least two hours before kick-off."
  }
 },
 "title_tag": "Stade Brestois vs Olympique Lyonnais Prediction: Tips — 8 Nov 2026",
 "snapshots": {
  "counting_rule": "1",
  "early": {
   "id": "sr-e2ca3e3d46f66ffc248f595b",
   "type_code": "early",
   "moment_at": "2026-11-06T23:50:46.849Z",
   "freeze_at": "2026-11-06T23:50:46.849Z",
   "approach": "at_the_time",
   "methodology_version": "2.2",
   "counting_rule": "1",
   "figures": {
    "chain": {
     "admissible": 5,
     "publications": 5,
     "comparable": 5,
     "unique": 5,
     "contributions": 5
    },
    "group_list": [
     {
      "phrase": "Double chance — Most common recorded selection: Stade Brestois or draw (2 of 2 eligible)",
      "source_group": "double_chance|*|match|*|*#explicit",
      "leader": "1X",
      "n": 2,
      "market_label": "Double chance",
      "row_list": [
       {
        "figure": 2,
        "in_words": "Stade Brestois or draw",
        "choice": "1X"
       }
      ]
     },
     {
      "phrase": "1X2, match result — Most common recorded selection: Stade Brestois (1 of 1 eligible)",
      "source_group": "1x2|*|match|*|*#explicit",
      "leader": "1",
      "n": 1,
      "market_label": "1X2, match result",
      "row_list": [
       {
        "figure": 1,
        "in_words": "Stade Brestois",
        "choice": "1"
       }
      ]
     },
     {
      "phrase": "Half-time/full-time — Most common recorded selection: draw at half-time, draw at full-time (1 of 1 eligible)",
      "source_group": "half_time_full_time|*|match|*|*#explicit",
      "leader": "X/X",
      "n": 1,
      "market_label": "Half-time/full-time",
      "row_list": [
       {
        "figure": 1,
        "in_words": "draw at half-time, draw at full-time",
        "choice": "X/X"
       }
      ]
     },
     {
      "phrase": "Correct score — Most common recorded selection: Stade Brestois 1-1 Olympique Lyonnais (1 of 1 eligible)",
      "source_group": "correct_score_market|*|match|*|*#explicit",
      "leader": "1-1",
      "n": 1,
      "market_label": "Correct score",
      "row_list": [
       {
        "figure": 1,
        "in_words": "Stade Brestois 1-1 Olympique Lyonnais",
        "choice": "1-1"
       }
      ]
     }
    ],
    "counting_rule": "1",
    "different_products": 0,
    "differing_choices": 0,
    "not_counted": 0
   },
   "composition": [
    "n-1568368a6c9fdd9709ee13da",
    "n-494024fa77f97888d66e0a1e",
    "n-4cf44573f36b90a487f2bb4e",
    "n-7ec1b0a97f10dac41f36c97e",
    "n-a9926bbf9f62978b83cd7aee"
   ],
   "hash": "700db849c849bee4ee5f31422681ff6375b90c2640362f4e6aa501f959f79541"
  },
  "closing_line": null,
  "author_rows": [],
  "late_additions": null,
  "chips": null
 },
 "match_card": {
  "revision": "1",
  "gates": "B",
  "open_to_search": true,
  "inputs": {
   "prediction_count": 3,
   "publisher_count": 3,
   "contract": "double_chance|*|match|*|*#explicit",
   "forecaster_count": 6,
   "publishers_all": 6,
   "topic_count": 0,
   "checked_count": false,
   "competition_authors": [
    {
     "settled_count": 119
    },
    {
     "settled_count": 48
    },
    {
     "settled_count": 36
    },
    {
     "settled_count": 21
    },
    {
     "settled_count": 18
    },
    {
     "settled_count": 12
    },
    {
     "settled_count": 11
    },
    {
     "settled_count": 11
    },
    {
     "settled_count": 11
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 3
    },
    {
     "settled_count": 3
    },
    {
     "settled_count": 2
    },
    {
     "settled_count": 1
    },
    {
     "settled_count": 1
    },
    {
     "settled_count": 1
    },
    {
     "settled_count": 1
    },
    {
     "settled_count": 1
    }
   ],
   "started": false,
   "facts_only": false,
   "counted_predictions": 9,
   "counted_sources": 6
  },
  "gates_words": "Open to search: 9 counted predictions from 6 different sources",
  "created_from": "prediction_page",
  "prediction_count": 2,
  "publisher_count": 6,
  "forecaster_count": 1,
  "newcomer_count": 7,
  "competition_authors": [
   {
    "name_shown": "Samet Yalica",
    "url": "/authors/samet-yalica/",
    "source_group": "tipsters",
    "settled_count": 48,
    "match_count": 200,
    "portion": "archived",
    "portion_words": "Archived before kick-off · reconstructed at the last pre-match archive price",
    "return_percent": "-6.6",
    "too_few": false
   },
   {
    "name_shown": "Baba",
    "url": "/authors/baba/",
    "source_group": "tipsters",
    "settled_count": 36,
    "match_count": 14,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": "25.3",
    "too_few": false,
    "header_titles": [
     {
      "title_id": "zk-5ed8b1279a481fcc4214",
      "code_name": "P-09",
      "title_tier": "dated_record",
      "badge_label": "2. Bundesliga · 5/8 · 26 Oct",
      "body": "2. Bundesliga, week of 26 Oct 2026: 5/8 result calls right, first of 6 tipsters and sources with 3+ calls",
      "provenance": "live",
      "anchor_id": "title-5ed8b1279a48",
      "url": null,
      "tier": null,
      "event_at": "2026-11-01"
     },
     {
      "title_id": "zk-37e18fe87e18079a2945",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 7 · 31 Oct",
      "body": "Only one right of 7 tipsters and sources · Draw · Kocaelispor v Rizespor · 31 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-37e18fe87e18",
      "url": null,
      "tier": null,
      "event_at": "2026-10-31"
     }
    ]
   },
   {
    "name_shown": "Dailysports",
    "url": "/sources/dailysports-net/",
    "source_group": "websites",
    "settled_count": 18,
    "match_count": 24,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": "25.1",
    "too_few": false,
    "header_titles": [
     {
      "title_id": "zk-1f2dc73852fb72ab0133",
      "code_name": "P-09",
      "title_tier": "dated_record",
      "badge_label": "Bundesliga · 2/3 · 26 Oct",
      "body": "Bundesliga, week of 26 Oct 2026: 2/3 result calls right, first of 22 tipsters and sources with 3+ calls",
      "provenance": "live",
      "anchor_id": "title-1f2dc73852fb",
      "url": null,
      "tier": null,
      "event_at": "2026-11-01"
     },
     {
      "title_id": "zk-ca7508509979566f1f5d",
      "code_name": "S-01",
      "title_tier": "dated_record",
      "badge_label": "8 right in a row · 12 Oct",
      "body": "8 matches in a row, every pick correct · 11 Oct–12 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-ca7508509979",
      "url": null,
      "tier": null,
      "event_at": "2026-10-12"
     }
    ]
   },
   {
    "name_shown": "Adeyeye Oluwapelumi",
    "url": "/authors/adeyeye-oluwapelumi/",
    "source_group": "experts",
    "settled_count": 16,
    "match_count": 15,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": "62.5",
    "too_few": false,
    "header_titles": [
     {
      "title_id": "zk-8da5bd8d8162c9e9ea53",
      "code_name": "CS-10",
      "title_tier": "dated_record",
      "badge_label": "Exact score 1–2 · 26 Oct",
      "body": "Exact score 1–2 · Santa Clara v Benfica · 26 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-8da5bd8d8162",
      "url": null,
      "tier": null,
      "event_at": "2026-10-26"
     },
     {
      "title_id": "zk-ec7cb1a48c134e50ee80",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 3.40 · 15 Oct",
      "body": "Away win at 3.40 · TSG Hoffenheim v Beşiktaş · 15 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-ec7cb1a48c13",
      "url": null,
      "tier": null,
      "event_at": "2026-10-15"
     }
    ]
   },
   {
    "name_shown": "Enrico Giordano",
    "url": "/authors/enrico-giordano/",
    "source_group": "tipsters",
    "settled_count": 11,
    "match_count": 296,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": "-13.9",
    "too_few": false,
    "header_titles": [
     {
      "title_id": "zk-4117c0f114b776ec945d",
      "code_name": "P-09",
      "title_tier": "dated_record",
      "badge_label": "Eredivisie · 2/3 · 12 Oct",
      "body": "Eredivisie, week of 12 Oct 2026: 2/3 result calls right, first of 6 tipsters and sources with 3+ calls",
      "provenance": "live",
      "anchor_id": "title-4117c0f114b7",
      "url": null,
      "tier": null,
      "event_at": "2026-10-18"
     },
     {
      "title_id": "zk-4eae8de48fafb3d634c4",
      "code_name": "S-01",
      "title_tier": "dated_record",
      "badge_label": "6 right in a row · 31 Oct",
      "body": "6 matches in a row, every pick correct · 31 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-4eae8de48faf",
      "url": null,
      "tier": null,
      "event_at": "2026-10-31"
     }
    ]
   },
   {
    "name_shown": "Marvellous Adepoju",
    "url": "/authors/marvellous-adepoju/",
    "source_group": "experts",
    "settled_count": 11,
    "match_count": 7,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": "-7.7",
    "too_few": false,
    "header_titles": [
     {
      "title_id": "zk-89eb02ffbe61527e7d1f",
      "code_name": "P-01",
      "title_tier": "dated_record",
      "badge_label": "4/5 · week of 26 Oct",
      "body": "4/5 result calls right · week of 26 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-89eb02ffbe61",
      "url": null,
      "tier": null,
      "event_at": "2026-11-01"
     },
     {
      "title_id": "zk-c52190c3368ca2d50892",
      "code_name": "CS-10",
      "title_tier": "dated_record",
      "badge_label": "Exact score 1–2 · 26 Oct",
      "body": "Exact score 1–2 · Santa Clara v Benfica · 26 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-c52190c3368c",
      "url": null,
      "tier": null,
      "event_at": "2026-10-26"
     }
    ]
   },
   {
    "name_shown": "Tobias Brandt",
    "url": "/authors/tobias-brandt/",
    "source_group": "tipsters",
    "settled_count": 11,
    "match_count": 7,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": "-34.3",
    "too_few": false,
    "header_titles": [
     {
      "title_id": "zk-a918907756db44b32205",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 11 · 17 Oct",
      "body": "Only one right of 11 tipsters and sources · Home win · Hamburger SV v VfB Stuttgart · 17 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-a918907756db",
      "url": null,
      "tier": null,
      "event_at": "2026-10-17"
     },
     {
      "title_id": "zk-124f63495b68bb44a349",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 8.50 · 31 Oct",
      "body": "Draw at 8.50 · Feyenoord v Fortuna Sittard · 31 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-124f63495b68",
      "url": null,
      "tier": null,
      "event_at": "2026-10-31"
     }
    ]
   },
   {
    "name_shown": "Free Super Tips",
    "url": "/sources/free-super-tips/",
    "source_group": "websites",
    "settled_count": 10,
    "match_count": 12,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": "100.4",
    "too_few": false,
    "header_titles": [
     {
      "title_id": "zk-73ce7fd9e5f9fd07b8cb",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 8 · 17 Oct",
      "body": "Only one right of 8 tipsters and sources · Away win · Brentford v Liverpool · 17 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-73ce7fd9e5f9",
      "url": null,
      "tier": null,
      "event_at": "2026-10-17"
     },
     {
      "title_id": "zk-40ac82fdc6c742107246",
      "code_name": "CS-10",
      "title_tier": "dated_record",
      "badge_label": "Exact score 3–1 · 6 Nov",
      "body": "Exact score 3–1 · Toulouse v RC Strasbourg · 6 Nov 2026",
      "provenance": "live",
      "anchor_id": "title-40ac82fdc6c7",
      "url": null,
      "tier": null,
      "event_at": "2026-11-06"
     }
    ]
   },
   {
    "name_shown": "Joshua Cole",
    "url": "/authors/joshua-cole/",
    "source_group": "experts",
    "settled_count": 9,
    "match_count": 10,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-12229464e25b26694d54",
      "code_name": "P-02",
      "title_tier": "dated_record",
      "badge_label": "No.1 · week of 12 Oct",
      "body": "No.1 of 11 · 9/11 result calls right · week of 12 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-12229464e25b",
      "url": null,
      "tier": "No.1",
      "event_at": "2026-10-18"
     },
     {
      "title_id": "zk-1f2df03495edde3b9407",
      "code_name": "P-09",
      "title_tier": "dated_record",
      "badge_label": "Süper Lig · 3/3 · 19 Oct",
      "body": "Süper Lig, week of 19 Oct 2026: 3/3 result calls right, first of 5 tipsters and sources with 3+ calls",
      "provenance": "live",
      "anchor_id": "title-1f2df03495ed",
      "url": null,
      "tier": null,
      "event_at": "2026-10-25"
     }
    ]
   },
   {
    "name_shown": "Ali Demir",
    "url": "/authors/ali-demir/",
    "source_group": "tipsters",
    "settled_count": 4,
    "match_count": 5,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-e8d773eb29699a689dc2",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 6 · 25 Oct",
      "body": "Only one right of 6 tipsters and sources · Draw · Santos v Bahia · 25 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-e8d773eb2969",
      "url": null,
      "tier": null,
      "event_at": "2026-10-25"
     },
     {
      "title_id": "zk-b3dc711a627ebea53e70",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 4.70 · 24 Oct",
      "body": "Home win at 4.70 · Aston Villa v Manchester City · 24 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-b3dc711a627e",
      "url": null,
      "tier": null,
      "event_at": "2026-10-24"
     }
    ]
   },
   {
    "name_shown": "Fabian Schuster",
    "url": "/authors/fabian-schuster/",
    "source_group": "tipsters",
    "settled_count": 3,
    "match_count": 7,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-995afab395afa7f853bd",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 7 · 6 Nov",
      "body": "Only one right of 7 tipsters and sources · Draw · Eintracht Braunschweig v Cottbus · 6 Nov 2026",
      "provenance": "live",
      "anchor_id": "title-995afab395af",
      "url": null,
      "tier": null,
      "event_at": "2026-11-06"
     },
     {
      "title_id": "zk-b9b44f30079e1d970ae9",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 3.73 · 24 Oct",
      "body": "Draw at 3.73 · 1. FC Köln v FC Schalke 04 · 24 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-b9b44f30079e",
      "url": null,
      "tier": null,
      "event_at": "2026-10-24"
     }
    ]
   },
   {
    "name_shown": "FootballPredictions.net",
    "url": "/sources/footballpredictions-net/",
    "source_group": "websites",
    "settled_count": 3,
    "match_count": 12,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-47cc45887781ed2bc810",
      "code_name": "P-09",
      "title_tier": "dated_record",
      "badge_label": "1st of 3 · week of 5 Oct",
      "body": "UEFA Nations League, week of 5 Oct 2026: 4/5 result calls right, first of 3 tipsters and sources with 3+ calls",
      "provenance": "live",
      "anchor_id": "title-47cc45887781",
      "url": null,
      "tier": null,
      "event_at": "2026-10-11"
     },
     {
      "title_id": "zk-3f294e364978e9d313ed",
      "code_name": "S-01",
      "title_tier": "dated_record",
      "badge_label": "5 right in a row · 6 Oct",
      "body": "5 matches in a row, every pick correct · 6 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-3f294e364978",
      "url": null,
      "tier": null,
      "event_at": "2026-10-06"
     }
    ]
   },
   {
    "name_shown": "Infobetting",
    "url": "/sources/infobetting-com/",
    "source_group": "websites",
    "settled_count": 3,
    "match_count": 9,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-5f259bebd944649c02ef",
      "code_name": "S-01",
      "title_tier": "dated_record",
      "badge_label": "7 right in a row · 1 Nov",
      "body": "7 matches in a row, every pick correct · 31 Oct–1 Nov 2026",
      "provenance": "live",
      "anchor_id": "title-5f259bebd944",
      "url": null,
      "tier": null,
      "event_at": "2026-11-01"
     },
     {
      "title_id": "zk-abb804e6fe445ae3046d",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 3.25 · 25 Oct",
      "body": "Draw at 3.25 · Angers v Lorient · 25 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-abb804e6fe44",
      "url": null,
      "tier": null,
      "event_at": "2026-10-25"
     }
    ]
   },
   {
    "name_shown": "Jonas Meyer",
    "url": "/authors/jonas-meyer/",
    "source_group": "tipsters",
    "settled_count": 3,
    "match_count": 3,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true,
    "header_titles": [
     {
      "title_id": "zk-225e034bae6cf63b4f0b",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 8 · 10 Oct",
      "body": "Only one right of 8 tipsters and sources · Draw · Monaco v Toulouse · 10 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-225e034bae6c",
      "url": null,
      "tier": null,
      "event_at": "2026-10-10"
     },
     {
      "title_id": "zk-567225b1675f40afc96e",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 3.75 · 23 Oct",
      "body": "Draw at 3.75 · Deportivo Alavés v Málaga CF · 23 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-567225b1675f",
      "url": null,
      "tier": null,
      "event_at": "2026-10-23"
     }
    ]
   },
   {
    "name_shown": "Aaron Ashley",
    "url": "/authors/aaron-ashley/",
    "source_group": "experts",
    "settled_count": 1,
    "match_count": 1,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": null,
    "too_few": true
   }
  ],
  "competition_authors_total": 20,
  "competition_authors_10": 8,
  "full": false,
  "facts_only": false,
  "checked_count": null,
  "window": {
   "d_minus_14_at": "2026-10-25T16:15:00.000Z",
   "d_minus_3_at": "2026-11-05T16:15:00.000Z"
  },
  "first_screen": {
   "body": "As of 7 November 2026, 18:39 UTC (latest recorded prediction), 2 tipsters and sources with 10 or more predictions checked against the final score to date had a 90-minute match-result prediction: Stade Brestois 1 · Draw 1 · Olympique Lyonnais 0. Another 1 predicted an exact score (implied: Stade Brestois 0 · Draw 1 · Olympique Lyonnais 0). 3 gave other markets only.",
   "byline": "Split of recorded tipsters and sources.",
   "outcome_split": {
    "1": 1,
    "X": 1,
    "2": 0
   },
   "forecasters_outcome": 2,
   "from_score": {
    "X": 1
   },
   "forecasters_from_score": 1,
   "other_markets_only": 3,
   "newcomers": null,
   "market_label": "Market favourite: Olympique Lyonnais · implied 39%",
   "market_at": "2026-11-07T19:52:23.438Z",
   "predictions_at": "2026-11-07T18:39:32.820Z",
   "comparison": null
  },
  "who_what": {
   "contracts": [
    {
     "contract_code": "1x2|*|match|*|*#explicit",
     "source_group": "explicit",
     "market_label": "1X2, match result",
     "market_key": "1x2",
     "choices": [
      {
       "code_name": "1",
       "in_words": "Stade Brestois",
       "tips": [
        {
         "entry_id": "n-a9926bbf9f62978b83cd7aee",
         "author_name": "Ali Demir",
         "author_href": "/authors/ali-demir/",
         "source_group": "tipsters",
         "trust_tier": "tracked",
         "market_label": "1X2, match result",
         "market_key": "1x2",
         "choice": "Stade Brestois",
         "choice_key": "1",
         "byline": "Recorded by us before kick-off",
         "logged_at": "2026-11-06T06:57:08.475Z",
         "posted_at": "2026-11-06T06:40:00.000Z",
         "author_quoted_price": "2.80",
         "our_snapshot": "2.8000",
         "closing_line": null,
         "outcome_label": "Pending",
         "pre_match": true,
         "outcome_pending_reason": null,
         "proof": "/authors/ali-demir/picks/31/#pick-n-a9926bbf9f62978b83cd7aee",
         "original": "https://sportwetten.bild.de/tipps/stade-brest-lyon-prognose-08-11-2026/",
         "contradictory": false,
         "authorship": null,
         "chips": [],
         "tracker": null,
         "tally": {
          "settled_picks": 19,
          "won": 6,
          "void": 0,
          "return_percent": "-16.2",
          "period_from": "2026-10-18",
          "period_to": "2026-11-05",
          "portion": "live",
          "market_label": "1X2, match result"
         },
         "prematch_tally": null,
         "source_type": "media",
         "entry_record": {
          "scope": "market",
          "competition": null,
          "market_key": "1x2",
          "portion": "live",
          "n": 19,
          "won": 6,
          "lost": 13,
          "void": 0,
          "net_points_hundredths": -30850,
          "return_percent": "-16.2",
          "avg_odds": "3.74",
          "odds_from_author": 19,
          "odds_from_snapshot": 0,
          "league_market_n": 1,
          "market_n": 19,
          "small_sample": false,
          "period_from": "2026-10-18",
          "period_to": "2026-11-05",
          "as_of": "2026-11-08T16:15:00.000Z"
         },
         "repeats": 0,
         "publications": 1
        }
       ],
       "figure": 1
      }
     ],
     "n": 1,
     "publisher_count": 1
    },
    {
     "contract_code": "double_chance|*|match|*|*#explicit",
     "source_group": "explicit",
     "market_label": "Double chance",
     "market_key": "double_chance",
     "choices": [
      {
       "code_name": "1X",
       "in_words": "Stade Brestois or draw",
       "tips": [
        {
         "entry_id": "n-4cf44573f36b90a487f2bb4e",
         "author_name": "Ali Demir",
         "author_href": "/authors/ali-demir/",
         "source_group": "tipsters",
         "trust_tier": "tracked",
         "market_label": "Double chance",
         "market_key": "double_chance",
         "choice": "Stade Brestois or draw",
         "choice_key": "1X",
         "byline": "Recorded by us before kick-off",
         "logged_at": "2026-11-06T06:57:08.475Z",
         "posted_at": "2026-11-06T06:40:00.000Z",
         "author_quoted_price": "1.50",
         "our_snapshot": "1.5400",
         "closing_line": null,
         "outcome_label": "Pending",
         "pre_match": true,
         "outcome_pending_reason": null,
         "proof": "/authors/ali-demir/picks/31/#pick-n-4cf44573f36b90a487f2bb4e",
         "original": "https://sportwetten.bild.de/tipps/stade-brest-lyon-prognose-08-11-2026/",
         "contradictory": false,
         "authorship": null,
         "chips": [],
         "tracker": null,
         "tally": {
          "settled_picks": 21,
          "won": 8,
          "void": 0,
          "return_percent": "-18.9",
          "period_from": "2026-10-09",
          "period_to": "2026-11-07",
          "portion": "live",
          "market_label": "Double chance"
         },
         "prematch_tally": null,
         "source_type": "media",
         "entry_record": {
          "scope": "market",
          "competition": null,
          "market_key": "double_chance",
          "portion": "live",
          "n": 21,
          "won": 8,
          "lost": 13,
          "void": 0,
          "net_points_hundredths": -39745,
          "return_percent": "-18.9",
          "avg_odds": "1.99",
          "odds_from_author": 21,
          "odds_from_snapshot": 0,
          "league_market_n": 2,
          "market_n": 21,
          "small_sample": false,
          "period_from": "2026-10-09",
          "period_to": "2026-11-07",
          "as_of": "2026-11-08T16:15:00.000Z"
         },
         "repeats": 0,
         "publications": 1
        }
       ],
       "figure": 1
      }
     ],
     "n": 1,
     "publisher_count": 1
    }
   ],
   "newcomers": [
    {
     "entry_id": "n-2215c5553009226da4fac4d1",
     "author_name": "Coteur",
     "author_href": "/sources/coteur-com/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "1X2, match result",
     "market_key": "1x2",
     "choice": "draw",
     "choice_key": "X",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-11-07T04:30:44.209Z",
     "posted_at": "2026-11-05T09:50:43.000Z",
     "author_quoted_price": "3.26",
     "our_snapshot": "3.5000",
     "closing_line": null,
     "outcome_label": "Pending",
     "pre_match": true,
     "proof": "/sources/coteur-com/picks/64/#pick-n-2215c5553009226da4fac4d1",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 302
    },
    {
     "entry_id": "n-738639e3791c936305468a12",
     "author_name": "Aleksej Tarabrin",
     "author_href": "/authors/aleksej-tarabrin/",
     "source_group": "tipsters",
     "trust_tier": "probation",
     "market_label": "Double chance",
     "market_key": "double_chance",
     "choice": "Stade Brestois or draw",
     "choice_key": "1X",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-11-07T18:39:32.820Z",
     "posted_at": null,
     "author_quoted_price": "1.55",
     "our_snapshot": "1.5500",
     "closing_line": null,
     "outcome_label": "Pending",
     "pre_match": true,
     "proof": "/authors/aleksej-tarabrin/picks/2/#pick-n-738639e3791c936305468a12",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "private_authors",
     "own_page": true,
     "trust_settled_count": 395
    },
    {
     "entry_id": "n-2662544a50823e23ea8ba358",
     "author_name": "BETSiE (AceOdds)",
     "author_href": "/sources/bettingexpert-com/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "Both teams to score",
     "market_key": "both_teams_score",
     "choice": "yes",
     "choice_key": "yes",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-11-07T03:52:49.962Z",
     "posted_at": null,
     "author_quoted_price": "1.68",
     "our_snapshot": "1.6667",
     "closing_line": null,
     "outcome_label": "Pending",
     "pre_match": true,
     "proof": "/sources/bettingexpert-com/picks/41/#pick-n-2662544a50823e23ea8ba358",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 383
    },
    {
     "entry_id": "n-494024fa77f97888d66e0a1e",
     "author_name": "FootballPredictions.com",
     "author_href": "/sources/footballpredictions-com/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "Correct score",
     "market_key": "correct_score_market",
     "choice": "Stade Brestois 1-1 Olympique Lyonnais",
     "choice_key": "1-1",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-11-05T02:29:37.251Z",
     "posted_at": "2026-11-02T15:42:03.000Z",
     "author_quoted_price": "6.50",
     "our_snapshot": null,
     "closing_line": null,
     "outcome_label": "Pending",
     "pre_match": true,
     "proof": "/sources/footballpredictions-com/picks/397/#pick-n-494024fa77f97888d66e0a1e",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 3753
    },
    {
     "entry_id": "n-1568368a6c9fdd9709ee13da",
     "author_name": "FootballPredictions.com",
     "author_href": "/sources/footballpredictions-com/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "Double chance",
     "market_key": "double_chance",
     "choice": "Stade Brestois or draw",
     "choice_key": "1X",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-11-05T02:29:37.251Z",
     "posted_at": "2026-11-02T15:42:03.000Z",
     "author_quoted_price": "1.53",
     "our_snapshot": "1.5900",
     "closing_line": null,
     "outcome_label": "Pending",
     "pre_match": true,
     "proof": "/sources/footballpredictions-com/picks/397/#pick-n-1568368a6c9fdd9709ee13da",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 3753
    },
    {
     "entry_id": "n-7ec1b0a97f10dac41f36c97e",
     "author_name": "FootballPredictions.com",
     "author_href": "/sources/footballpredictions-com/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "Half-time/full-time",
     "market_key": "half_time_full_time",
     "choice": "draw at half-time, draw at full-time",
     "choice_key": "X/X",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-11-05T02:29:37.251Z",
     "posted_at": "2026-11-02T15:42:03.000Z",
     "author_quoted_price": "5.50",
     "our_snapshot": null,
     "closing_line": null,
     "outcome_label": "Pending",
     "pre_match": true,
     "proof": "/sources/footballpredictions-com/picks/397/#pick-n-7ec1b0a97f10dac41f36c97e",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 3753
    },
    {
     "entry_id": "n-b21a3b8bd352b73fc09e7e41",
     "author_name": "Scores24",
     "author_href": "/sources/scores24-live/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "Both teams to score",
     "market_key": "both_teams_score",
     "choice": "yes",
     "choice_key": "yes",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-11-07T06:00:07.858Z",
     "posted_at": null,
     "author_quoted_price": "1.64",
     "our_snapshot": "1.6500",
     "closing_line": null,
     "outcome_label": "Pending",
     "pre_match": true,
     "proof": "/sources/scores24-live/picks/69/#pick-n-b21a3b8bd352b73fc09e7e41",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 450
    }
   ],
   "not_counted": [],
   "after_start": [],
   "forecaster_split": {
    "contracts": [
     {
      "contract_code": "1x2|*|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "1X2, match result",
      "market_key": "1x2",
      "choices": [
       {
        "code_name": "1",
        "in_words": "Stade Brestois",
        "tips": [
         {
          "author_name": "Ali Demir",
          "entry_id": "n-a9926bbf9f62978b83cd7aee",
          "outcome_label": "Pending",
          "source_group": "tipsters"
         }
        ],
        "figure": 1
       },
       {
        "code_name": "X",
        "in_words": "Draw",
        "tips": [
         {
          "author_name": "Coteur",
          "entry_id": "n-2215c5553009226da4fac4d1",
          "outcome_label": "Pending",
          "source_group": "websites"
         }
        ],
        "figure": 1
       },
       {
        "code_name": "2",
        "in_words": "Olympique Lyonnais",
        "tips": [],
        "figure": 0
       }
      ],
      "n": 2,
      "publisher_count": 2
     },
     {
      "contract_code": "double_chance|*|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "Double chance",
      "market_key": "double_chance",
      "choices": [
       {
        "code_name": "1X",
        "in_words": "Stade Brestois or draw",
        "tips": [
         {
          "author_name": "Aleksej Tarabrin",
          "entry_id": "n-738639e3791c936305468a12",
          "outcome_label": "Pending",
          "source_group": "tipsters"
         },
         {
          "author_name": "Ali Demir",
          "entry_id": "n-4cf44573f36b90a487f2bb4e",
          "outcome_label": "Pending",
          "source_group": "tipsters"
         },
         {
          "author_name": "FootballPredictions.com",
          "entry_id": "n-1568368a6c9fdd9709ee13da",
          "outcome_label": "Pending",
          "source_group": "websites"
         }
        ],
        "figure": 3
       }
      ],
      "n": 3,
      "publisher_count": 3
     },
     {
      "contract_code": "both_teams_score|*|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "Both teams to score",
      "market_key": "both_teams_score",
      "choices": [
       {
        "code_name": "yes",
        "in_words": "yes",
        "tips": [
         {
          "author_name": "BETSiE (AceOdds)",
          "entry_id": "n-2662544a50823e23ea8ba358",
          "outcome_label": "Pending",
          "source_group": "websites"
         },
         {
          "author_name": "Scores24",
          "entry_id": "n-b21a3b8bd352b73fc09e7e41",
          "outcome_label": "Pending",
          "source_group": "websites"
         }
        ],
        "figure": 2
       }
      ],
      "n": 2,
      "publisher_count": 2
     },
     {
      "contract_code": "correct_score_market|*|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "Correct score",
      "market_key": "correct_score_market",
      "choices": [
       {
        "code_name": "1-1",
        "in_words": "Stade Brestois 1-1 Olympique Lyonnais",
        "tips": [
         {
          "author_name": "FootballPredictions.com",
          "entry_id": "n-494024fa77f97888d66e0a1e",
          "outcome_label": "Pending",
          "source_group": "websites"
         }
        ],
        "figure": 1
       }
      ],
      "n": 1,
      "publisher_count": 1
     },
     {
      "contract_code": "half_time_full_time|*|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "Half-time/full-time",
      "market_key": "half_time_full_time",
      "choices": [
       {
        "code_name": "X/X",
        "in_words": "draw at half-time, draw at full-time",
        "tips": [
         {
          "author_name": "FootballPredictions.com",
          "entry_id": "n-7ec1b0a97f10dac41f36c97e",
          "outcome_label": "Pending",
          "source_group": "websites"
         }
        ],
        "figure": 1
       }
      ],
      "n": 1,
      "publisher_count": 1
     }
    ],
    "author_count": 6,
    "below_threshold": {
     "prediction_count": 0,
     "author_count": 0
    },
    "limit": 10
   },
   "chain": {
    "publications": 2,
    "unique": 2,
    "comparable": 2,
    "admissible": 2,
    "contributions": 2
   },
   "differing_choices": 0,
   "visible_who": 1,
   "newcomers_who": 5,
   "newcomers_before": 7,
   "titles_shown": true,
   "legend": "Badges show titles earned before this prediction, by published rules."
  },
  "arguments": {
   "topics": [],
   "against": [],
   "other_languages": 2,
   "other_language_hosts": [
    "sportwetten.bild.de"
   ],
   "mode": "quotes",
   "topics_total": 0,
   "checkable": 0
  },
  "market_label": {
   "favourite_code": "2",
   "favourite": "Olympique Lyonnais",
   "probabilities": [
    {
     "outcome_label": "1",
     "in_words": "Stade Brestois",
     "percent_value": 34
    },
    {
     "outcome_label": "X",
     "in_words": "Draw",
     "percent_value": 27
    },
    {
     "outcome_label": "2",
     "in_words": "Olympique Lyonnais",
     "percent_value": 39
    }
   ],
   "prices": {
    "1": "2.75",
    "X": "3.50",
    "2": "2.45"
   },
   "group_count": 30,
   "bookmakers": 46,
   "snapshot_at": "2026-11-07T19:52:23.438Z",
   "closing_line": false,
   "first_at": "2026-10-29T00:12:19.060Z",
   "shift_pp": 2.7,
   "phrase": "The market has barely changed its mind since our first snapshot on 29 October 2026: Olympique Lyonnais 41% then, 39% now.",
   "technique": "Median across groups of bookmakers, without margin: brands on one platform count once (median within the group); betting exchanges and prediction markets are excluded. Market price from an odds aggregator; the data provider is not named.",
   "t24": {
    "snapshot_at": "2026-11-07T16:15:00.000Z",
    "probabilities": {
     "1": 34,
     "2": 38,
     "X": 27
    }
   }
  },
  "market_mode": "show",
  "fact_sheet": {
   "tournament": "Ligue 1 (France)",
   "matchday": "Matchweek 10",
   "starts_at": "2026-11-08T16:15:00.000Z",
   "form": {
    "home_side": [
     {
      "res": "W",
      "scoreline": "2-0",
      "opponent": "Lorient",
      "at_home": false,
      "data": "2026-11-02"
     },
     {
      "res": "L",
      "scoreline": "1-2",
      "opponent": "Nice",
      "at_home": true,
      "data": "2026-10-23"
     },
     {
      "res": "D",
      "scoreline": "1-1",
      "opponent": "Lille",
      "at_home": false,
      "data": "2026-10-17"
     },
     {
      "res": "W",
      "scoreline": "5-1",
      "opponent": "Angers",
      "at_home": true,
      "data": "2026-10-10"
     },
     {
      "res": "L",
      "scoreline": "1-2",
      "opponent": "Auxerre",
      "at_home": false,
      "data": "2026-09-20"
     }
    ],
    "away": [
     {
      "res": "D",
      "scoreline": "1-1",
      "opponent": "Real Sociedad",
      "at_home": false,
      "data": "2026-11-05"
     },
     {
      "res": "W",
      "scoreline": "2-0",
      "opponent": "Angers",
      "at_home": true,
      "data": "2026-11-01"
     },
     {
      "res": "L",
      "scoreline": "0-2",
      "opponent": "Paris Saint-Germain",
      "at_home": false,
      "data": "2026-10-26"
     },
     {
      "res": "L",
      "scoreline": "0-3",
      "opponent": "TSG Hoffenheim",
      "at_home": false,
      "data": "2026-10-22"
     },
     {
      "res": "W",
      "scoreline": "2-1",
      "opponent": "Nice",
      "at_home": true,
      "data": "2026-10-18"
     }
    ]
   },
   "head_to_head": [],
   "past_cards": [],
   "reach": ""
  },
  "after_match": null,
  "prices": [],
  "revisions": [
   "4 new picks recorded in the last 24 hours.",
   "Market 24 hours before kick-off: Olympique Lyonnais 38%.",
   "First published with predictions on 6 November 2026."
  ],
  "titles": {
   "shown": true,
   "legend": "Badges show titles earned before this prediction, by published rules.",
   "frozen_in": null
  },
  "tracker": null,
  "source_groups": {
   "as_of": "2026-11-08T16:15:00.000Z",
   "groups": [
    {
     "key": "prediction_sites",
     "label": "Prediction sites"
    },
    {
     "key": "media",
     "label": "Media"
    },
    {
     "key": "telegram_channels",
     "label": "Telegram channels"
    },
    {
     "key": "private_authors",
     "label": "Independent tipsters"
    }
   ],
   "authors": 6,
   "by_group": [
    {
     "key": "prediction_sites",
     "authors": 0
    },
    {
     "key": "media",
     "authors": 1
    },
    {
     "key": "telegram_channels",
     "authors": 4
    },
    {
     "key": "private_authors",
     "authors": 1
    }
   ],
   "markets": [
    {
     "key": "1x2",
     "label": "Match result",
     "authors": 2,
     "by_group": [
      {
       "key": "prediction_sites",
       "authors": 0
      },
      {
       "key": "media",
       "authors": 1
      },
      {
       "key": "telegram_channels",
       "authors": 1
      },
      {
       "key": "private_authors",
       "authors": 0
      }
     ],
     "choices": [
      {
       "code_name": "1",
       "in_words": "Stade Brestois",
       "authors": 1,
       "by_group": [
        {
         "key": "prediction_sites",
         "authors": 0
        },
        {
         "key": "media",
         "authors": 1
        },
        {
         "key": "telegram_channels",
         "authors": 0
        },
        {
         "key": "private_authors",
         "authors": 0
        }
       ]
      },
      {
       "code_name": "X",
       "in_words": "Draw",
       "authors": 1,
       "by_group": [
        {
         "key": "prediction_sites",
         "authors": 0
        },
        {
         "key": "media",
         "authors": 0
        },
        {
         "key": "telegram_channels",
         "authors": 1
        },
        {
         "key": "private_authors",
         "authors": 0
        }
       ]
      },
      {
       "code_name": "2",
       "in_words": "Olympique Lyonnais",
       "authors": 0,
       "by_group": [
        {
         "key": "prediction_sites",
         "authors": 0
        },
        {
         "key": "media",
         "authors": 0
        },
        {
         "key": "telegram_channels",
         "authors": 0
        },
        {
         "key": "private_authors",
         "authors": 0
        }
       ]
      }
     ]
    },
    {
     "key": "totals",
     "label": "Goal totals",
     "authors": 0,
     "by_group": [
      {
       "key": "prediction_sites",
       "authors": 0
      },
      {
       "key": "media",
       "authors": 0
      },
      {
       "key": "telegram_channels",
       "authors": 0
      },
      {
       "key": "private_authors",
       "authors": 0
      }
     ]
    },
    {
     "key": "other",
     "label": "Handicaps, both teams to score, correct score and other markets",
     "authors": 5,
     "by_group": [
      {
       "key": "prediction_sites",
       "authors": 0
      },
      {
       "key": "media",
       "authors": 1
      },
      {
       "key": "telegram_channels",
       "authors": 3
      },
      {
       "key": "private_authors",
       "authors": 1
      }
     ]
    }
   ]
  },
  "market_line": {
   "line_state": "barely_moved",
   "line_frozen": false,
   "phrase": "Market line on 7 November 2026, 19:52 GMT: Stade Brestois 34%, draw 27%, Olympique Lyonnais 39%. Since 29 October 2026, 00:12 GMT it has barely moved: the largest change is 2.7 percentage points (Olympique Lyonnais down).",
   "line_markets": [
    {
     "market_text": "1X2, match result",
     "market_group": "1x2",
     "line_kind": "median_line",
     "margin_included": false,
     "snapshot_at": "2026-11-07T19:52:23.438Z",
     "closing_line": false,
     "probabilities": [
      {
       "outcome_label": "1",
       "in_words": "Stade Brestois",
       "percent_value": 34
      },
      {
       "outcome_label": "X",
       "in_words": "Draw",
       "percent_value": 27
      },
      {
       "outcome_label": "2",
       "in_words": "Olympique Lyonnais",
       "percent_value": 39
      }
     ],
     "group_count": 30,
     "first_at": "2026-10-29T00:12:19.060Z",
     "first_probabilities": {
      "1": 33,
      "2": 41,
      "X": 26
     },
     "shift_pp": 2.7,
     "shift_outcome": "2",
     "shift_direction": "down",
     "line_state": "barely_moved",
     "phrase": "Market line on 7 November 2026, 19:52 GMT: Stade Brestois 34%, draw 27%, Olympique Lyonnais 39%. Since 29 October 2026, 00:12 GMT it has barely moved: the largest change is 2.7 percentage points (Olympique Lyonnais down)."
    },
    {
     "market_text": "Both teams to score",
     "market_group": "other",
     "line_kind": "recorded_price",
     "margin_included": true,
     "closing_line": false,
     "price_sides": [
      {
       "choice": "yes",
       "snapshot_price": "1.65",
       "percent_value": 61,
       "snapshot_at": "2026-11-07T05:58:31.523Z",
       "snapshot_count": 2,
       "first_snapshot_price": "1.67",
       "first_at": "2026-11-07T03:48:25.901Z",
       "shift_pp": 0.6,
       "shift_direction": "up",
       "line_state": "barely_moved"
      }
     ],
     "line_state": "barely_moved",
     "phrase": "Both teams to score, yes: market price 1.65 on 7 November 2026, 05:58 GMT (implied 61%, margin included), 0.6 percentage points up from 7 November 2026, 03:48 GMT."
    }
   ]
  },
  "pre_kickoff_snapshot": {
   "frozen_before_kickoff": false,
   "as_of_moment": "2026-11-07T19:52:23.438Z",
   "starts_at": "2026-11-08T16:15:00.000Z",
   "phrase": "As of 7 November 2026, 19:52 GMT: market line Stade Brestois 34%, draw 27%, Olympique Lyonnais 39%; 1X2, match result, recorded picks before the match (2): 1 on Stade Brestois, 1 on the draw, 0 on Olympique Lyonnais; Double chance, recorded picks before the match (3): 3 on Stade Brestois or draw.",
   "market_line_brief": {
    "snapshot_at": "2026-11-07T19:52:23.438Z",
    "closing_line": false,
    "probabilities": {
     "1": 34,
     "X": 27,
     "2": 39
    }
   },
   "market_groups": [
    {
     "market_group": "1x2",
     "group_markets": [
      {
       "market_text": "1X2, match result",
       "prediction_count": 2,
       "row_count": 2,
       "market_choices": [
        {
         "choice": "Stade Brestois",
         "figure": 1
        },
        {
         "choice": "draw",
         "figure": 1
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": null,
       "phrase": "1X2, match result, recorded picks before the match (2): 1 on Stade Brestois, 1 on the draw, 0 on Olympique Lyonnais",
       "sides_1x2": [
        {
         "side": "1",
         "in_words": "Stade Brestois",
         "figure": 1
        },
        {
         "side": "X",
         "in_words": "draw",
         "figure": 1
        },
        {
         "side": "2",
         "in_words": "Olympique Lyonnais",
         "figure": 0
        }
       ]
      }
     ]
    },
    {
     "market_group": "other",
     "group_markets": [
      {
       "market_text": "Double chance",
       "prediction_count": 3,
       "row_count": 3,
       "market_choices": [
        {
         "choice": "Stade Brestois or draw",
         "figure": 3
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "Double chance, recorded picks before the match (3): 3 on Stade Brestois or draw"
      },
      {
       "market_text": "Both teams to score",
       "prediction_count": 2,
       "row_count": 2,
       "market_choices": [
        {
         "choice": "yes",
         "figure": 2
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "Both teams to score, recorded picks before the match (2): 2 on yes"
      },
      {
       "market_text": "Correct score",
       "prediction_count": 1,
       "row_count": 1,
       "market_choices": [
        {
         "choice": "Stade Brestois 1-1 Olympique Lyonnais",
         "figure": 1
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "Correct score, recorded picks before the match (1): 1 on Stade Brestois 1-1 Olympique Lyonnais"
      },
      {
       "market_text": "Half-time/full-time",
       "prediction_count": 1,
       "row_count": 1,
       "market_choices": [
        {
         "choice": "draw at half-time, draw at full-time",
         "figure": 1
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "Half-time/full-time, recorded picks before the match (1): 1 on draw at half-time, draw at full-time"
      }
     ]
    }
   ],
   "predictions_before_kickoff": 9,
   "majority_threshold": {
    "min_predictions": 5,
    "min_share_percent": 60.0
   }
  },
  "teams_prev_next": [
   {
    "side": "home",
    "team": "Stade Brestois",
    "team_url": "/football/teams/stade-brestois/",
    "participant_id": "u-44fba5fb3adb",
    "previous": {
     "kickoff": "2026-11-02T19:45:00.000Z",
     "name": "Lorient vs Stade Brestois",
     "url": "/football/matches/lorient-vs-stade-brestois-2026-11-02/",
     "competition": "Ligue 1",
     "state": "played",
     "score": "0-2"
    },
    "next": {
     "kickoff": "2026-11-21T19:45:00.000Z",
     "name": "RC Strasbourg vs Stade Brestois",
     "url": "/football/matches/rc-strasbourg-vs-stade-brestois-2026-11-21/",
     "competition": "Ligue 1",
     "state": "upcoming",
     "score": null
    },
    "why": null
   },
   {
    "side": "away",
    "team": "Olympique Lyonnais",
    "team_url": "/football/teams/olympique-lyonnais/",
    "participant_id": "u-d70fc708195b",
    "previous": {
     "kickoff": "2026-11-05T17:45:00.000Z",
     "name": "Real Sociedad vs Olympique Lyonnais",
     "url": "/football/matches/real-sociedad-vs-olympique-lyonnais-2026-11-05/",
     "competition": "UEFA Europa League",
     "state": "played",
     "score": "1-1"
    },
    "next": {
     "kickoff": "2026-11-21T19:45:00.000Z",
     "name": "Lille vs Olympique Lyonnais",
     "url": "/football/matches/lille-vs-olympique-lyonnais-2026-11-21/",
     "competition": "Ligue 1",
     "state": "upcoming",
     "score": null
    },
    "why": null
   }
  ]
 },
 "number_sets": [
  {
   "set": "match.market_line.percent",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|1x2|1",
   "value": 34,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.market_line.percent",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|1x2|X",
   "value": 27,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.market_line.percent",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|1x2|2",
   "value": 39,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.recorded_price.percent",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Both teams to score|yes",
   "value": 61,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|1X2, match result",
   "value": 2,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|1X2, match result|Stade Brestois",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|1X2, match result|draw",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|1X2, match result|Olympique Lyonnais",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Double chance",
   "value": 3,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Double chance",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Double chance|Stade Brestois or draw",
   "value": 3,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Both teams to score",
   "value": 2,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Both teams to score",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Both teams to score|yes",
   "value": 2,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Correct score",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Correct score",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Correct score|Stade Brestois 1-1 Olympique Lyonnais",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Half-time/full-time",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Half-time/full-time",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/|Half-time/full-time|draw at half-time, draw at full-time",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.other_forecasters",
   "entity": "/football/matches/stade-brestois-vs-olympique-lyonnais-2026-11-08/",
   "value": 7,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  }
 ],
 "data_changes": {
  "records_corrected": 0,
  "last_correction_at": null,
  "corrections_url": "/corrections/"
 },
 "entity_id": "event:s-18d8d18d899a",
 "source_revision": 36,
 "title_short": {
  "length": 66,
  "names": [
   "Brest",
   "Lyon"
  ],
  "title": "Brest vs Lyon Prediction: Tips — 8 Nov 2026",
  "title_length": 43
 }
}
