{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "event",
 "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
 "canonical": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "OFI vs Bayer 04 Leverkusen: recorded predictions and results",
 "description": "OFI vs Bayer 04 Leverkusen, 22 October 2026. Final score 0-2 · UEFA Europa League: 8 distinct predictions from 5 authors.",
 "first_paragraph": {
  "body": "OFI finished 0-2 against Bayer 04 Leverkusen. The one recorded correct-score prediction (OFI 2-1 Bayer 04 Leverkusen) did not match. Other markets are shown separately below. Forecast Record recorded 8 statements from 5 authors on OFI vs Bayer 04 Leverkusen (UEFA Europa League, kick-off 22 October 2026): 8 distinct predictions, all of the statements recorded before kick-off.",
  "key_number": "8",
  "data": "2026-10-22",
  "source_info": "our own evidence archive",
  "brand": "Forecast Record"
 },
 "indexable": true,
 "noindex_reason": null,
 "indexing_threshold": {
  "settled_count": 8,
  "date_count": 1,
  "required_settled": 0,
  "required_dates": 0
 },
 "data_date": "2026-10-22T19:26:06.635Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "746874678ae1ece55af0e63dda6ef649763862c19c4a1e2e5192af0090d9ccc6",
 "dependency_group": "event:s-86c9b6a0c716",
 "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/ofi-vs-bayer-04-leverkusen-2026-10-22/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/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-86c9b6a0c716",
  "display_name": "OFI — Bayer 04 Leverkusen",
  "competition_name": "UEFA Europa League",
  "starts_at": "2026-10-22T16:45:00.000Z",
  "status": "finished",
  "scoreline": "0-2",
  "condition": "finished",
  "condition_words": "finished",
  "result_received_at": "2026-10-22T19:26:06.635Z",
  "postponement": null,
  "consensus": {
   "market_label": "1X2, match result",
   "distribution": [
    {
     "outcome_label": "Bayer 04 Leverkusen",
     "figure": 2,
     "share": "100.0"
    }
   ],
   "n": 2,
   "author_count": 2,
   "median_odds": null,
   "summary": "Most common recorded selection in this market: Bayer 04 Leverkusen — 2 of 2 eligible picks (one per author), with no stated price",
   "late_excluded": 0,
   "contributions": 2,
   "prediction_count": 2,
   "chain": {
    "publications": 8,
    "unique": 8,
    "comparable": 8,
    "admissible": 8,
    "contributions": 8
   },
   "differing_choices": 0,
   "different_products": 0,
   "counting_rule": "1"
  },
  "country_name": "Europe",
  "competition_full": "UEFA Europa League (Europe)"
 },
 "evidence_items": [
  {
   "observation_id": "n-59215b3c35be684776e56ee1",
   "url": "/sources/wedtips-ai/picks/71/#pick-n-59215b3c35be684776e56ee1",
   "quote_text": "Onze definitieve pick valt op de 1X2 markt, waarbij we inzetten op een overwinning voor Bayer Leverkusen",
   "fragment_from": 17166,
   "fragment_to": 17270,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://wedtips.ai/ofi-tegen-bayer-leverkusen-voorspelling-weddenschappen-2026-10-22",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "2d6dcc831e54e41267114163c6b968394d12a4cd800c83d3908e921228b56d94",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-19T05:53:07.632Z",
   "executed_at": "2026-10-22T00:49:02.164Z",
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-86c9b6a0c716",
    "display_name": "OFI — Bayer 04 Leverkusen",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Bayer 04 Leverkusen",
   "odds_set": {
    "by_author": null,
    "our_snapshot": "1.2242",
    "our_snapshot_at": "2026-10-19T05:50:56.042Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 2242,
   "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-10-19T05:53:07.632Z",
    "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": "1X2, match result",
    "choice": "Bayer 04 Leverkusen",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Bayer 04 Leverkusen"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was OFI 0-2 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "fea412b47d591dca6dd37161baa251c221e69bc28b88aa62577c931ac1ac8841",
     "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": "Bayer 04 Leverkusen",
     "decimal_odds": "1.2242",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 2242,
     "executed_at": "2026-10-22T00:49:02.164Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "wedtips.ai",
    "publisher": "wedtips.ai",
    "forecaster": "wedtips.ai",
    "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://wedtips.ai/ofi-tegen-bayer-leverkusen-voorspelling-weddenschappen-2026-10-22",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-5258385801cc8f8ded27740c",
   "url": "/sources/wedtips-ai/picks/71/#pick-n-5258385801cc8f8ded27740c",
   "quote_text": "Onze keuzeOver 2.5Over/Under Doelpunten@1.45 · 64%",
   "fragment_from": 17694,
   "fragment_to": 17744,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://wedtips.ai/ofi-tegen-bayer-leverkusen-voorspelling-weddenschappen-2026-10-22",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "2d6dcc831e54e41267114163c6b968394d12a4cd800c83d3908e921228b56d94",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-19T05:53:07.632Z",
   "executed_at": "2026-11-07T08:31:17.210Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-86c9b6a0c716",
    "display_name": "OFI — Bayer 04 Leverkusen",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Over/Under 2.5 goals",
   "outcome_label": "over 2.5",
   "odds_set": {
    "by_author": "1.45",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At the author's stated price",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": null,
    "detected_at": "2026-10-19T05:53:07.632Z",
    "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": "Over/Under 2.5 goals",
    "choice": "over 2.5",
    "author_odds": "1.45",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "2.5",
    "subject": "goals_total",
    "in_words": "Over/Under 2.5 goals: over 2.5 at 1.45"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was OFI 0-2 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "1551d11bdc9134bf58b8bdeccbdc9f9c7ac3b22cce88592910ccf8e9b95cc950",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": "1.45",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T08:31:17.210Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "e6fe8bae5693e729930883279574abdf4871b04b70a556944b3ef8af726e8893",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 2.5 goals",
     "choice": "over 2.5",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "wedtips.ai",
    "publisher": "wedtips.ai",
    "forecaster": "wedtips.ai",
    "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://wedtips.ai/ofi-tegen-bayer-leverkusen-voorspelling-weddenschappen-2026-10-22",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-17825134d8af49ff5f6df400",
   "url": "/sources/wedtips-ai/picks/71/#pick-n-17825134d8af49ff5f6df400",
   "quote_text": "Beste WaardeJaBeide teams scoren@1.70 · 55%",
   "fragment_from": 17746,
   "fragment_to": 17789,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://wedtips.ai/ofi-tegen-bayer-leverkusen-voorspelling-weddenschappen-2026-10-22",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "2d6dcc831e54e41267114163c6b968394d12a4cd800c83d3908e921228b56d94",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-19T05:53:07.632Z",
   "executed_at": "2026-11-07T08:31:15.532Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-86c9b6a0c716",
    "display_name": "OFI — Bayer 04 Leverkusen",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Both teams to score",
   "outcome_label": "yes",
   "odds_set": {
    "by_author": "1.7",
    "our_snapshot": "1.7463",
    "our_snapshot_at": "2026-10-19T05:50:56.042Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": null,
    "detected_at": "2026-10-19T05:53:07.632Z",
    "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.7",
    "market_key": "both_teams_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Both teams to score: yes at 1.7"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was OFI 0-2 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "ed6d48e46ddfa6b34696fea4da1eef676e32d77ecffb72ddf5297e5a04fc57b3",
     "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.7",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T08:31:13.253Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "593f4c2afcba306035894ae1a9e66d8a7633a62c0abf45052427cb3dca915ee6",
     "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.7463",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-11-07T08:31:15.532Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "wedtips.ai",
    "publisher": "wedtips.ai",
    "forecaster": "wedtips.ai",
    "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://wedtips.ai/ofi-tegen-bayer-leverkusen-voorspelling-weddenschappen-2026-10-22",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-45e3afb367ff87357645e669",
   "url": "/sources/wedtips-ai/picks/71/#pick-n-45e3afb367ff87357645e669",
   "quote_text": "Eerste Helft\n\nBayer Leverkusen\n\n@ 1.56",
   "fragment_from": 674,
   "fragment_to": 712,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://wedtips.ai/ofi-tegen-bayer-leverkusen-voorspelling-weddenschappen-2026-10-22",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "2d6dcc831e54e41267114163c6b968394d12a4cd800c83d3908e921228b56d94",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-19T05:53:07.632Z",
   "executed_at": "2026-11-07T08:20:47.987Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-86c9b6a0c716",
    "display_name": "OFI — Bayer 04 Leverkusen",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "1X2, match result, first half",
   "outcome_label": "Bayer 04 Leverkusen",
   "odds_set": {
    "by_author": "1.56",
    "our_snapshot": "1.5682",
    "our_snapshot_at": "2026-10-19T05:50:56.042Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 5682,
   "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-10-19T05:53:07.632Z",
    "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": "1X2, match result, first half",
    "choice": "Bayer 04 Leverkusen",
    "author_odds": "1.56",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "first_half",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result, first half: Bayer 04 Leverkusen at 1.56"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was OFI 0-2 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "e0df7cac5b7cfd15f193ec8d8c58c6e22abaf116e873cc79381e3cdde1e27eb2",
     "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, first half",
     "choice": "Bayer 04 Leverkusen",
     "decimal_odds": "1.56",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5600,
     "executed_at": "2026-11-07T08:20:46.386Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "8d312f8adcafaeab96553570db19305935007be5f68758fbd83429bed08aa9ef",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result, first half",
     "choice": "Bayer 04 Leverkusen",
     "decimal_odds": "1.5682",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5682,
     "executed_at": "2026-11-07T08:20:47.987Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "wedtips.ai",
    "publisher": "wedtips.ai",
    "forecaster": "wedtips.ai",
    "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://wedtips.ai/ofi-tegen-bayer-leverkusen-voorspelling-weddenschappen-2026-10-22",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3ac463616122790f5945eadd",
   "url": "/sources/scores24-live/picks/24/#pick-n-3ac463616122790f5945eadd",
   "quote_text": "Bayer Leverkusen Handicap (-1,5)\n\n--\n\n1.58",
   "fragment_from": 1916,
   "fragment_to": 1958,
   "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": "443928489969eb57f34ec01a685e61b04428c7ef09d33fb5ac6fdbbc3ce45f92",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-21T00:09:33.246Z",
   "executed_at": "2026-10-24T00:55:50.179Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-86c9b6a0c716",
    "display_name": "OFI — Bayer 04 Leverkusen",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Asian handicap -1.5",
   "outcome_label": "Bayer 04 Leverkusen -1.5",
   "odds_set": {
    "by_author": "1.58",
    "our_snapshot": "1.6400",
    "our_snapshot_at": "2026-10-21T00:07:46.880Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 6400,
   "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-10-21T00:09:33.246Z",
    "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": "Asian handicap -1.5",
    "choice": "Bayer 04 Leverkusen -1.5",
    "author_odds": "1.58",
    "market_key": "handicap_asian",
    "choice_key": "2",
    "period": "match",
    "line": "-1.5",
    "subject": "goals_total",
    "in_words": "Asian handicap -1.5: Bayer 04 Leverkusen -1.5 at 1.58"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was OFI 0-2 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "6cb3ee7fdf2b0e993edd4306656b9d7bff82ebc0b01253e800f8380e467e7b63",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Asian handicap -1.5",
     "choice": "Bayer 04 Leverkusen -1.5",
     "decimal_odds": "1.58",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 5800,
     "executed_at": "2026-10-22T00:42:57.304Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "77f98fd0c6433111bbfb84af376777742b76a12b16d58497c77f1e3e9a89ea4d",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Asian handicap -1.5",
     "choice": "Bayer 04 Leverkusen -1.5",
     "decimal_odds": "1.6400",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 6400,
     "executed_at": "2026-10-24T00:55:50.179Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_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-30026f6b557084e38df3e5bf",
   "url": "/authors/jasper-van-den-boogaard/picks/17/#pick-n-30026f6b557084e38df3e5bf",
   "quote_text": "👉 Conclusie Bayer Leverkusen: Ondanks een flink aantal afwezigen is Leverkusen in topvorm en te sterk voor de meeste tegenstanders in deze fase van het toernooi.",
   "fragment_from": 5622,
   "fragment_to": 5783,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://www.bet-experts.nl/nieuws/wedtips-ofi---bayer-leverkusen-voorspelling-odds-opstellingen-kan-ofi-de-duitsers-verrassen-in-heraklion",
    "display_name": null,
    "speaker": "Jasper van den Boogaard",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "405f3f7e0a766ece6b1d975f0f420cf49792fbc01ee2a7612f2ca7b42ab94b04",
    "material_removed": false
   },
   "published_at": "2026-10-20T08:53:57.000Z",
   "detected_at": "2026-10-22T06:49:31.794Z",
   "executed_at": "2026-10-24T00:53:04.945Z",
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-86c9b6a0c716",
    "display_name": "OFI — Bayer 04 Leverkusen",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Bayer 04 Leverkusen",
   "odds_set": {
    "by_author": null,
    "our_snapshot": "1.2105",
    "our_snapshot_at": "2026-10-22T06:48:17.010Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 2105,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-20T08:53:57.000Z",
    "fragment_basis": "page",
    "source_page_at": "2026-10-20T08:53:57.000Z",
    "detected_at": "2026-10-22T06:49:31.794Z",
    "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": "Bayer 04 Leverkusen",
    "author_odds": null,
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Bayer 04 Leverkusen"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was OFI 0-2 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "99fc950795b42bf4ffe657c03bccb81f6afaad967108a06e9e0eb12a41f08c16",
     "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": "Bayer 04 Leverkusen",
     "decimal_odds": "1.2105",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 2105,
     "executed_at": "2026-10-24T00:53:04.945Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Jasper van den Boogaard",
    "publisher": "Bet-Experts.nl",
    "forecaster": "Jasper van den Boogaard",
    "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.bet-experts.nl/nieuws/wedtips-ofi---bayer-leverkusen-voorspelling-odds-opstellingen-kan-ofi-de-duitsers-verrassen-in-heraklion",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-c7a2734048397af837a24aae",
   "url": "/sources/oddsekspert-no/picks/9/#pick-n-c7a2734048397af837a24aae",
   "quote_text": "I denne kampen tror jeg OFI vil fortsette sin gode form og ta en 2-1 seier over Bayer 04 Leverkusen.",
   "fragment_from": 1322,
   "fragment_to": 1422,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://oddsekspert.no/fotball/kamp/ofi-bayer-04-leverkusen-22-10-2026/",
    "display_name": null,
    "speaker": "OddsEkspert",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "aa966ea1a7c63a52cbd910071d00482256122b08c5ed4c473db50a1add094aa0",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-22T10:29:38.908Z",
   "executed_at": null,
   "statement_class": "score_forecast",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-86c9b6a0c716",
    "display_name": "OFI — Bayer 04 Leverkusen",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Correct score",
   "outcome_label": "OFI 2-1 Bayer 04 Leverkusen",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": null,
    "fragment_basis": "no",
    "source_page_at": "2026-10-22T16:45:00.000Z",
    "detected_at": "2026-10-22T10:29:38.908Z",
    "archive_snapshot_at": null,
    "flags": [
     "after_detection",
     "not_fragment_date"
    ],
    "flag_words": "The source's date is later than our first capture, so the page date is set aside for this prediction.",
    "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": "OFI 2-1 Bayer 04 Leverkusen",
    "author_odds": null,
    "market_key": "correct_score_market",
    "choice_key": "2-1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "Correct score: OFI 2-1 Bayer 04 Leverkusen"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Did not match: the final score was OFI 0-2 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "8f85d1a2195d788c490014965c0715b43ee0dc833a17bfc7bcd799bfe3888b70",
     "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": "OFI",
     "decimal_odds": "12.0000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-24T00:51:56.071Z",
     "methodology_version": "2.2",
     "on_claim_market": false,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "OddsEkspert",
    "publisher": "OddsEkspert.no",
    "forecaster": "OddsEkspert",
    "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://oddsekspert.no/fotball/kamp/ofi-bayer-04-leverkusen-22-10-2026/",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-7d6bccac5a87f313ef1309d0",
   "url": "/sources/footystats-org/picks/53/#pick-n-7d6bccac5a87f313ef1309d0",
   "quote_text": "Over 1.5 Goals OFI vs Bayer Leverkusen\n\n1.08",
   "fragment_from": 1759,
   "fragment_to": 1803,
   "quote_allowed": true,
   "source_info": {
    "medium": "website",
    "url": "https://footystats.org/predictions",
    "display_name": null,
    "speaker": null,
    "authorship": "channel_consensus",
    "media_from_ms": null,
    "bundle_id": "d12aa7fb380c1fc591ec11097940db17ed3acbe3daf3bcc444bcbd3e93676f9d",
    "material_removed": false
   },
   "published_at": null,
   "detected_at": "2026-10-22T12:59:24.529Z",
   "executed_at": "2026-10-24T00:51:29.754Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-86c9b6a0c716",
    "display_name": "OFI — Bayer 04 Leverkusen",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T16:45:00.000Z",
    "url": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Over/Under 1.5 goals",
   "outcome_label": "over 1.5",
   "odds_set": {
    "by_author": "1.08",
    "our_snapshot": "1.0650",
    "our_snapshot_at": "2026-10-22T12:56:55.688Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 650,
   "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-10-22T12:59:24.529Z",
    "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": "Over/Under 1.5 goals",
    "choice": "over 1.5",
    "author_odds": "1.08",
    "market_key": "total",
    "choice_key": "over",
    "period": "match",
    "line": "1.5",
    "subject": "goals_total",
    "in_words": "Over/Under 1.5 goals: over 1.5 at 1.08"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was OFI 0-2 Bayer 04 Leverkusen."
   },
   "settlements": [
    {
     "operation_id": "a893d0a472019cdda2e465c21212f08c6d564a28ba08cae4c3256f65b4e63e43",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 1.5 goals",
     "choice": "over 1.5",
     "decimal_odds": "1.08",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 800,
     "executed_at": "2026-10-24T00:51:28.628Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "f49bef881738d8d9fa424d89a1b826cceeb821496b348bfc3716d20bd902cd38",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Over/Under 1.5 goals",
     "choice": "over 1.5",
     "decimal_odds": "1.0650",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 650,
     "executed_at": "2026-10-24T00:51:29.754Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "FootyStats",
    "publisher": "FootyStats",
    "forecaster": "FootyStats",
    "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://footystats.org/predictions",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  }
 ],
 "record_counts": {
  "dictionary_version": "1",
  "dictionary_url": "/methodology/#words",
  "statements": 8,
  "predictions": 8,
  "authors": 5,
  "statements_before_kickoff": 8,
  "settled_picks": 7,
  "duplicates": 1,
  "junk": {}
 },
 "match_summary": {
  "contract_version": "1",
  "final_score": "0-2",
  "state_words": "finished",
  "distinct_predictions": 8,
  "sources": 5,
  "one_source": false,
  "sentence": "OFI finished 0-2 against Bayer 04 Leverkusen. The one recorded correct-score prediction (OFI 2-1 Bayer 04 Leverkusen) did not match. Other markets are shown separately below.",
  "who_predicted_what": [
   {
    "record_id": "n-30026f6b557084e38df3e5bf",
    "url": "/authors/jasper-van-den-boogaard/picks/17/#pick-n-30026f6b557084e38df3e5bf",
    "author": "Jasper van den Boogaard",
    "author_url": "/authors/jasper-van-den-boogaard/",
    "market": "1X2, match result",
    "selection": "Bayer 04 Leverkusen",
    "outcome": "Won",
    "price": null,
    "published_at": "2026-10-20T08:53:57.000Z",
    "recorded_at": "2026-10-22T06:49:31.794Z",
    "lead_hours": 9.9,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-59215b3c35be684776e56ee1",
    "url": "/sources/wedtips-ai/picks/71/#pick-n-59215b3c35be684776e56ee1",
    "author": "wedtips.ai",
    "author_url": "/sources/wedtips-ai/",
    "market": "1X2, match result",
    "selection": "Bayer 04 Leverkusen",
    "outcome": "Won",
    "price": null,
    "published_at": null,
    "recorded_at": "2026-10-19T05:53:07.632Z",
    "lead_hours": 82.9,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-45e3afb367ff87357645e669",
    "url": "/sources/wedtips-ai/picks/71/#pick-n-45e3afb367ff87357645e669",
    "author": "wedtips.ai",
    "author_url": "/sources/wedtips-ai/",
    "market": "1X2, match result, first half",
    "selection": "Bayer 04 Leverkusen",
    "outcome": "Won",
    "price": "1.56",
    "published_at": null,
    "recorded_at": "2026-10-19T05:53:07.632Z",
    "lead_hours": 82.9,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-3ac463616122790f5945eadd",
    "url": "/sources/scores24-live/picks/24/#pick-n-3ac463616122790f5945eadd",
    "author": "Scores24",
    "author_url": "/sources/scores24-live/",
    "market": "Asian handicap -1.5",
    "selection": "Bayer 04 Leverkusen -1.5",
    "outcome": "Won",
    "price": "1.58",
    "published_at": null,
    "recorded_at": "2026-10-21T00:09:33.246Z",
    "lead_hours": 40.6,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-17825134d8af49ff5f6df400",
    "url": "/sources/wedtips-ai/picks/71/#pick-n-17825134d8af49ff5f6df400",
    "author": "wedtips.ai",
    "author_url": "/sources/wedtips-ai/",
    "market": "Both teams to score",
    "selection": "yes",
    "outcome": "Lost",
    "price": "1.70",
    "published_at": null,
    "recorded_at": "2026-10-19T05:53:07.632Z",
    "lead_hours": 82.9,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-c7a2734048397af837a24aae",
    "url": "/sources/oddsekspert-no/picks/9/#pick-n-c7a2734048397af837a24aae",
    "author": "OddsEkspert.no",
    "author_url": "/sources/oddsekspert-no/",
    "market": "Correct score",
    "selection": "OFI 2-1 Bayer 04 Leverkusen",
    "outcome": "Lost",
    "price": null,
    "published_at": null,
    "recorded_at": "2026-10-22T10:29:38.908Z",
    "lead_hours": 6.3,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-7d6bccac5a87f313ef1309d0",
    "url": "/sources/footystats-org/picks/53/#pick-n-7d6bccac5a87f313ef1309d0",
    "author": "FootyStats",
    "author_url": "/sources/footystats-org/",
    "market": "Over/Under 1.5 goals",
    "selection": "over 1.5",
    "outcome": "Won",
    "price": "1.08",
    "published_at": null,
    "recorded_at": "2026-10-22T12:59:24.529Z",
    "lead_hours": 3.8,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   },
   {
    "record_id": "n-5258385801cc8f8ded27740c",
    "url": "/sources/wedtips-ai/picks/71/#pick-n-5258385801cc8f8ded27740c",
    "author": "wedtips.ai",
    "author_url": "/sources/wedtips-ai/",
    "market": "Over/Under 2.5 goals",
    "selection": "over 2.5",
    "outcome": "Lost",
    "price": "1.45",
    "published_at": null,
    "recorded_at": "2026-10-19T05:53:07.632Z",
    "lead_hours": 82.9,
    "origin": "Recorded by us before kick-off",
    "outcome_reason": null,
    "before_kickoff": true,
    "attribution": null
   }
  ],
  "by_market": [
   {
    "market": "1X2, match result",
    "predictions": 2,
    "sources": 2,
    "one_source": false,
    "eligible": 2,
    "different_selections": 0,
    "selections": [
     {
      "selection": "Bayer 04 Leverkusen",
      "predictions": 2,
      "eligible": 2
     }
    ],
    "median_odds": "1.22",
    "odds_from_author": 0,
    "odds_from_snapshot": 2
   },
   {
    "market": "1X2, match result, first half",
    "predictions": 1,
    "sources": 1,
    "one_source": true,
    "eligible": 1,
    "different_selections": 0,
    "selections": [
     {
      "selection": "Bayer 04 Leverkusen",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "median_odds": "1.56",
    "odds_from_author": 1,
    "odds_from_snapshot": 0
   },
   {
    "market": "Asian handicap -1.5",
    "predictions": 1,
    "sources": 1,
    "one_source": true,
    "eligible": 1,
    "different_selections": 0,
    "selections": [
     {
      "selection": "Bayer 04 Leverkusen -1.5",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "median_odds": "1.58",
    "odds_from_author": 1,
    "odds_from_snapshot": 0
   },
   {
    "market": "Both teams to score",
    "predictions": 1,
    "sources": 1,
    "one_source": true,
    "eligible": 1,
    "different_selections": 0,
    "selections": [
     {
      "selection": "yes",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "median_odds": "1.70",
    "odds_from_author": 1,
    "odds_from_snapshot": 0
   },
   {
    "market": "Correct score",
    "predictions": 1,
    "sources": 1,
    "one_source": true,
    "eligible": 1,
    "different_selections": 0,
    "selections": [
     {
      "selection": "OFI 2-1 Bayer 04 Leverkusen",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "implied_by_score": [
     {
      "selection": "OFI",
      "predictions": 1
     }
    ],
    "median_odds": null,
    "odds_from_author": 0,
    "odds_from_snapshot": 0
   },
   {
    "market": "Over/Under 1.5 goals",
    "predictions": 1,
    "sources": 1,
    "one_source": true,
    "eligible": 1,
    "different_selections": 0,
    "selections": [
     {
      "selection": "over 1.5",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "median_odds": "1.08",
    "odds_from_author": 1,
    "odds_from_snapshot": 0
   },
   {
    "market": "Over/Under 2.5 goals",
    "predictions": 1,
    "sources": 1,
    "one_source": true,
    "eligible": 1,
    "different_selections": 0,
    "selections": [
     {
      "selection": "over 2.5",
      "predictions": 1,
      "eligible": 1
     }
    ],
    "median_odds": "1.45",
    "odds_from_author": 1,
    "odds_from_snapshot": 0
   }
  ],
  "found_after_kickoff": 0,
  "selections_before_kickoff": 8,
  "independent_sources": 5,
  "same_material_repeats": 0,
  "sources_list": [
   {
    "source": "wedtips.ai",
    "materials": 1,
    "authors": 1,
    "selections": 4
   },
   {
    "source": "bet-experts.nl",
    "materials": 1,
    "authors": 1,
    "selections": 1
   },
   {
    "source": "footystats.org",
    "materials": 1,
    "authors": 1,
    "selections": 1
   },
   {
    "source": "oddsekspert.no",
    "materials": 1,
    "authors": 1,
    "selections": 1
   },
   {
    "source": "scores24.live",
    "materials": 1,
    "authors": 1,
    "selections": 1
   }
  ],
  "what_happened": {
   "won": 5,
   "lost": 3,
   "void": 0,
   "half_won": 0,
   "half_lost": 0,
   "not_settled": 0
  },
  "scenarios": [
   {
    "author": "wedtips.ai",
    "author_url": "/sources/wedtips-ai/",
    "picks": 4,
    "record_ids": [
     "n-59215b3c35be684776e56ee1",
     "n-45e3afb367ff87357645e669",
     "n-5258385801cc8f8ded27740c",
     "n-17825134d8af49ff5f6df400"
    ],
    "markets": [
     "1X2, match result",
     "1X2, match result, first half",
     "Over/Under 2.5 goals",
     "Both teams to score"
    ],
    "selections": [
     "Bayer 04 Leverkusen",
     "Bayer 04 Leverkusen",
     "over 2.5",
     "yes"
    ],
    "prices": [
     null,
     "1.56",
     "1.45",
     "1.70"
    ],
    "outcomes": [
     "Won",
     "Won",
     "Lost",
     "Lost"
    ],
    "scenario": "Bayer 04 Leverkusen · Bayer 04 Leverkusen · over 2.5 goals · Both teams to score: yes",
    "result": "any_wrong",
    "recorded_at": "2026-10-19T05:53:07.632Z",
    "lead_hours": 82.9,
    "evidence_urls": [
     "/sources/wedtips-ai/picks/71/#pick-n-59215b3c35be684776e56ee1",
     "/sources/wedtips-ai/picks/71/#pick-n-45e3afb367ff87357645e669",
     "/sources/wedtips-ai/picks/71/#pick-n-5258385801cc8f8ded27740c",
     "/sources/wedtips-ai/picks/71/#pick-n-17825134d8af49ff5f6df400"
    ]
   }
  ],
  "lead_time": {
   "contract_version": 1,
   "threshold_hours": 2.0,
   "picks": 8,
   "before_kickoff": 8,
   "after_kickoff": 0,
   "at_least_2h": 8,
   "share_2h_plus": 100.0,
   "median_hours": 61.8,
   "min_hours": 3.8,
   "max_hours": 82.9,
   "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": "OFI vs Bayer 04 Leverkusen: Predictions and Results — 22 Oct 2026",
 "snapshots": {
  "counting_rule": "1",
  "early": {
   "id": "sr-6b7613bf59049909b1b2d282",
   "type_code": "early",
   "moment_at": "2026-10-20T19:18:53.206Z",
   "freeze_at": "2026-10-20T19:18:53.206Z",
   "approach": "at_the_time",
   "methodology_version": null,
   "counting_rule": "1",
   "figures": {
    "chain": {
     "admissible": 15,
     "publications": 15,
     "comparable": 15,
     "unique": 15,
     "contributions": 15
    },
    "group_list": [
     {
      "phrase": "Asian handicap -0.75 — Most common recorded selection: Bayer 04 Leverkusen -0.75 (2 of 2 eligible)",
      "source_group": "handicap_asian|-0.75|match|*|*#explicit",
      "leader": "2",
      "n": 2,
      "market_label": "Asian handicap -0.75",
      "row_list": [
       {
        "figure": 2,
        "in_words": "Bayer 04 Leverkusen -0.75",
        "choice": "2"
       }
      ]
     },
     {
      "phrase": "1X2, match result — Most common recorded selection: Bayer 04 Leverkusen (1 of 1 eligible)",
      "source_group": "1x2|*|match|*|*#explicit",
      "leader": "2",
      "n": 1,
      "market_label": "1X2, match result",
      "row_list": [
       {
        "figure": 1,
        "in_words": "Bayer 04 Leverkusen",
        "choice": "2"
       }
      ]
     },
     {
      "phrase": "1X2, match result, first half — Most common recorded selection: Bayer 04 Leverkusen (1 of 1 eligible)",
      "source_group": "1x2|*|first_half|*|*#explicit",
      "leader": "2",
      "n": 1,
      "market_label": "1X2, match result, first half",
      "row_list": [
       {
        "figure": 1,
        "in_words": "Bayer 04 Leverkusen",
        "choice": "2"
       }
      ]
     },
     {
      "phrase": "Double chance — Most common recorded selection: draw or Bayer 04 Leverkusen (1 of 1 eligible)",
      "source_group": "double_chance|*|match|*|*#explicit",
      "leader": "X2",
      "n": 1,
      "market_label": "Double chance",
      "row_list": [
       {
        "figure": 1,
        "in_words": "draw or Bayer 04 Leverkusen",
        "choice": "X2"
       }
      ]
     },
     {
      "phrase": "Player to score — Most common recorded selection: da (1 of 1 eligible)",
      "source_group": "player_to_score|*|match|ig-0cd02c381e90|*#explicit",
      "leader": "yes",
      "n": 1,
      "market_label": "Player to score",
      "row_list": [
       {
        "figure": 1,
        "in_words": "da",
        "choice": "yes"
       }
      ]
     },
     {
      "phrase": "Player to score — Most common recorded selection: da (1 of 1 eligible)",
      "source_group": "player_to_score|*|match|ig-18beb04fd9d6|*#explicit",
      "leader": "yes",
      "n": 1,
      "market_label": "Player to score",
      "row_list": [
       {
        "figure": 1,
        "in_words": "da",
        "choice": "yes"
       }
      ]
     }
    ],
    "counting_rule": "1",
    "different_products": 0,
    "differing_choices": 0,
    "not_counted": 0
   },
   "composition": [
    "n-135f4bd6d28ad110d97e6843",
    "n-13c39842a2cae311170f45f2",
    "n-17825134d8af49ff5f6df400",
    "n-2f0e4fdb5e303c5fc8a33308",
    "n-33da38751ebf0fec018e39fc",
    "n-3d5e2d28314958f32384fb35",
    "n-45e3afb367ff87357645e669",
    "n-5258385801cc8f8ded27740c",
    "n-59215b3c35be684776e56ee1",
    "n-752b2da7b3d487b5796c3437",
    "n-938e2570ecce004c18d19172",
    "n-c586fa97c94641b49dfcc47e",
    "n-ce49b87f801d9501d05e128a",
    "n-daf8f9687ae64aa5666d6795",
    "n-e8bb394e622d69840e6a4d8e"
   ],
   "hash": "e86313861fd0b27aa6de31bf852f64e2e6df3bdb346573fc4c4879919fe3b41c"
  },
  "closing_line": {
   "id": "sr-f43a02259729716ac2a7dd2f",
   "type_code": "closing_price",
   "moment_at": "2026-10-22T16:45:00.000Z",
   "freeze_at": "2026-10-22T17:37:32.998Z",
   "approach": "by_capture_time",
   "methodology_version": null,
   "counting_rule": "1",
   "figures": {
    "chain": {
     "admissible": 7,
     "publications": 8,
     "comparable": 7,
     "unique": 7,
     "contributions": 7
    },
    "group_list": [
     {
      "phrase": "1X2, match result — Most common recorded selection: Bayer 04 Leverkusen (3 of 3 eligible)",
      "source_group": "1x2|*|match|*|*#explicit",
      "leader": "2",
      "n": 3,
      "market_label": "1X2, match result",
      "row_list": [
       {
        "figure": 3,
        "in_words": "Bayer 04 Leverkusen",
        "choice": "2"
       }
      ]
     },
     {
      "phrase": "Correct score — No single most common selection: OFI 0-3 Bayer 04 Leverkusen and OFI 2-1 Bayer 04 Leverkusen (1 of 2 eligible each)",
      "source_group": "correct_score_market|*|match|*|*#explicit",
      "leader": null,
      "n": 2,
      "market_label": "Correct score",
      "row_list": [
       {
        "figure": 1,
        "in_words": "OFI 0-3 Bayer 04 Leverkusen",
        "choice": "0-3"
       },
       {
        "figure": 1,
        "in_words": "OFI 2-1 Bayer 04 Leverkusen",
        "choice": "2-1"
       }
      ]
     },
     {
      "phrase": "Asian handicap -1.5 — Most common recorded selection: Bayer 04 Leverkusen -1.5 (1 of 1 eligible)",
      "source_group": "handicap_asian|-1.5|match|*|*#explicit",
      "leader": "2",
      "n": 1,
      "market_label": "Asian handicap -1.5",
      "row_list": [
       {
        "figure": 1,
        "in_words": "Bayer 04 Leverkusen -1.5",
        "choice": "2"
       }
      ]
     },
     {
      "phrase": "Over/Under 1.5 goals — Most common recorded selection: over 1.5 (1 of 1 eligible)",
      "source_group": "total|1.5|match|*|*#explicit",
      "leader": "over",
      "n": 1,
      "market_label": "Over/Under 1.5 goals",
      "row_list": [
       {
        "figure": 1,
        "in_words": "over 1.5",
        "choice": "over"
       }
      ]
     }
    ],
    "counting_rule": "1",
    "different_products": 0,
    "differing_choices": 0,
    "not_counted": 0
   },
   "composition": [
    "n-30026f6b557084e38df3e5bf",
    "n-3ac463616122790f5945eadd",
    "n-59215b3c35be684776e56ee1",
    "n-7d6bccac5a87f313ef1309d0",
    "n-9fa0e81d4f714e4ff02b9560",
    "n-be427c1e6fdbb6554e62b469",
    "n-c7a2734048397af837a24aae",
    "n-d45646d33bc71d7d6a5805b6"
   ],
   "hash": "ba82f92d4dc8f97910a5ad5f21a045668cfa7054dd1b539981f7aff7a799faca"
  },
  "author_rows": [
   {
    "id": "sr-06f3cd14f1c70365b8f6a362",
    "type_code": "author_before_match",
    "moment_at": "2026-10-22T16:45:00.000Z",
    "freeze_at": "2026-10-22T17:37:32.998Z",
    "approach": "by_capture_time",
    "methodology_version": "2.2",
    "counting_rule": "1",
    "figures": {
     "matches": 7,
     "method_version": "2.2",
     "net_points_hundredths": -11223,
     "period_from": "2026-10-11",
     "period_to": "2026-10-21",
     "price_rule": "Our market snapshot",
     "return_percent": "-16.03",
     "settled_picks": 7,
     "staked_hundredths": 70000,
     "void": 0
    },
    "composition": [
     "c|s-0269219b78f7|r-fa425d40184eeb47|v-314fd32399326cae",
     "c|s-4dc10c72315f|r-12683daf0eec1c24|v-df109adb0bd82d35",
     "c|s-82c8ccd85f2e|r-789cc14bb3a94f7d|v-ac9feaae7d7cc46e",
     "c|s-8d8e03cb29b9|r-3a2662684d0938b1|v-bd84331526d83d71",
     "c|s-a3e3d14ee503|r-e88dfdcfacf31ba0|v-35db1f19ec78b0e4",
     "c|s-c6e403eadb47|r-999ec03b1fd528df|v-23b11a024db0f43f",
     "c|s-da54e0145072|r-ef790c5bdbe78a35|v-623832c08b2b06d3"
    ],
    "hash": "b1c2efd13f530983aed321a201580ef8277142e87e4d3f614011b53433fdf9a1",
    "entity_ref": "e-08e0df8122e7e5a9c4e55848",
    "name_shown": "OddsEkspert.no",
    "url": "/sources/oddsekspert-no/"
   },
   {
    "id": "sr-ad10df118d78653d2ae22949",
    "type_code": "author_before_match",
    "moment_at": "2026-10-22T16:45:00.000Z",
    "freeze_at": "2026-10-22T17:37:32.998Z",
    "approach": "by_capture_time",
    "methodology_version": "2.2",
    "counting_rule": "1",
    "figures": {
     "matches": 35,
     "method_version": "2.2",
     "net_points_hundredths": -123949,
     "period_from": "2026-10-12",
     "period_to": "2026-10-22",
     "price_rule": "Our market snapshot",
     "return_percent": "-26.37",
     "settled_picks": 47,
     "staked_hundredths": 470000,
     "void": 0
    },
    "composition": [
     "c|s-025a5876515e|r-5e816c3e874e215f|v-06edc81a62b11aa8",
     "c|s-055e7ad580bd|r-4d0726d5c53a4d87|v-f3df7077744857bb",
     "c|s-072d544af56a|r-60b54a67b67be8ab|v-d567b32d9e73f5f0",
     "c|s-0d34e681a424|r-4e102c1b8f4c8278|v-f55202a9abeaf358",
     "c|s-0d34e681a424|r-b5e19e1d07f23b2f|v-b9778e3a4c17a4a7",
     "c|s-0d34e681a424|r-f84bdb5e336d4892|v-5c333d1c7f91e327",
     "c|s-0dc141f8353c|r-5735a9c35161ed1c|v-85f587044415c16a",
     "c|s-0dc141f8353c|r-e16dd7c059c067a9|v-ec249f484b438738",
     "c|s-101b51ba94b8|r-a3937e4bb1905bb1|v-b4eb630667e73926",
     "c|s-2384c80ec880|r-11b56375d109b25b|v-39d4eec0d061cfa4",
     "c|s-2384c80ec880|r-e738e0b3019fcb02|v-ff335a2a841f8587",
     "c|s-2a9bc903af38|r-7429a63238b0f5c1|v-bce98fd27fe726e9",
     "c|s-2a9bc903af38|r-c50120efd2d73dac|v-b6a8f7adb9d0c050",
     "c|s-32a81e9a0b0a|r-1ed9aedfb459a4ea|v-ffeba1b14cc5440e",
     "c|s-32a81e9a0b0a|r-8a96e29e746eaf52|v-b4b9743c88392373",
     "c|s-3457f722f5d6|r-0cf8574934605f3f|v-256b03d7b1f54a9b",
     "c|s-3bc84f9786dd|r-5d7b97a7f446dc19|v-5a55affde0a3f1fb",
     "c|s-46d4d944cc24|r-beb844aa278a41ef|v-053426295ad34d97",
     "c|s-4d1da980b9da|r-98a656549936d320|v-7099b744d84175b9",
     "c|s-59dcc3b337b9|r-3dbf3e898937ba26|v-026676804fe966dd",
     "c|s-63a23007668d|r-dbb6589532785173|v-b14a44ffae4e59ef",
     "c|s-6ad9a71a98c6|r-0aee39e5b493f1db|v-a4dec316d6951abd",
     "c|s-7ed156268887|r-bab7cd861a4ad991|v-e1ad261d65cf45e9",
     "c|s-8781399558a8|r-db78f146a8989b08|v-506efe6c57ea41ff",
     "c|s-8f98813232e2|r-5e04ca9d6394d321|v-5ca77f69dd12c3c8",
     "c|s-93ecea5fb61c|r-38ab7c9b14f65047|v-9e282f55ba645351",
     "c|s-93ecea5fb61c|r-f47d4f2506617f72|v-16ef4efafddee577",
     "c|s-9c275cae958e|r-b6f09e6760d50c48|v-22c9da6b9ca1b886",
     "c|s-9c275cae958e|r-ca0a6d60b573d4b4|v-a1b2050ee4d94677",
     "c|s-a52bcdbd2d51|r-7898bf34bd50f547|v-ce5408557dd74ed7",
     "c|s-b1b8999b639c|r-05371d4ccefb4fb2|v-c4281a6e1e724e79",
     "c|s-b276cafca276|r-19e6f428a1071c14|v-73a5c7b7e9647ac1",
     "c|s-b32377970879|r-6310a7e0ef45f327|v-ac1fe5497c6a30a0",
     "c|s-c520b4476764|r-b9223f2f3448f36b|v-88c809f07e0482c9",
     "c|s-c6e403eadb47|r-013aebc5e08f2c0a|v-cf39479722e8d366",
     "c|s-c6e403eadb47|r-663c19fe00734c7b|v-df045b795afa0f1f",
     "c|s-d201d9c150bb|r-66a1a09538bb28ec|v-d5cbb915a05b3695",
     "c|s-d201d9c150bb|r-95ff8d663bed3310|v-488572d902ed4f22",
     "c|s-dda51cff41f6|r-a17906695c12e908|v-88f2cfea7c5e1248",
     "c|s-dfd94b3dad49|r-2957b017cd9dae3a|v-931b1d5be76a774c",
     "c|s-dfd94b3dad49|r-a926555384a08113|v-5f9c31499882ec4c",
     "c|s-e53d1abce10a|r-3dea5aea08e224f8|v-96245edf7f2dcee0",
     "c|s-e9ad016f0818|r-87cd017353109993|v-b7e9f3b34cfdd676",
     "c|s-ee6df46964dd|r-f1bc8196fbbf2737|v-4dcd16d67120c114",
     "c|s-f1d27d00d25a|r-1c53a6285a7fda42|v-2ccf05060e4e156e",
     "c|s-f1d27d00d25a|r-317c4d9347a68bc4|v-191db48bf19db2aa",
     "c|s-f1e8201c1b4c|r-9ce0d968246354d5|v-c0554bbab6763b81"
    ],
    "hash": "dba23a6ee14e24df8e306f738a46a94f910ec5fb9be1c7fe2349e004bdab6daa",
    "entity_ref": "e-2b039fe17676dade1865ad74",
    "name_shown": "FootyStats",
    "url": "/sources/footystats-org/"
   },
   {
    "id": "sr-993ff2270f3b0c057fc23a2b",
    "type_code": "author_before_match",
    "moment_at": "2026-10-22T16:45:00.000Z",
    "freeze_at": "2026-10-22T17:37:32.998Z",
    "approach": "by_capture_time",
    "methodology_version": "2.2",
    "counting_rule": "1",
    "figures": {
     "matches": 15,
     "method_version": "2.2",
     "net_points_hundredths": 27081,
     "period_from": "2026-10-18",
     "period_to": "2026-10-22",
     "price_rule": "Our market snapshot",
     "return_percent": "9.67",
     "settled_picks": 28,
     "staked_hundredths": 280000,
     "void": 0
    },
    "composition": [
     "c|s-01527686b0b6|r-182bb36e03a528b4|v-0160392108fb8d76",
     "c|s-01527686b0b6|r-dfc1d5af64df9838|v-86626fb3e111ea1d",
     "c|s-221b39525b82|r-bc7f44f967fb73e8|v-2c4b6dd5eecf32a1",
     "c|s-221b39525b82|r-bc965fa026eeee73|v-5aa9e8a2d6560376",
     "c|s-311960134477|r-20f2f01ac2ecf76d|v-3dbc0669cdc73879",
     "c|s-311960134477|r-9f1b75c426cfd54a|v-6f181c720a3af352",
     "c|s-311960134477|r-d00a79095e15196c|v-d521d190f6ff382c",
     "c|s-3ca1a1590c2c|r-70120f0e70e8f325|v-e6939cfd52672361",
     "c|s-3ca1a1590c2c|r-c0ad60d7bbfe12ed|v-bc1913c0882b629d",
     "c|s-45afbe3b499e|r-019224556b8245bf|v-065e15c76dbb1e07",
     "c|s-45afbe3b499e|r-f27de809015bf27e|v-2c312dc1b5cc4ba6",
     "c|s-4d1da980b9da|r-02ffa19524e3ca9c|v-86c07f810428ddd3",
     "c|s-4d1da980b9da|r-97f53d9db0411ee8|v-05cc2d0abebaad63",
     "c|s-520444213349|r-181dd5f3fa7938b6|v-b3b300523fd57c14",
     "c|s-520444213349|r-f584a8c8f8318c46|v-59b66b7c1a151ee4",
     "c|s-629fcb555792|r-4f6f575a76a4ca2f|v-e66196404e841070",
     "c|s-882316de7d7d|r-9e9a82395c86c214|v-262f912b47e2947a",
     "c|s-882316de7d7d|r-f6fb7d00408ab5ef|v-4c65eee0098693dc",
     "c|s-8f98813232e2|r-5e04ca9d6394d321|v-5ca77f69dd12c3c8",
     "c|s-8f98813232e2|r-60d2e1a2a28f27f7|v-a59bfe74ff9f48ed",
     "c|s-9b50ee5dca05|r-060b088cd5137894|v-1a3ecf69ecc788e2",
     "c|s-cadc58b43e96|r-14163e2027d2836e|v-6696d2fbe0b8b443",
     "c|s-cadc58b43e96|r-3e53a7b6d945b426|v-e4547eaa370a15e0",
     "c|s-e45f884d2296|r-369a60edfcee433b|v-28a35bb3c7b4c4ab",
     "c|s-e9ad016f0818|r-5440c7e1276d0af5|v-c8b36790cea65acd",
     "c|s-f7e39cea1589|r-14f015f2672686fa|v-83cad3bca96519c1",
     "c|s-f7e39cea1589|r-55941f738ac23874|v-f8a4a7c752788d87",
     "c|s-f7e39cea1589|r-7f81c57d8beb5b28|v-e49a81b57007e2c0"
    ],
    "hash": "7553bcfb69afe2cdd30771c1808a71d6317fedcf304526c4ab4babbe93b520d2",
    "entity_ref": "e-90fe08872fcc705da17617a4",
    "name_shown": "wedtips.ai",
    "url": "/sources/wedtips-ai/"
   },
   {
    "id": "sr-4f4497724bf1220c1733035e",
    "type_code": "author_before_match",
    "moment_at": "2026-10-22T16:45:00.000Z",
    "freeze_at": "2026-10-22T17:37:32.998Z",
    "approach": "by_capture_time",
    "methodology_version": "2.2",
    "counting_rule": "1",
    "figures": {
     "matches": 17,
     "method_version": "2.2",
     "net_points_hundredths": -46952,
     "period_from": "2026-10-17",
     "period_to": "2026-10-21",
     "price_rule": "Our market snapshot",
     "return_percent": "-26.08",
     "settled_picks": 18,
     "staked_hundredths": 180000,
     "void": 0
    },
    "composition": [
     "c|s-26ab5e4e5ad9|r-dd976f117ec002fc|v-082d5be3b104961d",
     "c|s-2e5ca9903f14|r-b4a8b3abdfc096d8|v-b1c632006d8af438",
     "c|s-42fecea91a84|r-719253bc68591b55|v-08fd4fc980938e93",
     "c|s-50d7f8d2dd2c|r-79d84598a2453c78|v-2b461d025a038c5c",
     "c|s-6f4f2d9a4057|r-899370a35cffd1a3|v-2ee51932c826f7cc",
     "c|s-6f4f2d9a4057|r-9722bee408b6f04b|v-2bdd8248febe8ab7",
     "c|s-82c8ccd85f2e|r-789cc14bb3a94f7d|v-ac9feaae7d7cc46e",
     "c|s-8d8e03cb29b9|r-3d05225f1b281a3c|v-846b31836c31319e",
     "c|s-8eef7fce6ad9|r-a27d3740acad943e|v-72595b1e50a49814",
     "c|s-969e0a734b47|r-2e54e3dd3d83f4e1|v-dda9a3d851e94b26",
     "c|s-a03afa8d49aa|r-a0b945d8898c68fa|v-480348d21ae52ee1",
     "c|s-b276cafca276|r-81c256030981cd22|v-a137567a49d8cd97",
     "c|s-bb4ea79ef2e3|r-2d7867c55a8dbc20|v-4b794f5aadf81159",
     "c|s-d201d9c150bb|r-66a1a09538bb28ec|v-5fe5f5a809eef1bc",
     "c|s-d9dc5fd9f79f|r-0caf26e735dc7968|v-6485b3687e790138",
     "c|s-e82f849606a1|r-4057257cd1d5f0e0|v-710bb8a59a80d7b8",
     "c|s-f1e8201c1b4c|r-9ce0d968246354d5|v-c0554bbab6763b81",
     "c|s-f82840de1bc9|r-9d99a30f38deea63|v-2fe0af77253e6c5a"
    ],
    "hash": "c4389f2802d6d80c90b186ba7a6a92a10ea4a20aec0f9f767765c5791b66f1c5",
    "entity_ref": "e-ac9d178dab58705252796dd4",
    "name_shown": "Jasper van den Boogaard",
    "url": "/authors/jasper-van-den-boogaard/"
   },
   {
    "id": "sr-ebbdd34fb1d458d014d322a2",
    "type_code": "author_before_match",
    "moment_at": "2026-10-22T16:45:00.000Z",
    "freeze_at": "2026-10-22T17:37:32.998Z",
    "approach": "by_capture_time",
    "methodology_version": "2.2",
    "counting_rule": "1",
    "figures": {
     "matches": 59,
     "method_version": "2.2",
     "net_points_hundredths": -9921,
     "period_from": "2026-10-14",
     "period_to": "2026-10-22",
     "price_rule": "Our market snapshot",
     "return_percent": "-1.71",
     "settled_picks": 59,
     "staked_hundredths": 580000,
     "void": 1
    },
    "composition": [
     "c|s-01527686b0b6|r-dfc1d5af64df9838|v-86626fb3e111ea1d",
     "c|s-025a5876515e|r-5e816c3e874e215f|v-06edc81a62b11aa8",
     "c|s-02862c58f934|r-521bb2a4c369bf52|v-94411d7c64873441",
     "c|s-037f8e17831d|r-d9a5e2b736425f4b|v-fd7eb6ace395e654",
     "c|s-03ddb106281b|r-258a65adc71c3b4c|v-83ee29aa0eb24627",
     "c|s-0433dfe831d6|r-433bcc776c4beb38|v-9066b34bb04c0840",
     "c|s-0565e66356f7|r-cc6908240bf250e8|v-f991fc0d69895ffb",
     "c|s-05714c6dccf3|r-73cc79d446d147f9|v-c101ec7629a718c4",
     "c|s-06f0e54111cd|r-e581c459830cb4e4|v-d3aaf716cd49ed03",
     "c|s-072d544af56a|r-897a3bcafec0c722|v-bd9b76e5eb30e1d9",
     "c|s-0dc48c730448|r-a38355a88541eed5|v-d9ce69071be04a40",
     "c|s-0e7828b0d9f4|r-ec9f8e86d556ccaa|v-3de5bc6d650856c0",
     "c|s-239f7edb3af0|r-c419ac02a0b3e1b8|v-cbf3c54165aabd3e",
     "c|s-2a9bc903af38|r-c50120efd2d73dac|v-b6a8f7adb9d0c050",
     "c|s-307a8ecf0ca8|r-70599472361c56d0|v-59defe997b72345d",
     "c|s-309f743a4ce6|r-671660c430596bcc|v-c734f0e881740a11",
     "c|s-314ffc54d9db|r-2216938196e3f790|v-a2ac21f6f6ee6719",
     "c|s-3211cf297898|r-4610d9c2720ce1ed|v-1afe68b999eaa562",
     "c|s-3457f722f5d6|r-62ba0ab2f9793b36|v-3b57e59fc5bec025",
     "c|s-34e420ecadfa|r-98fa60d5d59e8e10|v-24d03e2385d9f123",
     "c|s-36192081ae5b|r-cfbdf19f39dd422d|v-3ed776364a7a7ae4",
     "c|s-42fecea91a84|r-4d4f100a8b66b292|v-bb056f85b6cd3493",
     "c|s-4425bd4efb2a|r-e0d688bcca0d7550|v-a6cb4e10e2453b01",
     "c|s-4d58e6e0cd11|r-3a71b336375ad527|v-795660829816ca87",
     "c|s-520444213349|r-181dd5f3fa7938b6|v-b3b300523fd57c14",
     "c|s-550a1d932859|r-cefc386adf8a726d|v-4540868251de12fd",
     "c|s-629fcb555792|r-d79bac9dd0b61576|v-1bf7d53f5fda7f3e",
     "c|s-6ad9a71a98c6|r-79bacb5c93e75a6e|v-8449836c31a6872c",
     "c|s-6b067fc4fb1f|r-1801a113e655568b|v-ae1c6c265dae79a7",
     "c|s-6f4f2d9a4057|r-9722bee408b6f04b|v-2bdd8248febe8ab7",
     "c|s-7163016c6723|r-6d13c9dd3304ad37|v-15c27b9ef8e5b102",
     "c|s-7cfbaca8558a|r-65d20b89dc2d8dd5|v-5e5af6b6aa09c300",
     "c|s-85443e9b34c5|r-654bb4cb2ce3a93e|v-62da4eb836a5c99e",
     "c|s-9b50ee5dca05|r-dce6ba558a2948ba|v-80dd0b677d3697e2",
     "c|s-9b7dd430705f|r-8549c62e38d182fe|v-1e0a058194c11f0c",
     "c|s-9f8079be711c|r-3e81e0bef22cbf67|v-06609f878dd00694",
     "c|s-a03afa8d49aa|r-833616f7a81e254a|v-f4c0078085366f30",
     "c|s-a45538e9a4ff|r-e7d0fdc0da7fe09a|v-f399e82e08741dde",
     "c|s-acf0c0603869|r-c6e80a2554e3ec93|v-06f5105cab19bc2c",
     "c|s-afa77e683b16|r-7bfdc3ac3ea67fa3|v-d418aea93621af5d",
     "c|s-b238474e6f35|r-91ac174052d8b6ac|v-e2ccd3308105b43b",
     "c|s-b276cafca276|r-63c6ec70a8952ba7|v-18aeadd0b73dad47",
     "c|s-b7d5fd2668b6|r-176d6c72687eb771|v-64b48c2aeedc2b91",
     "c|s-bed4f0dda233|r-58c9e1a69c5970a0|v-d6474aa1c9a759b1",
     "c|s-c2448b2122f1|r-76ad306e8dde16bd|v-3648eb933383d85c",
     "c|s-cdf6719a7de7|r-830d0e40df4fb3cd|v-c3fa90104741ebb4",
     "c|s-d3d817d61a72|r-b56164e79cd856e3|v-85a069a6a4aa2439",
     "c|s-d9dc5fd9f79f|r-623f716aacb19a79|v-d3af5e56a1a5081d",
     "c|s-e001a3fb3630|r-3e1be1f0d46b51b4|v-dcf1f1c1d7f9c058",
     "c|s-e6b8273ecffa|r-82a0bb6cfba2b1a7|v-6e01f358f813653a",
     "c|s-e9ad016f0818|r-c0c144090ad893a8|v-a4f09b6d6cd5471b",
     "c|s-eb899e8c90d0|r-3350b65f12c1657d|v-db0c98c19cd5f133",
     "c|s-f1e8201c1b4c|r-11f5acd03ffbf560|v-d4f1f046527b0a8f",
     "c|s-f24a30cb951f|r-5c38046135d3e538|v-c2f8e8cbb34907d0",
     "c|s-f2c43939a182|r-fc45d937e4725e33|v-1a6d470a0eefe8fc",
     "c|s-f2cbc24f358a|r-b90dce601b693bee|v-66b297ea36b8cbe3",
     "c|s-f80d15d1ac60|r-079bb667a04dada9|v-b30f0281cbcdd1cb",
     "c|s-f82840de1bc9|r-9d99a30f38deea63|v-2fe0af77253e6c5a",
     "c|s-feb4b4bbd9b9|r-bedefd601a8abbc3|v-df59ed3da673cb2d"
    ],
    "hash": "90298bf0dbf92a1bae7f127fbe18b30ee19371012dcfce3dd718ef1fd7da38d7",
    "entity_ref": "e-c73e2d690083b73e2063c241",
    "name_shown": "Scores24",
    "url": "/sources/scores24-live/"
   }
  ],
  "late_additions": null,
  "chips": {
   "id": "sr-8623fcca280b82a2d619ef20",
   "type_code": "chips",
   "moment_at": "2026-10-22T16:45:00.000Z",
   "freeze_at": "2026-10-22T17:37:32.998Z",
   "approach": "by_capture_time",
   "methodology_version": null,
   "counting_rule": "1",
   "figures": {
    "chips": {
     "n-30026f6b557084e38df3e5bf": [],
     "n-3ac463616122790f5945eadd": [],
     "n-59215b3c35be684776e56ee1": [],
     "n-7d6bccac5a87f313ef1309d0": [],
     "n-9fa0e81d4f714e4ff02b9560": [],
     "n-be427c1e6fdbb6554e62b469": [],
     "n-c7a2734048397af837a24aae": [],
     "n-d45646d33bc71d7d6a5805b6": []
    },
    "in_catalog": "1"
   },
   "composition": [
    "n-30026f6b557084e38df3e5bf",
    "n-3ac463616122790f5945eadd",
    "n-59215b3c35be684776e56ee1",
    "n-7d6bccac5a87f313ef1309d0",
    "n-9fa0e81d4f714e4ff02b9560",
    "n-be427c1e6fdbb6554e62b469",
    "n-c7a2734048397af837a24aae",
    "n-d45646d33bc71d7d6a5805b6"
   ],
   "hash": "60909dc15b2daaeca67e0529ba8cb08b2c019211080da5dc5ea699ed727a556f"
  }
 },
 "match_card": {
  "revision": "1",
  "gates": null,
  "open_to_search": true,
  "inputs": {
   "prediction_count": 2,
   "publisher_count": 2,
   "contract": "1x2|*|match|*|*#explicit",
   "forecaster_count": 5,
   "publishers_all": 5,
   "topic_count": 0,
   "checked_count": false,
   "competition_authors": [
    {
     "settled_count": 111
    },
    {
     "settled_count": 61
    },
    {
     "settled_count": 59
    },
    {
     "settled_count": 26
    },
    {
     "settled_count": 13
    },
    {
     "settled_count": 11
    },
    {
     "settled_count": 11
    },
    {
     "settled_count": 11
    },
    {
     "settled_count": 10
    },
    {
     "settled_count": 9
    },
    {
     "settled_count": 9
    },
    {
     "settled_count": 8
    },
    {
     "settled_count": 8
    },
    {
     "settled_count": 8
    },
    {
     "settled_count": 8
    },
    {
     "settled_count": 7
    },
    {
     "settled_count": 7
    },
    {
     "settled_count": 6
    },
    {
     "settled_count": 6
    },
    {
     "settled_count": 5
    },
    {
     "settled_count": 5
    },
    {
     "settled_count": 5
    },
    {
     "settled_count": 5
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 4
    },
    {
     "settled_count": 3
    },
    {
     "settled_count": 3
    },
    {
     "settled_count": 3
    },
    {
     "settled_count": 3
    },
    {
     "settled_count": 2
    },
    {
     "settled_count": 2
    },
    {
     "settled_count": 2
    },
    {
     "settled_count": 1
    },
    {
     "settled_count": 1
    },
    {
     "settled_count": 1
    },
    {
     "settled_count": 1
    }
   ],
   "started": true,
   "facts_only": false,
   "counted_predictions": 8,
   "counted_sources": 5
  },
  "gates_words": "Open to search: 8 counted predictions from 5 different sources",
  "created_from": "prediction_page",
  "prediction_count": 0,
  "publisher_count": 5,
  "forecaster_count": 0,
  "newcomer_count": 8,
  "competition_authors": [
   {
    "name_shown": "Baba",
    "url": "/authors/baba/",
    "source_group": "tipsters",
    "settled_count": 61,
    "match_count": 33,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": "4.7",
    "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": "Infobetting",
    "url": "/sources/infobetting-com/",
    "source_group": "websites",
    "settled_count": 53,
    "match_count": 135,
    "portion": "archived",
    "portion_words": "Archived before kick-off · reconstructed at the last pre-match archive price",
    "return_percent": "-26.8",
    "too_few": false,
    "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": "Dailysports",
    "url": "/sources/dailysports-net/",
    "source_group": "websites",
    "settled_count": 23,
    "match_count": 40,
    "portion": "live",
    "portion_words": "Recorded before kick-off · return at our recorded market price",
    "return_percent": "-22.7",
    "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": "James Milton",
    "url": "/authors/james-milton/",
    "source_group": "experts",
    "settled_count": 9,
    "match_count": 15,
    "portion": "archived",
    "portion_words": "Archived before kick-off · reconstructed at the last pre-match archive price",
    "return_percent": null,
    "too_few": true
   },
   {
    "name_shown": "Kelechi Udoka",
    "url": "/authors/kelechi-udoka/",
    "source_group": "experts",
    "settled_count": 9,
    "match_count": 6,
    "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-ba521923fc96a7885424",
      "code_name": "CS-10",
      "title_tier": "dated_record",
      "badge_label": "Exact score 0–2 · 31 Oct",
      "body": "Exact score 0–2 · Levante UD v Atlético Madrid · 31 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-ba521923fc96",
      "url": null,
      "tier": null,
      "event_at": "2026-10-31"
     },
     {
      "title_id": "zk-3dc8575a8b807d7234a0",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 3.45 · 16 Oct",
      "body": "Draw at 3.45 · Deportivo de A Coruña v Levante UD · 16 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-3dc8575a8b80",
      "url": null,
      "tier": null,
      "event_at": "2026-10-16"
     }
    ]
   },
   {
    "name_shown": "Adam Clancy",
    "url": "/authors/adam-clancy/",
    "source_group": "experts",
    "settled_count": 8,
    "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-00127b096cd80b1c2185",
      "code_name": "CS-10",
      "title_tier": "dated_record",
      "badge_label": "Exact score 3–1 · 6 Nov",
      "body": "Exact score 3–1 · Everton v Coventry City · 6 Nov 2026",
      "provenance": "live",
      "anchor_id": "title-00127b096cd8",
      "url": null,
      "tier": null,
      "event_at": "2026-11-06"
     },
     {
      "title_id": "zk-1d1004a15d4a5a634d37",
      "code_name": "E-07",
      "title_tier": "dated_record",
      "badge_label": "Correct at 4.00 · 5 Nov",
      "body": "Draw at 4.00 · Crystal Palace v TSG Hoffenheim · 5 Nov 2026",
      "provenance": "live",
      "anchor_id": "title-1d1004a15d4a",
      "url": null,
      "tier": null,
      "event_at": "2026-11-05"
     }
    ]
   },
   {
    "name_shown": "Ali Demir",
    "url": "/authors/ali-demir/",
    "source_group": "tipsters",
    "settled_count": 8,
    "match_count": 6,
    "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": "Free Super Tips",
    "url": "/sources/free-super-tips/",
    "source_group": "websites",
    "settled_count": 8,
    "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-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": "Jonas Meyer",
    "url": "/authors/jonas-meyer/",
    "source_group": "tipsters",
    "settled_count": 8,
    "match_count": 11,
    "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": "Matteo Oneto",
    "url": "/authors/matteo-oneto/",
    "source_group": "tipsters",
    "settled_count": 8,
    "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-37081bc598cf69fab184",
      "code_name": "S-01",
      "title_tier": "dated_record",
      "badge_label": "4 right in a row · 28 Oct",
      "body": "4 matches in a row, every pick correct · 25 Oct–28 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-37081bc598cf",
      "url": null,
      "tier": null,
      "event_at": "2026-10-28"
     }
    ]
   },
   {
    "name_shown": "FootballPredictions.net",
    "url": "/sources/footballpredictions-net/",
    "source_group": "websites",
    "settled_count": 6,
    "match_count": 40,
    "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": "Jack Ogalbe",
    "url": "/authors/jack-ogalbe/",
    "source_group": "experts",
    "settled_count": 6,
    "match_count": 5,
    "portion": "archived",
    "portion_words": "Archived before kick-off · reconstructed at the last pre-match archive price",
    "return_percent": null,
    "too_few": true
   },
   {
    "name_shown": "Adeyeye Oluwapelumi",
    "url": "/authors/adeyeye-oluwapelumi/",
    "source_group": "experts",
    "settled_count": 5,
    "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-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": "Baptiste Couturiaux",
    "url": "/authors/baptiste-couturiaux/",
    "source_group": "tipsters",
    "settled_count": 5,
    "match_count": 6,
    "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-cb7e0a6cafc6fb522747",
      "code_name": "S-01",
      "title_tier": "dated_record",
      "badge_label": "7 right in a row · 19 Oct",
      "body": "7 matches in a row, every pick correct · 17 Oct–19 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-cb7e0a6cafc6",
      "url": null,
      "tier": null,
      "event_at": "2026-10-19"
     },
     {
      "title_id": "zk-3ff8f6b757bb4a2d9118",
      "code_name": "P-01",
      "title_tier": "dated_record",
      "badge_label": "8/8 · week of 26 Oct",
      "body": "8/8 result calls right · week of 26 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-3ff8f6b757bb",
      "url": null,
      "tier": null,
      "event_at": "2026-11-01"
     }
    ]
   },
   {
    "name_shown": "Calum Burrowes",
    "url": "/authors/calum-burrowes/",
    "source_group": "experts",
    "settled_count": 5,
    "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-4f7c8ae4bd308aeb6586",
      "code_name": "C-02",
      "title_tier": "dated_record",
      "badge_label": "Only right of 9 · 24 Oct",
      "body": "Only one right of 9 tipsters and sources · Draw · Stoke City v Bristol City · 24 Oct 2026",
      "provenance": "live",
      "anchor_id": "title-4f7c8ae4bd30",
      "url": null,
      "tier": null,
      "event_at": "2026-10-24"
     },
     {
      "title_id": "zk-e3cdaf77eb94ba1739fc",
      "code_name": "CS-10",
      "title_tier": "dated_record",
      "badge_label": "Exact score 1–2 · 3 Nov",
      "body": "Exact score 1–2 · Blackburn Rovers v Stoke City · 3 Nov 2026",
      "provenance": "live",
      "anchor_id": "title-e3cdaf77eb94",
      "url": null,
      "tier": null,
      "event_at": "2026-11-03"
     }
    ]
   }
  ],
  "competition_authors_total": 40,
  "competition_authors_10": 3,
  "full": false,
  "facts_only": false,
  "checked_count": null,
  "window": {
   "d_minus_14_at": "2026-10-08T16:45:00.000Z",
   "d_minus_3_at": "2026-10-19T16:45:00.000Z"
  },
  "first_screen": {
   "body": "Before kick-off, 2 tipsters and sources with 10 or more predictions checked against the final score to date had a 90-minute match-result prediction: OFI 0 · Draw 0 · Bayer 04 Leverkusen 2. Another 1 predicted an exact score (implied: OFI 1 · Draw 0 · Bayer 04 Leverkusen 0). 2 gave other markets only.",
   "byline": "Split of recorded tipsters and sources.",
   "outcome_split": {
    "1": 0,
    "X": 0,
    "2": 2
   },
   "forecasters_outcome": 2,
   "from_score": {
    "1": 1
   },
   "forecasters_from_score": 1,
   "other_markets_only": 2,
   "newcomers": null,
   "market_label": "Market favourite at kick-off: Bayer 04 Leverkusen · implied 80%",
   "market_at": "2026-10-22T16:45:00.000Z",
   "predictions_at": "2026-10-22T12:59:24.529Z",
   "comparison": null
  },
  "who_what": {
   "contracts": [],
   "newcomers": [
    {
     "entry_id": "n-30026f6b557084e38df3e5bf",
     "author_name": "Jasper van den Boogaard",
     "author_href": "/authors/jasper-van-den-boogaard/",
     "source_group": "tipsters",
     "trust_tier": "probation",
     "market_label": "1X2, match result",
     "market_key": "1x2",
     "choice": "Bayer 04 Leverkusen",
     "choice_key": "2",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-10-22T06:49:31.794Z",
     "posted_at": "2026-10-20T08:53:57.000Z",
     "author_quoted_price": null,
     "our_snapshot": "1.2105",
     "closing_line": null,
     "outcome_label": "Won",
     "pre_match": true,
     "proof": "/authors/jasper-van-den-boogaard/picks/17/#pick-n-30026f6b557084e38df3e5bf",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "prediction_sites",
     "own_page": true,
     "trust_settled_count": 521
    },
    {
     "entry_id": "n-59215b3c35be684776e56ee1",
     "author_name": "wedtips.ai",
     "author_href": "/sources/wedtips-ai/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "1X2, match result",
     "market_key": "1x2",
     "choice": "Bayer 04 Leverkusen",
     "choice_key": "2",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-10-19T05:53:07.632Z",
     "posted_at": null,
     "author_quoted_price": null,
     "our_snapshot": "1.2242",
     "closing_line": null,
     "outcome_label": "Won",
     "pre_match": true,
     "proof": "/sources/wedtips-ai/picks/71/#pick-n-59215b3c35be684776e56ee1",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 2385
    },
    {
     "entry_id": "n-45e3afb367ff87357645e669",
     "author_name": "wedtips.ai",
     "author_href": "/sources/wedtips-ai/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "1X2, match result, first half",
     "market_key": "1x2",
     "choice": "Bayer 04 Leverkusen",
     "choice_key": "2",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-10-19T05:53:07.632Z",
     "posted_at": null,
     "author_quoted_price": "1.56",
     "our_snapshot": "1.5682",
     "closing_line": null,
     "outcome_label": "Won",
     "pre_match": true,
     "proof": "/sources/wedtips-ai/picks/71/#pick-n-45e3afb367ff87357645e669",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 2385
    },
    {
     "entry_id": "n-7d6bccac5a87f313ef1309d0",
     "author_name": "FootyStats",
     "author_href": "/sources/footystats-org/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "Over/Under 1.5 goals",
     "market_key": "total",
     "choice": "over 1.5",
     "choice_key": "over",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-10-22T12:59:24.529Z",
     "posted_at": null,
     "author_quoted_price": "1.08",
     "our_snapshot": "1.0650",
     "closing_line": null,
     "outcome_label": "Won",
     "pre_match": true,
     "proof": "/sources/footystats-org/picks/53/#pick-n-7d6bccac5a87f313ef1309d0",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 855
    },
    {
     "entry_id": "n-c7a2734048397af837a24aae",
     "author_name": "OddsEkspert.no",
     "author_href": "/sources/oddsekspert-no/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "Correct score",
     "market_key": "correct_score_market",
     "choice": "OFI 2-1 Bayer 04 Leverkusen",
     "choice_key": "2-1",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-10-22T10:29:38.908Z",
     "posted_at": null,
     "author_quoted_price": null,
     "our_snapshot": null,
     "closing_line": null,
     "outcome_label": "Lost",
     "pre_match": true,
     "proof": "/sources/oddsekspert-no/picks/9/#pick-n-c7a2734048397af837a24aae",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "prediction_sites",
     "own_page": true,
     "trust_settled_count": 275
    },
    {
     "entry_id": "n-3ac463616122790f5945eadd",
     "author_name": "Scores24",
     "author_href": "/sources/scores24-live/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "Asian handicap -1.5",
     "market_key": "handicap_asian",
     "choice": "Bayer 04 Leverkusen -1.5",
     "choice_key": "2",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-10-21T00:09:33.246Z",
     "posted_at": null,
     "author_quoted_price": "1.58",
     "our_snapshot": "1.6400",
     "closing_line": null,
     "outcome_label": "Won",
     "pre_match": true,
     "proof": "/sources/scores24-live/picks/24/#pick-n-3ac463616122790f5945eadd",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 450
    },
    {
     "entry_id": "n-17825134d8af49ff5f6df400",
     "author_name": "wedtips.ai",
     "author_href": "/sources/wedtips-ai/",
     "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-10-19T05:53:07.632Z",
     "posted_at": null,
     "author_quoted_price": "1.70",
     "our_snapshot": "1.7463",
     "closing_line": null,
     "outcome_label": "Lost",
     "pre_match": true,
     "proof": "/sources/wedtips-ai/picks/71/#pick-n-17825134d8af49ff5f6df400",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 2385
    },
    {
     "entry_id": "n-5258385801cc8f8ded27740c",
     "author_name": "wedtips.ai",
     "author_href": "/sources/wedtips-ai/",
     "source_group": "websites",
     "trust_tier": "probation",
     "market_label": "Over/Under 2.5 goals",
     "market_key": "total",
     "choice": "over 2.5",
     "choice_key": "over",
     "byline": "Recorded by us before kick-off",
     "logged_at": "2026-10-19T05:53:07.632Z",
     "posted_at": null,
     "author_quoted_price": "1.45",
     "our_snapshot": null,
     "closing_line": null,
     "outcome_label": "Lost",
     "pre_match": true,
     "proof": "/sources/wedtips-ai/picks/71/#pick-n-5258385801cc8f8ded27740c",
     "original": null,
     "contradictory": false,
     "authorship": null,
     "source_type": "telegram_channels",
     "own_page": true,
     "trust_settled_count": 2385
    }
   ],
   "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": "OFI",
        "tips": [],
        "figure": 0
       },
       {
        "code_name": "X",
        "in_words": "Draw",
        "tips": [],
        "figure": 0
       },
       {
        "code_name": "2",
        "in_words": "Bayer 04 Leverkusen",
        "tips": [
         {
          "author_name": "Jasper van den Boogaard",
          "entry_id": "n-30026f6b557084e38df3e5bf",
          "outcome_label": "Won",
          "source_group": "tipsters"
         },
         {
          "author_name": "wedtips.ai",
          "entry_id": "n-59215b3c35be684776e56ee1",
          "outcome_label": "Won",
          "source_group": "websites"
         }
        ],
        "figure": 2
       }
      ],
      "n": 2,
      "publisher_count": 2
     },
     {
      "contract_code": "1x2|*|first_half|*|*#explicit",
      "source_group": "explicit",
      "market_label": "1X2, match result, first half",
      "market_key": "1x2",
      "choices": [
       {
        "code_name": "2",
        "in_words": "Bayer 04 Leverkusen",
        "tips": [
         {
          "author_name": "wedtips.ai",
          "entry_id": "n-45e3afb367ff87357645e669",
          "outcome_label": "Won",
          "source_group": "websites"
         }
        ],
        "figure": 1
       }
      ],
      "n": 1,
      "publisher_count": 1
     },
     {
      "contract_code": "handicap_asian|-1.5|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "Asian handicap -1.5",
      "market_key": "handicap_asian",
      "choices": [
       {
        "code_name": "2",
        "in_words": "Bayer 04 Leverkusen -1.5",
        "tips": [
         {
          "author_name": "Scores24",
          "entry_id": "n-3ac463616122790f5945eadd",
          "outcome_label": "Won",
          "source_group": "websites"
         }
        ],
        "figure": 1
       }
      ],
      "n": 1,
      "publisher_count": 1
     },
     {
      "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": "wedtips.ai",
          "entry_id": "n-17825134d8af49ff5f6df400",
          "outcome_label": "Lost",
          "source_group": "websites"
         }
        ],
        "figure": 1
       }
      ],
      "n": 1,
      "publisher_count": 1
     },
     {
      "contract_code": "correct_score_market|*|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "Correct score",
      "market_key": "correct_score_market",
      "choices": [
       {
        "code_name": "2-1",
        "in_words": "OFI 2-1 Bayer 04 Leverkusen",
        "tips": [
         {
          "author_name": "OddsEkspert.no",
          "entry_id": "n-c7a2734048397af837a24aae",
          "outcome_label": "Lost",
          "source_group": "websites"
         }
        ],
        "figure": 1
       }
      ],
      "n": 1,
      "publisher_count": 1
     },
     {
      "contract_code": "total|1.5|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "Over/Under 1.5 goals",
      "market_key": "total",
      "choices": [
       {
        "code_name": "over",
        "in_words": "over 1.5",
        "tips": [
         {
          "author_name": "FootyStats",
          "entry_id": "n-7d6bccac5a87f313ef1309d0",
          "outcome_label": "Won",
          "source_group": "websites"
         }
        ],
        "figure": 1
       }
      ],
      "n": 1,
      "publisher_count": 1
     },
     {
      "contract_code": "total|2.5|match|*|*#explicit",
      "source_group": "explicit",
      "market_label": "Over/Under 2.5 goals",
      "market_key": "total",
      "choices": [
       {
        "code_name": "over",
        "in_words": "over 2.5",
        "tips": [
         {
          "author_name": "wedtips.ai",
          "entry_id": "n-5258385801cc8f8ded27740c",
          "outcome_label": "Lost",
          "source_group": "websites"
         }
        ],
        "figure": 1
       }
      ],
      "n": 1,
      "publisher_count": 1
     }
    ],
    "author_count": 5,
    "below_threshold": {
     "prediction_count": 0,
     "author_count": 0
    },
    "limit": 10
   },
   "chain": null,
   "differing_choices": 0,
   "visible_who": 0,
   "newcomers_who": 5,
   "newcomers_before": 8,
   "titles_shown": true,
   "legend": "Badges show titles earned before this prediction, by published rules."
  },
  "arguments": {
   "topics": [],
   "against": [],
   "other_languages": 0,
   "other_language_hosts": [],
   "mode": "quotes",
   "topics_total": 0,
   "checkable": 0
  },
  "market_label": {
   "favourite_code": "2",
   "favourite": "Bayer 04 Leverkusen",
   "probabilities": [
    {
     "outcome_label": "1",
     "in_words": "OFI",
     "percent_value": 7
    },
    {
     "outcome_label": "X",
     "in_words": "Draw",
     "percent_value": 13
    },
    {
     "outcome_label": "2",
     "in_words": "Bayer 04 Leverkusen",
     "percent_value": 80
    }
   ],
   "prices": {
    "1": "13.00",
    "X": "7.25",
    "2": "1.18"
   },
   "group_count": 25,
   "bookmakers": 40,
   "snapshot_at": "2026-10-22T16:45:00.000Z",
   "closing_line": true,
   "first_at": "2026-10-22T00:17:15.868Z",
   "shift_pp": 1.8,
   "phrase": "The market has barely changed its mind since our first snapshot on 22 October 2026: Bayer 04 Leverkusen 78% then, 80% at kick-off.",
   "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-10-21T16:45:00.000Z",
    "probabilities": {
     "1": 8,
     "2": 78,
     "X": 14
    }
   },
   "t2": {
    "snapshot_at": "2026-10-22T14:45:00.000Z",
    "probabilities": {
     "1": 7,
     "2": 80,
     "X": 13
    }
   }
  },
  "market_mode": "show",
  "fact_sheet": {
   "tournament": "UEFA Europa League (Europe)",
   "matchday": "League Stage · Matchday 3",
   "starts_at": "2026-10-22T16:45:00.000Z",
   "form": {
    "home_side": [
     {
      "res": "L",
      "scoreline": "1-2",
      "opponent": "Stade Rennais",
      "at_home": false,
      "data": "2026-10-15"
     },
     {
      "res": "W",
      "scoreline": "2-0",
      "opponent": "TSG Hoffenheim",
      "at_home": true,
      "data": "2026-09-17"
     },
     {
      "res": "W",
      "scoreline": "2-0",
      "opponent": "CSKA Sofia",
      "at_home": false,
      "data": "2026-08-27"
     },
     {
      "res": "W",
      "scoreline": "3-0",
      "opponent": "CSKA Sofia",
      "at_home": true,
      "data": "2026-08-20"
     }
    ],
    "away": [
     {
      "res": "W",
      "scoreline": "2-1",
      "opponent": "SC Freiburg",
      "at_home": true,
      "data": "2026-10-18"
     },
     {
      "res": "W",
      "scoreline": "4-0",
      "opponent": "Lech Poznań",
      "at_home": false,
      "data": "2026-10-15"
     },
     {
      "res": "W",
      "scoreline": "4-3",
      "opponent": "1. FSV Mainz 05",
      "at_home": false,
      "data": "2026-10-10"
     },
     {
      "res": "W",
      "scoreline": "2-0",
      "opponent": "RB Leipzig",
      "at_home": true,
      "data": "2026-09-20"
     },
     {
      "res": "W",
      "scoreline": "2-0",
      "opponent": "NK Celje",
      "at_home": true,
      "data": "2026-09-16"
     }
    ]
   },
   "head_to_head": [],
   "past_cards": [],
   "reach": ""
  },
  "after_match": {
   "scoreline": "0-2",
   "fact_code": "2",
   "row_list": [
    "Match-result predictions from tipsters and sources with 10 or more predictions checked against the final score to date: 2 of 2 matched · Tipsters 1 of 1 · Prediction sites 1 of 1",
    "All recorded exact-score predictions: 0 of 1 matched",
    "Exact-score predictions from tipsters and sources with 10 or more predictions checked against the final score to date: 0 of 1 matched the score, 0 of 1 the outcome",
    "Most common selection among tipsters and sources with 10 or more predictions checked against the final score to date: Bayer 04 Leverkusen (2 of 2), matched",
    "Market favourite at kick-off: Bayer 04 Leverkusen (matched)"
   ],
   "by_group": {
    "tipsters": {
     "correct": 1,
     "of": 1
    },
    "websites": {
     "correct": 1,
     "of": 1
    }
   },
   "placement": null,
   "checks": []
  },
  "prices": [],
  "revisions": [
   "Market 24 hours before kick-off: Bayer 04 Leverkusen 78%.",
   "Market 2 hours before kick-off: Bayer 04 Leverkusen 80%.",
   "First published with predictions on 20 October 2026."
  ],
  "titles": {
   "shown": true,
   "legend": "Badges show titles earned before this prediction, by published rules.",
   "frozen_in": "sr-f43a02259729716ac2a7dd2f"
  },
  "tracker": null,
  "source_groups": {
   "as_of": "2026-10-22T16:45: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": 5,
   "by_group": [
    {
     "key": "prediction_sites",
     "authors": 2
    },
    {
     "key": "media",
     "authors": 0
    },
    {
     "key": "telegram_channels",
     "authors": 3
    },
    {
     "key": "private_authors",
     "authors": 0
    }
   ],
   "markets": [
    {
     "key": "1x2",
     "label": "Match result",
     "authors": 2,
     "by_group": [
      {
       "key": "prediction_sites",
       "authors": 1
      },
      {
       "key": "media",
       "authors": 0
      },
      {
       "key": "telegram_channels",
       "authors": 1
      },
      {
       "key": "private_authors",
       "authors": 0
      }
     ],
     "choices": [
      {
       "code_name": "1",
       "in_words": "OFI",
       "authors": 0,
       "by_group": [
        {
         "key": "prediction_sites",
         "authors": 0
        },
        {
         "key": "media",
         "authors": 0
        },
        {
         "key": "telegram_channels",
         "authors": 0
        },
        {
         "key": "private_authors",
         "authors": 0
        }
       ]
      },
      {
       "code_name": "X",
       "in_words": "Draw",
       "authors": 0,
       "by_group": [
        {
         "key": "prediction_sites",
         "authors": 0
        },
        {
         "key": "media",
         "authors": 0
        },
        {
         "key": "telegram_channels",
         "authors": 0
        },
        {
         "key": "private_authors",
         "authors": 0
        }
       ]
      },
      {
       "code_name": "2",
       "in_words": "Bayer 04 Leverkusen",
       "authors": 2,
       "by_group": [
        {
         "key": "prediction_sites",
         "authors": 1
        },
        {
         "key": "media",
         "authors": 0
        },
        {
         "key": "telegram_channels",
         "authors": 1
        },
        {
         "key": "private_authors",
         "authors": 0
        }
       ]
      }
     ]
    },
    {
     "key": "totals",
     "label": "Goal totals",
     "authors": 2,
     "by_group": [
      {
       "key": "prediction_sites",
       "authors": 0
      },
      {
       "key": "media",
       "authors": 0
      },
      {
       "key": "telegram_channels",
       "authors": 2
      },
      {
       "key": "private_authors",
       "authors": 0
      }
     ]
    },
    {
     "key": "other",
     "label": "Handicaps, both teams to score, correct score and other markets",
     "authors": 3,
     "by_group": [
      {
       "key": "prediction_sites",
       "authors": 1
      },
      {
       "key": "media",
       "authors": 0
      },
      {
       "key": "telegram_channels",
       "authors": 2
      },
      {
       "key": "private_authors",
       "authors": 0
      }
     ]
    }
   ]
  },
  "market_line": {
   "line_state": "barely_moved",
   "line_frozen": true,
   "phrase": "Market line at kick-off (22 October 2026, 17:45 BST): OFI 7%, draw 13%, Bayer 04 Leverkusen 80%. From 22 October 2026, 01:17 BST to kick-off it barely moved: the largest change was 1.8 percentage points (Bayer 04 Leverkusen up).",
   "line_markets": [
    {
     "market_text": "1X2, match result",
     "market_group": "1x2",
     "line_kind": "median_line",
     "margin_included": false,
     "snapshot_at": "2026-10-22T16:45:00.000Z",
     "closing_line": true,
     "probabilities": [
      {
       "outcome_label": "1",
       "in_words": "OFI",
       "percent_value": 7
      },
      {
       "outcome_label": "X",
       "in_words": "Draw",
       "percent_value": 13
      },
      {
       "outcome_label": "2",
       "in_words": "Bayer 04 Leverkusen",
       "percent_value": 80
      }
     ],
     "group_count": 25,
     "first_at": "2026-10-22T00:17:15.868Z",
     "first_probabilities": {
      "1": 8,
      "2": 78,
      "X": 14
     },
     "shift_pp": 1.8,
     "shift_outcome": "2",
     "shift_direction": "up",
     "line_state": "barely_moved",
     "phrase": "Market line at kick-off (22 October 2026, 17:45 BST): OFI 7%, draw 13%, Bayer 04 Leverkusen 80%. From 22 October 2026, 01:17 BST to kick-off it barely moved: the largest change was 1.8 percentage points (Bayer 04 Leverkusen up)."
    },
    {
     "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.75",
       "percent_value": 57,
       "snapshot_at": "2026-10-19T05:50:56.042Z",
       "snapshot_count": 1,
       "first_snapshot_price": null,
       "first_at": null,
       "shift_pp": null,
       "shift_direction": null,
       "line_state": "single_snapshot"
      }
     ],
     "line_state": "single_snapshot",
     "phrase": "Both teams to score, yes: market price 1.75 on 19 October 2026, 06:50 BST (implied 57%, margin included)."
    },
    {
     "market_text": "Over/Under 1.5 goals",
     "market_group": "totals",
     "line_kind": "recorded_price",
     "margin_included": true,
     "closing_line": false,
     "price_sides": [
      {
       "choice": "over 1.5",
       "snapshot_price": "1.06",
       "percent_value": 94,
       "snapshot_at": "2026-10-22T12:56:55.688Z",
       "snapshot_count": 1,
       "first_snapshot_price": null,
       "first_at": null,
       "shift_pp": null,
       "shift_direction": null,
       "line_state": "single_snapshot"
      }
     ],
     "line_state": "single_snapshot",
     "phrase": "Over/Under 1.5 goals, over 1.5 goals: market price 1.06 on 22 October 2026, 13:56 BST (implied 94%, margin included)."
    }
   ]
  },
  "pre_kickoff_snapshot": {
   "frozen_before_kickoff": true,
   "as_of_moment": "2026-10-22T16:45:00.000Z",
   "starts_at": "2026-10-22T16:45:00.000Z",
   "phrase": "Before kick-off on 22 October 2026, 17:45 BST: market line at kick-off OFI 7%, draw 13%, Bayer 04 Leverkusen 80%; 1X2, match result, recorded picks before the match (2): 0 on OFI, 0 on the draw, 2 on Bayer 04 Leverkusen; Over/Under 1.5 goals, recorded picks before the match (1): 1 on over 1.5 goals; Asian handicap -1.5, recorded picks before the match (1): 1 on Bayer 04 Leverkusen -1.5.",
   "market_line_brief": {
    "snapshot_at": "2026-10-22T16:45:00.000Z",
    "closing_line": true,
    "probabilities": {
     "1": 7,
     "X": 13,
     "2": 80
    }
   },
   "market_groups": [
    {
     "market_group": "1x2",
     "group_markets": [
      {
       "market_text": "1X2, match result",
       "prediction_count": 2,
       "row_count": 2,
       "market_choices": [
        {
         "choice": "Bayer 04 Leverkusen",
         "figure": 2
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "1X2, match result, recorded picks before the match (2): 0 on OFI, 0 on the draw, 2 on Bayer 04 Leverkusen",
       "sides_1x2": [
        {
         "side": "1",
         "in_words": "OFI",
         "figure": 0
        },
        {
         "side": "X",
         "in_words": "draw",
         "figure": 0
        },
        {
         "side": "2",
         "in_words": "Bayer 04 Leverkusen",
         "figure": 2
        }
       ]
      },
      {
       "market_text": "1X2, match result, first half",
       "prediction_count": 1,
       "row_count": 1,
       "market_choices": [
        {
         "choice": "Bayer 04 Leverkusen",
         "figure": 1
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "1X2, match result, first half, recorded picks before the match (1): 1 on Bayer 04 Leverkusen",
       "sides_1x2": [
        {
         "side": "1",
         "in_words": "OFI",
         "figure": 0
        },
        {
         "side": "X",
         "in_words": "draw",
         "figure": 0
        },
        {
         "side": "2",
         "in_words": "Bayer 04 Leverkusen",
         "figure": 1
        }
       ]
      }
     ]
    },
    {
     "market_group": "totals",
     "group_markets": [
      {
       "market_text": "Over/Under 1.5 goals",
       "prediction_count": 1,
       "row_count": 1,
       "market_choices": [
        {
         "choice": "over 1.5",
         "figure": 1
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "Over/Under 1.5 goals, recorded picks before the match (1): 1 on over 1.5 goals"
      },
      {
       "market_text": "Over/Under 2.5 goals",
       "prediction_count": 1,
       "row_count": 1,
       "market_choices": [
        {
         "choice": "over 2.5",
         "figure": 1
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "Over/Under 2.5 goals, recorded picks before the match (1): 1 on over 2.5 goals"
      }
     ]
    },
    {
     "market_group": "other",
     "group_markets": [
      {
       "market_text": "Asian handicap -1.5",
       "prediction_count": 1,
       "row_count": 1,
       "market_choices": [
        {
         "choice": "Bayer 04 Leverkusen -1.5",
         "figure": 1
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "Asian handicap -1.5, recorded picks before the match (1): 1 on Bayer 04 Leverkusen -1.5"
      },
      {
       "market_text": "Both teams to score",
       "prediction_count": 1,
       "row_count": 1,
       "market_choices": [
        {
         "choice": "yes",
         "figure": 1
        }
       ],
       "phrase_mode": "listing",
       "leader_choice": null,
       "leader_count": null,
       "share_percent": 100,
       "phrase": "Both teams to score, recorded picks before the match (1): 1 on yes"
      },
      {
       "market_text": "Correct score",
       "prediction_count": 1,
       "row_count": 1,
       "market_choices": [
        {
         "choice": "OFI 2-1 Bayer 04 Leverkusen",
         "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 OFI 2-1 Bayer 04 Leverkusen"
      }
     ]
    }
   ],
   "predictions_before_kickoff": 8,
   "majority_threshold": {
    "min_predictions": 5,
    "min_share_percent": 60.0
   }
  },
  "teams_prev_next": [
   {
    "side": "home",
    "team": "OFI",
    "team_url": null,
    "participant_id": "u-62815d3a69a4",
    "previous": {
     "kickoff": "2026-10-15T19:00:00.000Z",
     "name": "Stade Rennais vs OFI",
     "url": "/football/matches/stade-rennais-vs-ofi-2026-10-15/",
     "competition": "UEFA Europa League",
     "state": "played",
     "score": "2-1"
    },
    "next": {
     "kickoff": "2026-10-22T16:45:00.000Z",
     "name": "OFI vs Bayer 04 Leverkusen",
     "url": null,
     "competition": "UEFA Europa League",
     "state": "no_result",
     "score": null
    },
    "why": null
   },
   {
    "side": "away",
    "team": "Bayer 04 Leverkusen",
    "team_url": "/football/teams/bayer-04-leverkusen/",
    "participant_id": "u-8226cccc8218",
    "previous": {
     "kickoff": "2026-10-18T13:30:00.000Z",
     "name": "Bayer 04 Leverkusen vs SC Freiburg",
     "url": "/football/matches/bayer-04-leverkusen-vs-sc-freiburg-2026-10-18/",
     "competition": "Bundesliga",
     "state": "played",
     "score": "2-1"
    },
    "next": {
     "kickoff": "2026-10-22T16:45:00.000Z",
     "name": "OFI vs Bayer 04 Leverkusen",
     "url": null,
     "competition": "UEFA Europa League",
     "state": "no_result",
     "score": null
    },
    "why": null
   }
  ]
 },
 "number_sets": [
  {
   "set": "match.market_line.percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1x2|1",
   "value": 7,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.market_line.percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1x2|X",
   "value": 13,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.market_line.percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1x2|2",
   "value": 80,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.recorded_price.percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Both teams to score|yes",
   "value": 57,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.recorded_price.percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Over/Under 1.5 goals|over 1.5",
   "value": 94,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1X2, match result",
   "value": 2,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1X2, match result",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1X2, match result|OFI",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1X2, match result|draw",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1X2, match result|Bayer 04 Leverkusen",
   "value": 2,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1X2, match result, first half",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1X2, match result, first half",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|1X2, match result, first half|Bayer 04 Leverkusen",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Over/Under 1.5 goals",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Over/Under 1.5 goals",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Over/Under 1.5 goals|over 1.5",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Over/Under 2.5 goals",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Over/Under 2.5 goals",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Over/Under 2.5 goals|over 2.5",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Asian handicap -1.5",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Asian handicap -1.5",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Asian handicap -1.5|Bayer 04 Leverkusen -1.5",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Both teams to score",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Both teams to score",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Both teams to score|yes",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.market",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Correct score",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.leader_share_percent",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Correct score",
   "value": 100,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.before_kickoff.selection",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/|Correct score|OFI 2-1 Bayer 04 Leverkusen",
   "value": 1,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.other_forecasters",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
   "value": 8,
   "where": "new-forecasters",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.snapshot",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
   "value": 8,
   "where": "pre-match-record",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.snapshot.on_page",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
   "value": 5,
   "where": "pre-match-record",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "match.snapshot.left",
   "entity": "/football/matches/ofi-vs-bayer-04-leverkusen-2026-10-22/",
   "value": 3,
   "where": "pre-match-record",
   "as_of": "2026-11-07T19:52:23.438Z"
  }
 ],
 "data_changes": {
  "records_corrected": 0,
  "last_correction_at": null,
  "corrections_url": "/corrections/"
 },
 "entity_id": "event:s-86c9b6a0c716",
 "source_revision": 152,
 "title_short": {
  "length": 65,
  "names": [
   "OFI",
   "Leverkusen"
  ],
  "title": "OFI vs Leverkusen: Predictions and Results — 22 Oct 2026",
  "title_length": 56
 }
}
