{
 "schema_name": "page",
 "schema_version": "2.0",
 "page_type": "author",
 "url": "/authors/joakim-ostman/",
 "canonical": "/authors/joakim-ostman/",
 "language": "en",
 "hreflang": [],
 "translations": [],
 "heading": "Joakim Östman: Football Prediction Record",
 "description": "4 settled picks by Joakim Östman recorded before kick-off across 4 matches, 13 Oct 2026 – 6 Nov 2026: won 3 of 4 at our recorded market prices.",
 "first_paragraph": {
  "body": "Forecast Record recorded 4 settled live picks by Joakim Östman before kick-off across 4 matches between 13 October and 6 November 2026. Won 3 of 4 settled live picks at our recorded market prices. Of the 12 predictions we hold for Joakim Östman, 8 are linked to matches: 8 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "key_number": "4",
  "data": "2026-11-07",
  "source_info": "our own evidence archive and market snapshot",
  "brand": "Forecast Record"
 },
 "indexable": false,
 "noindex_reason": "too_few_settled",
 "indexing_threshold": {
  "settled_count": 4,
  "date_count": 7,
  "required_settled": 10,
  "required_dates": 2
 },
 "data_date": "2026-11-07T17:55:31.878Z",
 "built_at": "2026-11-07T19:52:23.438Z",
 "lastmod": "2026-11-08T02:12:33.000Z",
 "content_hash": null,
 "meaning_hash": "a90d56affd032e0d31f8fae22f1fb70e05ff4b085c0ebcdb9ca45c8bc0bdfdfe",
 "dependency_group": "author:e-51cd0b629ab0c687eb0811a9",
 "release_id": "20261107-195223",
 "markup": [
  {
   "type_code": "WebPage",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Organization",
   "allowed": true,
   "cause": null
  },
  {
   "type_code": "Person",
   "allowed": true,
   "cause": null
  }
 ],
 "exports": [
  {
   "type_code": "json",
   "url": "/authors/joakim-ostman/index.json",
   "bytes": null
  },
  {
   "type_code": "csv",
   "url": "/authors/joakim-ostman/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": "author"
 },
 "restrictions": {
  "name_withdrawn": false,
  "tracker_number": null,
  "withdrawn_quotes": [],
  "removed_at": null,
  "cause": null,
  "suspended_records": [],
  "withdrawal_log_number": 0
 },
 "page_links": {
  "methodology": "/methodology/",
  "right_of_reply": "/right-of-reply/",
  "source_coverage": "/coverage/",
  "corrections_log": "/corrections/",
  "api": "/api/",
  "claim": "/claim/"
 },
 "entity": {
  "id": "e-51cd0b629ab0c687eb0811a9",
  "public_name": "Joakim Östman",
  "tracker_number": 3010,
  "status": "active",
  "inactive_since": null,
  "verified_creator": false,
  "observation_period": {
   "since": "2026-10-11",
   "until": "2026-11-06"
  },
  "platform_list": [
   {
    "medium": "website",
    "handle": null,
    "url": null,
    "link_confirmed": false,
    "show": true
   }
  ],
  "comment": null
 },
 "headline_number": {
  "metric": {
   "metric_id": "p-e-51cd0b629ab0c687eb0811a9-roi-market-price-90d-z99",
   "code_name": "roi_market_price",
   "display_name": "Return on stakes at an independent odds snapshot",
   "window_kind": "90d",
   "window_from": "2026-08-09",
   "window_to": "2026-11-07",
   "amount": "45.2700",
   "unit": "percent",
   "data_status": "calculated",
   "cause": null,
   "n_bets": 4,
   "n_events": 4,
   "n_void": 0,
   "ci_low": null,
   "ci_high": null,
   "ci_method": "not_estimated",
   "price_source": "market_price",
   "coverage_percent": "100.00",
   "breakdown": [],
   "methodology_version": "2.2",
   "data_date": "2026-11-07T17:55:31.878Z",
   "enough_for_ranking": false,
   "series_uid": null,
   "series_key": "market_price",
   "series_label": "At an independent odds snapshot"
  },
  "byline": "Return on stakes at an independent odds snapshot over 90 days: 4 settled picks across 4 matches",
  "average_odds": "2.29",
  "odds_from_author": 4,
  "odds_from_snapshot": 0
 },
 "metrics": [],
 "history": [],
 "simulation": {
  "series_uid": "sr-d404858d4f0a5a74fe202a7f",
  "bankroll_hundredths": 1018108,
  "reserve_hundredths": 10000,
  "issued_total_hundredths": 1000000,
  "top_up_count": 0,
  "profit_hundredths": 18108,
  "rewards_off": null,
  "initial_hundredths": 1000000,
  "stake_hundredths": 10000,
  "data_points": [
   {
    "at": "2026-10-14T21:09:44.427Z",
    "bankroll_hundredths": 1006211,
    "profit_hundredths": 6211,
    "outcome_id": "ish-7f8a801e804ceea77295cb99"
   },
   {
    "at": "2026-10-18T06:45:16.672Z",
    "bankroll_hundredths": 996211,
    "profit_hundredths": -3789,
    "outcome_id": "ish-b0c8b9710ed3994d74214bea"
   },
   {
    "at": "2026-10-23T00:44:18.697Z",
    "bankroll_hundredths": 1011211,
    "profit_hundredths": 11211,
    "outcome_id": "ish-0f999ab395199f91b18673e0"
   },
   {
    "at": "2026-11-06T22:16:42.798Z",
    "bankroll_hundredths": 1018108,
    "profit_hundredths": 18108,
    "outcome_id": "ish-5379a425933f9945d390fd3d"
   }
  ],
  "top_ups": [],
  "rule": "When the balance falls below 100 points and no bets are open, 10000 points are added; the remaining balance is kept. While bets are open we wait for settlement.",
  "series_key": "market_price",
  "series_label": "At an independent odds snapshot"
 },
 "simulations": [],
 "completeness": {
  "detected": 30,
  "recognised": 12,
  "accepted": 8,
  "executed": 5,
  "calculated": 4,
  "gaps": [
   {
    "cause": "not_supported",
    "figure": 2
   },
   {
    "cause": "other reading",
    "figure": 2
   },
   {
    "cause": "disputed_reading",
    "figure": 2
   },
   {
    "cause": "not_checked",
    "figure": 1
   }
  ]
 },
 "record_counts": {
  "dictionary_version": "1",
  "statements": 30,
  "of_them_restored": 0,
  "not_predictions": {
   "opinions": 5,
   "not_about_a_match": 13,
   "unclassified": 0
  },
  "predictions": 12,
  "predictions_restored": 0,
  "matches": 8,
  "admitted": 8,
  "qualifying_picks": 5,
  "qualifying_picks_restored": 0,
  "settled_picks": 4,
  "settled_picks_restored": 0,
  "series_list": [
   {
    "code_name": "market_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 5,
    "settled_picks": 4,
    "void": 0,
    "pending_picks": 1,
    "matches": 4,
    "operations_settled": 4,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "At an independent odds snapshot"
   },
   {
    "code_name": "author_price",
    "derived": false,
    "is_restored": false,
    "qualifying_picks": 5,
    "settled_picks": 4,
    "void": 0,
    "pending_picks": 1,
    "matches": 4,
    "operations_settled": 4,
    "stakes_hundredths": [
     10000
    ],
    "methodologies": [
     "2.2"
    ],
    "display_name": "At the author's stated price"
   }
  ],
  "gaps": [
   {
    "code_name": "not_supported",
    "cause": "not_supported",
    "figure": 2
   },
   {
    "code_name": "ambiguous",
    "cause": "other reading",
    "figure": 2
   },
   {
    "code_name": "disputed_reading",
    "cause": "disputed_reading",
    "figure": 2
   },
   {
    "code_name": "not_checked",
    "cause": "not_checked",
    "figure": 1
   }
  ],
  "duplicates": 0,
  "junk": {
   "ads": 13
  },
  "dictionary_url": "/methodology/#words"
 },
 "evidence_items": [
  {
   "observation_id": "n-18444dd4e837d1a04ec121ee",
   "url": "/evidence/?pick=n-18444dd4e837d1a04ec121ee",
   "quote_text": "1500 kr i Gratisspel",
   "fragment_from": 941,
   "fragment_to": 961,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-8-11-infor-atletico-madrid-barcelona-stormote-pa-metropolitano",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6b658a6a339aa60463a18aa5c9e27816a40e99c86889232f39917318df13b9b2",
    "material_removed": false
   },
   "published_at": "2026-11-06T14:15:57.000Z",
   "detected_at": "2026-11-06T14:29:56.916Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-06T14:15:57.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T14:15:57.000Z",
    "detected_at": "2026-11-06T14:29:56.916Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-79a981022fe26fd101c8bcfd",
   "url": "/authors/joakim-ostman/#pick-n-79a981022fe26fd101c8bcfd",
   "quote_text": "Speltips: Barcelona vinner | Odds: @1.85 | Units: 2/5",
   "fragment_from": 429,
   "fragment_to": 482,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-8-11-infor-atletico-madrid-barcelona-stormote-pa-metropolitano",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "6b658a6a339aa60463a18aa5c9e27816a40e99c86889232f39917318df13b9b2",
    "material_removed": false
   },
   "published_at": "2026-11-06T14:15:57.000Z",
   "detected_at": "2026-11-06T14:29:56.916Z",
   "executed_at": "2026-11-06T20:53:44.816Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-4fd491e4e4e2",
    "display_name": "Atlético Madrid — FC Barcelona",
    "competition_name": "LaLiga",
    "starts_at": "2026-11-08T20:00:00.000Z",
    "url": "/football/matches/atletico-madrid-vs-fc-barcelona-2026-11-08/",
    "scoreline": null,
    "condition": "scheduled"
   },
   "market_label": "1X2, match result",
   "outcome_label": "FC Barcelona",
   "odds_set": {
    "by_author": "1.85",
    "our_snapshot": "1.8000",
    "our_snapshot_at": "2026-11-06T14:27:11.266Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "unknown",
   "simulation_change_hundredths": 0,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-06T14:15:57.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-06T14:15:57.000Z",
    "detected_at": "2026-11-06T14:29:56.916Z",
    "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": "FC Barcelona",
    "author_odds": "1.85",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: FC Barcelona at 1.85"
   },
   "author_claim_outcome": {
    "result": "unknown",
    "scoreline": null,
    "data_status": "unknown",
    "cause": "kick-off 8 November 2026, 20:00 UTC",
    "methodology_version": "2.2",
    "in_words": "Pending: kick-off 8 November 2026, 20:00 UTC."
   },
   "settlements": [
    {
     "operation_id": "09527734de8a1144252d1af7396d26a800dcf4321bad1fb7f8d200d2879f171f",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "FC Barcelona",
     "decimal_odds": "1.85",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T20:53:19.932Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "e0831e7e706a4a074ffb15db8750aa601106a550382778fb5301e9260c20a218",
     "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": "FC Barcelona",
     "decimal_odds": "1.8000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": "2026-11-06T20:53:44.816Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "qualifying_pick",
   "authorship": {
    "material_author": "Joakim Östman",
    "publisher": "Speltips.se",
    "forecaster": "Joakim Östman",
    "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://speltips.se/speltips-8-11-infor-atletico-madrid-barcelona-stormote-pa-metropolitano",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-729a655dbc5243627b44950b",
   "url": "/authors/joakim-ostman/#pick-n-729a655dbc5243627b44950b",
   "quote_text": "Match: Everton – Coventry City (Premier League) | Speltips: Everton vinner | Odds: @1.75 | Units: 2/5 | Spelstopp: 21:00",
   "fragment_from": 390,
   "fragment_to": 510,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-6-11-infor-everton-coventry-city-sjalvklara-valet",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "17a376cb63157df36cb6ede13ec574cf43ee968b47199df3cdbe64ad2a2e282b",
    "material_removed": false
   },
   "published_at": "2026-11-05T16:00:26.000Z",
   "detected_at": "2026-11-05T16:29:43.354Z",
   "executed_at": "2026-11-05T16:31:20.994Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-58bcaa8396b1",
    "display_name": "Everton — Coventry City",
    "competition_name": "Premier League",
    "starts_at": "2026-11-06T20:00:00.000Z",
    "url": "/football/matches/everton-vs-coventry-city-2026-11-06/",
    "scoreline": "3-1",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Everton",
   "odds_set": {
    "by_author": "1.75",
    "our_snapshot": "1.6897",
    "our_snapshot_at": "2026-11-05T16:26:32.044Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 6897,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-05T16:00:26.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-05T16:00:26.000Z",
    "detected_at": "2026-11-05T16:29:43.354Z",
    "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": "Everton",
    "author_odds": "1.75",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Everton at 1.75"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "3-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Everton 3-1 Coventry City."
   },
   "settlements": [
    {
     "operation_id": "6e297992e10fab66965c7445c4d79821117abcb06546acfc7d5a3463d2856754",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Everton",
     "decimal_odds": "1.75",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 7500,
     "executed_at": "2026-11-05T16:31:14.623Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "4f627ad709a41c74648b581cd2e08b6bb5e553dd2a99d2d78d5bebbf38634ad0",
     "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": "Everton",
     "decimal_odds": "1.6897",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 6897,
     "executed_at": "2026-11-05T16:31:20.994Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joakim Östman",
    "publisher": "Speltips.se",
    "forecaster": "Joakim Östman",
    "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://speltips.se/speltips-6-11-infor-everton-coventry-city-sjalvklara-valet",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-3bff61dccd872352b08ddac9",
   "url": "/evidence/?pick=n-3bff61dccd872352b08ddac9",
   "quote_text": "Det är stängt!",
   "fragment_from": 3861,
   "fragment_to": 3875,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-4-11-infor-fenerbahce-liverpool-dubbeln-testas",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1eda0cfad0880a36b18535b1feb1ef9a2e462b92e05c3aacfe721e4136702cd5",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:00:43.000Z",
   "detected_at": "2026-11-03T16:29:54.071Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T16:00:43.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:00:43.000Z",
    "detected_at": "2026-11-03T16:29:54.071Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-da56553affc7dfd5fcef0c0f",
   "url": "/authors/joakim-ostman/#pick-n-da56553affc7dfd5fcef0c0f",
   "quote_text": "Speltips: Liverpool vinner & över 2,5 mål | Odds: @1.98",
   "fragment_from": 435,
   "fragment_to": 490,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-4-11-infor-fenerbahce-liverpool-dubbeln-testas",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "1eda0cfad0880a36b18535b1feb1ef9a2e462b92e05c3aacfe721e4136702cd5",
    "material_removed": false
   },
   "published_at": "2026-11-03T16:00:43.000Z",
   "detected_at": "2026-11-03T16:29:54.071Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-03T16:00:43.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-03T16:00:43.000Z",
    "detected_at": "2026-11-03T16:29:54.071Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-97d7fa077c6440f313798318",
   "url": "/evidence/?pick=n-97d7fa077c6440f313798318",
   "quote_text": "I slutändan håller vi oss borta från spel på resultat",
   "fragment_from": 3143,
   "fragment_to": 3196,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-3-11-infor-atletico-madrid-bayern-munchen-spelvard-malskytt",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7903a274ca80a8aab74e2129d72abce84210ce964e011ed1308614976df04c6f",
    "material_removed": false
   },
   "published_at": "2026-11-02T16:00:08.000Z",
   "detected_at": "2026-11-03T07:49:52.500Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-02T16:00:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T16:00:08.000Z",
    "detected_at": "2026-11-03T07:49:52.500Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-599d2a3d2c420f017193ce87",
   "url": "/evidence/?pick=n-599d2a3d2c420f017193ce87",
   "quote_text": "håller vi Atletico Madrid på hemmaplan som knappa favoriter",
   "fragment_from": 2906,
   "fragment_to": 2965,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-3-11-infor-atletico-madrid-bayern-munchen-spelvard-malskytt",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7903a274ca80a8aab74e2129d72abce84210ce964e011ed1308614976df04c6f",
    "material_removed": false
   },
   "published_at": "2026-11-02T16:00:08.000Z",
   "detected_at": "2026-11-03T07:49:52.500Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-02T16:00:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T16:00:08.000Z",
    "detected_at": "2026-11-03T07:49:52.500Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-d413995210cdbedb4cbda958",
   "url": "/evidence/?pick=n-d413995210cdbedb4cbda958",
   "quote_text": "Vi synar att det kommer bli en målrik tillställning",
   "fragment_from": 3258,
   "fragment_to": 3309,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-3-11-infor-atletico-madrid-bayern-munchen-spelvard-malskytt",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7903a274ca80a8aab74e2129d72abce84210ce964e011ed1308614976df04c6f",
    "material_removed": false
   },
   "published_at": "2026-11-02T16:00:08.000Z",
   "detected_at": "2026-11-03T07:49:52.500Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-11-02T16:00:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T16:00:08.000Z",
    "detected_at": "2026-11-03T07:49:52.500Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4b7d3667807e8f78548e40b2",
   "url": "/authors/joakim-ostman/#pick-n-4b7d3667807e8f78548e40b2",
   "quote_text": "Speltips: Harry Kane – gör mål | Odds: @2.02 | Units: 2/5",
   "fragment_from": 474,
   "fragment_to": 531,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-3-11-infor-atletico-madrid-bayern-munchen-spelvard-malskytt",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "7903a274ca80a8aab74e2129d72abce84210ce964e011ed1308614976df04c6f",
    "material_removed": false
   },
   "published_at": "2026-11-02T16:00:08.000Z",
   "detected_at": "2026-11-03T07:49:52.500Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "not_checked",
   "event": {
    "event_id": "s-13be466edde6",
    "display_name": "Atlético Madrid — FC Bayern München",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-11-03T20:00:00.000Z",
    "url": "/football/matches/atletico-madrid-vs-fc-bayern-munchen-2026-11-03/",
    "scoreline": "0-2",
    "condition": "finished"
   },
   "market_label": "Player to score",
   "outcome_label": "Harry Kane to score",
   "odds_set": {
    "by_author": "2.02",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-11-02T16:00:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-11-02T16:00:08.000Z",
    "detected_at": "2026-11-03T07:49:52.500Z",
    "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": "Player to score",
    "choice": "Harry Kane to score",
    "author_odds": "2.02",
    "market_key": "player_to_score",
    "choice_key": "yes",
    "period": "match",
    "line": null,
    "subject": "player_goals",
    "in_words": "Player to score: Harry Kane to score at 2.02"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "0-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost — Harry Kane scored 0 goals; the final score was Atlético Madrid 0-2 FC Bayern München."
   },
   "settlements": [
    {
     "operation_id": "36b148d146481a3b48dcead573dab1b5df0fb1bb462c719e81e4d021c805d065",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Harry Kane to score",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "e112dc562cbd066e775df5b86cac5fdc8addb6605c7e1e16b8f382021f2e81c5",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Player to score",
     "choice": "Harry Kane to score",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joakim Östman",
    "publisher": "Speltips.se",
    "forecaster": "Joakim Östman",
    "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://speltips.se/speltips-3-11-infor-atletico-madrid-bayern-munchen-spelvard-malskytt",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-71d7aeba6406cdbefc83d6bd",
   "url": "/authors/joakim-ostman/#pick-n-71d7aeba6406cdbefc83d6bd",
   "quote_text": "Speltips: Arsenal -2,5 mål | Odds: @1.80",
   "fragment_from": 421,
   "fragment_to": 461,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-27-10-infor-fleetwood-arsenal-inget-snack",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "94a59484fa23599eedcd4f672d57c9d4487cdb4f723b4aa76a155cfe6ac25d4c",
    "material_removed": false
   },
   "published_at": "2026-10-26T16:00:16.000Z",
   "detected_at": "2026-10-26T16:29:41.745Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-745e2a940a5e",
    "display_name": "Fleetwood Town — Arsenal",
    "competition_name": "EFL Cup (Carabao)",
    "starts_at": "2026-10-27T20:00:00.000Z",
    "url": "/football/matches/fleetwood-town-vs-arsenal-2026-10-27/",
    "scoreline": "1-1",
    "condition": "finished"
   },
   "market_label": "European handicap -2",
   "outcome_label": "Arsenal -2",
   "odds_set": {
    "by_author": "1.8",
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-26T16:00:16.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-26T16:00:16.000Z",
    "detected_at": "2026-10-26T16:29:41.745Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "recorded_before_kickoff",
   "origin_detail": null,
   "origin_words": "Recorded by us before kick-off",
   "added_on": null,
   "late_publication": null,
   "author_claim": {
    "market_label": "European handicap -2",
    "choice": "Arsenal -2",
    "author_odds": "1.8",
    "market_key": "handicap_european",
    "choice_key": "2",
    "period": "match",
    "line": "-2",
    "subject": "goals_total",
    "in_words": "European handicap -2: Arsenal -2 at 1.8"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "1-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Fleetwood Town 1-1 Arsenal."
   },
   "settlements": [
    {
     "operation_id": "5bce7e13950afb0034176b4d052a0621c8a351a6cbde08216eecbd31c1c7a9a0",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "European handicap -2",
     "choice": "Arsenal -2",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "3a681526b24689c2ba510742d950a15c0f1b22cefc0a0ca2c5e0f4ab18c17077",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "European handicap -2",
     "choice": "Arsenal -2",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joakim Östman",
    "publisher": "Speltips.se",
    "forecaster": "Joakim Östman",
    "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://speltips.se/speltips-27-10-infor-fleetwood-arsenal-inget-snack",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-37ea20c3b49689597d5402c4",
   "url": "/evidence/?pick=n-37ea20c3b49689597d5402c4",
   "quote_text": "500 kr i Gratisspel",
   "fragment_from": 763,
   "fragment_to": 782,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-24-10-infor-malmo-timra-starka-hemma",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "65b7f07e55fffd0d5ecf050be2b4095d9cf5b98ce36973467dce6ed8719acef6",
    "material_removed": false
   },
   "published_at": "2026-10-23T14:30:59.000Z",
   "detected_at": "2026-10-23T18:49:48.273Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-23T14:30:59.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T14:30:59.000Z",
    "detected_at": "2026-10-23T18:49:48.273Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-ce14124e513ae3d986b75c10",
   "url": "/authors/joakim-ostman/#pick-n-ce14124e513ae3d986b75c10",
   "quote_text": "Match: Malmö – Timrå (SHL) | Speltips: Malmö vinner | Odds: @1.90 | Units: 2/5",
   "fragment_from": 346,
   "fragment_to": 424,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-24-10-infor-malmo-timra-starka-hemma",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "65b7f07e55fffd0d5ecf050be2b4095d9cf5b98ce36973467dce6ed8719acef6",
    "material_removed": false
   },
   "published_at": "2026-10-23T14:30:59.000Z",
   "detected_at": "2026-10-23T18:49:48.273Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "not_supported",
   "cause": "",
   "cause_code": "not_supported",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-23T14:30:59.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T14:30:59.000Z",
    "detected_at": "2026-10-23T18:49:48.273Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-3811a4158e648b44f58acf57",
   "url": "/evidence/?pick=n-3811a4158e648b44f58acf57",
   "quote_text": "Relaterade inlägg",
   "fragment_from": 3523,
   "fragment_to": 3540,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-24-10-infor-arsenal-everton-haller-tatt",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "851f6431b905c51053a9736afe8a7ab29f3acb66e1cc998b8c00d2826398945a",
    "material_removed": false
   },
   "published_at": "2026-10-23T15:00:29.000Z",
   "detected_at": "2026-10-23T18:49:47.476Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-23T15:00:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T15:00:29.000Z",
    "detected_at": "2026-10-23T18:49:47.476Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-b13d095c81e60d15c3d210fc",
   "url": "/evidence/?pick=n-b13d095c81e60d15c3d210fc",
   "quote_text": "Detta är en match Arsenal ska vinna och det förväntar vi oss att de gör också men ur ett spelvärdes",
   "fragment_from": 2662,
   "fragment_to": 2761,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-24-10-infor-arsenal-everton-haller-tatt",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "851f6431b905c51053a9736afe8a7ab29f3acb66e1cc998b8c00d2826398945a",
    "material_removed": false
   },
   "published_at": "2026-10-23T15:00:29.000Z",
   "detected_at": "2026-10-23T18:49:47.476Z",
   "executed_at": null,
   "statement_class": "opinion",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-23T15:00:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T15:00:29.000Z",
    "detected_at": "2026-10-23T18:49:47.476Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-d07b3c07eee53d8ab333a8ba",
   "url": "/authors/joakim-ostman/#pick-n-d07b3c07eee53d8ab333a8ba",
   "quote_text": "Jag väljer att spela på att Arsenal håller nollan i det här mötet.",
   "fragment_from": 522,
   "fragment_to": 588,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-24-10-infor-arsenal-everton-haller-tatt",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "851f6431b905c51053a9736afe8a7ab29f3acb66e1cc998b8c00d2826398945a",
    "material_removed": false
   },
   "published_at": "2026-10-23T15:00:29.000Z",
   "detected_at": "2026-10-23T18:49:47.476Z",
   "executed_at": null,
   "statement_class": "unpriced",
   "status": "recognised",
   "cause": "",
   "cause_code": "disputed_reading",
   "event": {
    "event_id": "s-e2a18e7b4072",
    "display_name": "Arsenal — Everton",
    "competition_name": "Premier League",
    "starts_at": "2026-10-24T14:00:00.000Z",
    "url": "/football/matches/arsenal-vs-everton-2026-10-24/",
    "scoreline": "2-0",
    "condition": "finished"
   },
   "market_label": "Team goals over/under 0.5",
   "outcome_label": "Arsenal under 0.5",
   "odds_set": {
    "by_author": null,
    "our_snapshot": null,
    "our_snapshot_at": null,
    "our_snapshot_source": null,
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": null,
   "result": "loss",
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-23T15:00:29.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-23T15:00:29.000Z",
    "detected_at": "2026-10-23T18:49:47.476Z",
    "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": "Team goals over/under 0.5",
    "choice": "Arsenal under 0.5",
    "author_odds": null,
    "market_key": "team_total",
    "choice_key": "1-under",
    "period": "match",
    "line": "0.5",
    "subject": "goals_total",
    "in_words": "Team goals over/under 0.5: Arsenal under 0.5"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "2-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Arsenal 2-0 Everton."
   },
   "settlements": [
    {
     "operation_id": "40b2bb8d47c00f9ec8eba63e19e3466c699f0421a1c9ff9a328d9c015fd6eac5",
     "series_key": "market_price",
     "series_label": "At an independent odds snapshot",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "Team goals over/under 0.5",
     "choice": "Arsenal under 0.5",
     "decimal_odds": null,
     "odds_role": null,
     "stake_hundredths": null,
     "status": "skipped",
     "status_text": "Not executed: ",
     "result": null,
     "result_words": null,
     "change_hundredths": null,
     "executed_at": null,
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": {
    "material_author": "Joakim Östman",
    "publisher": "Speltips.se",
    "forecaster": "Joakim Östman",
    "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://speltips.se/speltips-24-10-infor-arsenal-everton-haller-tatt",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-050750c7a7c6f7dea1ad89c0",
   "url": "/authors/joakim-ostman/#pick-n-050750c7a7c6f7dea1ad89c0",
   "quote_text": "Match: Celtic – Celta Vigo (Europa League) | Speltips: Celta Vigo vinner | Odds: @2.44 | Units: 2/5 | Spelstopp: 21:00",
   "fragment_from": 366,
   "fragment_to": 484,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-22-10-infor-celtic-celta-vigo-battre-laget",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "adc58011a04837b67ff533e05083ebb12c32feced79df42a35841d1d15580655",
    "material_removed": false
   },
   "published_at": "2026-10-21T15:00:08.000Z",
   "detected_at": "2026-10-21T15:29:31.735Z",
   "executed_at": "2026-10-23T00:44:02.995Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-2709a4135d6d",
    "display_name": "Celtic — Celta Vigo",
    "competition_name": "UEFA Europa League",
    "starts_at": "2026-10-22T19:00:00.000Z",
    "url": "/football/matches/celtic-vs-celta-vigo-2026-10-22/",
    "scoreline": "1-2",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Celta Vigo",
   "odds_set": {
    "by_author": "2.44",
    "our_snapshot": "2.5000",
    "our_snapshot_at": "2026-10-21T15:25:36.891Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 15000,
   "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-21T15:00:08.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-21T15:00:08.000Z",
    "detected_at": "2026-10-21T15:29:31.735Z",
    "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": "Celta Vigo",
    "author_odds": "2.44",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Celta Vigo at 2.44"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "1-2",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Celtic 1-2 Celta Vigo."
   },
   "settlements": [
    {
     "operation_id": "a66b7f39ebb88bf8c269b9ca400088666b6fea66837f715d984d32939b7b9ffd",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Celta Vigo",
     "decimal_odds": "2.44",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 14400,
     "executed_at": "2026-10-23T00:44:02.494Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "97849218b526fcb0c9deecf3284efca33db1b0d1d195107a56540852d0177747",
     "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": "Celta Vigo",
     "decimal_odds": "2.5000",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 15000,
     "executed_at": "2026-10-23T00:44:02.995Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joakim Östman",
    "publisher": "Speltips.se",
    "forecaster": "Joakim Östman",
    "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://speltips.se/speltips-22-10-infor-celtic-celta-vigo-battre-laget",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-db4ab1d90bf27edef071ec45",
   "url": "/evidence/?pick=n-db4ab1d90bf27edef071ec45",
   "quote_text": "Inlägget SPELTIPS 20/10 inför Manchester City – AEK Aten: Hittar nät! dök först upp på Speltips.se.",
   "fragment_from": 56,
   "fragment_to": 155,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-20-10-infor-manchester-city-aek-aten-hittar-nat",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "e868b3fe5ef446622fd18d1cb8fdb8dd91e285bc8c38a5be285b73936a6bc82d",
    "material_removed": false
   },
   "published_at": "2026-10-19T15:00:16.000Z",
   "detected_at": "2026-10-20T13:09:40.416Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-19T15:00:16.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-19T15:00:16.000Z",
    "detected_at": "2026-10-20T13:09:40.416Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-005850388d4c04bc78238171",
   "url": "/evidence/?pick=n-005850388d4c04bc78238171",
   "quote_text": "Oddset kan förändras",
   "fragment_from": 3323,
   "fragment_to": 3343,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-18-10-infor-juventus-lazio-obesegrat-facit",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "91857cead83bf31bb61d1fe3b3d4cd06da0b75066728f81fd979ac9bbec7db7d",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:00:47.000Z",
   "detected_at": "2026-10-16T15:19:35.851Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:00:47.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:00:47.000Z",
    "detected_at": "2026-10-16T15:19:35.851Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-d8545c340a1c8cc1b953664c",
   "url": "/evidence/?pick=n-d8545c340a1c8cc1b953664c",
   "quote_text": "Rygga mitt spel",
   "fragment_from": 3144,
   "fragment_to": 3159,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-18-10-infor-juventus-lazio-obesegrat-facit",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "91857cead83bf31bb61d1fe3b3d4cd06da0b75066728f81fd979ac9bbec7db7d",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:00:47.000Z",
   "detected_at": "2026-10-16T15:19:35.851Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:00:47.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:00:47.000Z",
    "detected_at": "2026-10-16T15:19:35.851Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-496b9232b5d2ca42a151e0f5",
   "url": "/evidence/?pick=n-496b9232b5d2ca42a151e0f5",
   "quote_text": "Registrera dig nu!",
   "fragment_from": 919,
   "fragment_to": 937,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-18-10-infor-juventus-lazio-obesegrat-facit",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "91857cead83bf31bb61d1fe3b3d4cd06da0b75066728f81fd979ac9bbec7db7d",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:00:47.000Z",
   "detected_at": "2026-10-16T15:19:35.851Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:00:47.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:00:47.000Z",
    "detected_at": "2026-10-16T15:19:35.851Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-542593b79aa0697c2a8eb53a",
   "url": "/authors/joakim-ostman/#pick-n-542593b79aa0697c2a8eb53a",
   "quote_text": "Speltips: Oavgjort eller Lazio | Odds: @2.08",
   "fragment_from": 411,
   "fragment_to": 455,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-18-10-infor-juventus-lazio-obesegrat-facit",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "91857cead83bf31bb61d1fe3b3d4cd06da0b75066728f81fd979ac9bbec7db7d",
    "material_removed": false
   },
   "published_at": "2026-10-16T14:00:47.000Z",
   "detected_at": "2026-10-16T15:19:35.851Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-16T14:00:47.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-16T14:00:47.000Z",
    "detected_at": "2026-10-16T15:19:35.851Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-4e86a30c1f7913020898bed7",
   "url": "/authors/joakim-ostman/#pick-n-4e86a30c1f7913020898bed7",
   "quote_text": "Under 2,5 mål hos 1x2",
   "fragment_from": 3456,
   "fragment_to": 3477,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-15-10-infor-celta-vigo-juventus-statistiken-talar",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "ebe25c7c79620ff7ea9f1e6afa676b28b78a5fad664949b85cf7d6181244fda1",
    "material_removed": false
   },
   "published_at": "2026-10-14T15:00:41.000Z",
   "detected_at": "2026-10-14T15:29:35.297Z",
   "executed_at": null,
   "statement_class": "priced",
   "status": "ambiguous",
   "cause": "",
   "cause_code": "ambiguous",
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-14T15:00:41.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-14T15:00:41.000Z",
    "detected_at": "2026-10-14T15:29:35.297Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "prediction",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-802217601eea281186cfd277",
   "url": "/authors/joakim-ostman/#pick-n-802217601eea281186cfd277",
   "quote_text": "Speltips: Aston Villa vinner | Odds: @1.68",
   "fragment_from": 443,
   "fragment_to": 485,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-14-10-infor-aston-villa-fenerbahce-battre-laget",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "d4455fc1862576129f5a341a5aa8ecc7fd4b926bcea88e94c7ada230173705e7",
    "material_removed": false
   },
   "published_at": "2026-10-13T15:00:31.000Z",
   "detected_at": "2026-10-13T15:29:38.269Z",
   "executed_at": "2026-10-13T15:31:41.270Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-51292fa0ec5c",
    "display_name": "Aston Villa — Fenerbahçe",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-10-14T19:00:00.000Z",
    "url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
    "scoreline": "6-0",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "Aston Villa",
   "odds_set": {
    "by_author": "1.68",
    "our_snapshot": "1.6211",
    "our_snapshot_at": "2026-10-13T15:26:57.296Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "win",
   "simulation_change_hundredths": 6211,
   "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-13T15:00:31.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-13T15:00:31.000Z",
    "detected_at": "2026-10-13T15:29:38.269Z",
    "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": "Aston Villa",
    "author_odds": "1.68",
    "market_key": "1x2",
    "choice_key": "1",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: Aston Villa at 1.68"
   },
   "author_claim_outcome": {
    "result": "win",
    "scoreline": "6-0",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Won: the final score was Aston Villa 6-0 Fenerbahçe."
   },
   "settlements": [
    {
     "operation_id": "d458e241b94936a0c523671311009770793f9b0a101110955aa683c9d4be3377",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "Aston Villa",
     "decimal_odds": "1.68",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 6800,
     "executed_at": "2026-10-13T15:31:37.784Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "74b4030f0159e420c48f5e040418ff3146e5762cdf13ac9e31a84a9956e193c6",
     "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": "Aston Villa",
     "decimal_odds": "1.6211",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "win",
     "result_words": "Won",
     "change_hundredths": 6211,
     "executed_at": "2026-10-13T15:31:41.270Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joakim Östman",
    "publisher": "Speltips.se",
    "forecaster": "Joakim Östman",
    "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://speltips.se/speltips-14-10-infor-aston-villa-fenerbahce-battre-laget",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-edbecbf028ffb131f24e8e30",
   "url": "/evidence/?pick=n-edbecbf028ffb131f24e8e30",
   "quote_text": "Relaterade inlägg\n\n12 oktober, 2026, 17:05\n|\n\nDaniel Berggren\n\nSPELTIPS 13/10 inför Galatasaray",
   "fragment_from": 3697,
   "fragment_to": 3792,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-13-10-infor-villarreal-napoli-gillar-hogoddsaren",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "90a090c60dc3db4c31a4da75c25b21e9bc58bc33fb29b342b87e830daf7b71c8",
    "material_removed": false
   },
   "published_at": "2026-10-12T15:00:42.000Z",
   "detected_at": "2026-10-12T15:29:39.471Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-12T15:00:42.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-12T15:00:42.000Z",
    "detected_at": "2026-10-12T15:29:39.471Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-46e4fc02576604595798b720",
   "url": "/authors/joakim-ostman/#pick-n-46e4fc02576604595798b720",
   "quote_text": "Match: Villarreal – Napoli (Champions League) | Speltips: Napoli vinner | Odds: @3.30 | Units: 2/5 | Spelstopp: 21:00",
   "fragment_from": 370,
   "fragment_to": 487,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-13-10-infor-villarreal-napoli-gillar-hogoddsaren",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "90a090c60dc3db4c31a4da75c25b21e9bc58bc33fb29b342b87e830daf7b71c8",
    "material_removed": false
   },
   "published_at": "2026-10-12T15:00:42.000Z",
   "detected_at": "2026-10-12T15:29:39.471Z",
   "executed_at": "2026-10-18T06:40:04.094Z",
   "statement_class": "priced",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": {
    "event_id": "s-dfd94b3dad49",
    "display_name": "Villarreal — SSC Napoli",
    "competition_name": "UEFA Champions League",
    "starts_at": "2026-10-13T19:00:00.000Z",
    "url": "/football/matches/villarreal-vs-ssc-napoli-2026-10-13/",
    "scoreline": "3-1",
    "condition": "finished"
   },
   "market_label": "1X2, match result",
   "outcome_label": "SSC Napoli",
   "odds_set": {
    "by_author": "3.3",
    "our_snapshot": "3.1600",
    "our_snapshot_at": "2026-10-12T15:27:55.016Z",
    "our_snapshot_source": "market snapshot",
    "closing": null,
    "closing_source": null
   },
   "stake_hundredths": 10000,
   "result": "loss",
   "simulation_change_hundredths": -10000,
   "bankroll_after_hundredths": null,
   "executed_by": "ours",
   "series_label": "At an independent odds snapshot",
   "withdrawn": false,
   "provenance": "recorded_pre_match",
   "provenance_words": "Recorded by us before kick-off",
   "dates": {
    "fragment_at": "2026-10-12T15:00:42.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-12T15:00:42.000Z",
    "detected_at": "2026-10-12T15:29:39.471Z",
    "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": "SSC Napoli",
    "author_odds": "3.3",
    "market_key": "1x2",
    "choice_key": "2",
    "period": "match",
    "line": null,
    "subject": "goals_total",
    "in_words": "1X2, match result: SSC Napoli at 3.3"
   },
   "author_claim_outcome": {
    "result": "loss",
    "scoreline": "3-1",
    "data_status": "measured",
    "cause": null,
    "methodology_version": "2.2",
    "in_words": "Lost: the final score was Villarreal 3-1 SSC Napoli."
   },
   "settlements": [
    {
     "operation_id": "a0f3c75bd3a149c563d4f3b47adf2378413db51cd229afe01671fd39a4d6145e",
     "series_key": "author_price",
     "series_label": "At the author's stated price",
     "derived": false,
     "site_simulation": true,
     "author_words": true,
     "market_label": "1X2, match result",
     "choice": "SSC Napoli",
     "decimal_odds": "3.3",
     "odds_role": "author_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-18T06:40:03.334Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    },
    {
     "operation_id": "c771232491fca55b639aa33eaae5ca6f806ea4416395f710b938c380ea133e53",
     "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": "SSC Napoli",
     "decimal_odds": "3.1600",
     "odds_role": "market_price",
     "stake_hundredths": 10000,
     "status": "confirmed",
     "status_text": "Executed",
     "result": "loss",
     "result_words": "Lost",
     "change_hundredths": -10000,
     "executed_at": "2026-10-18T06:40:04.094Z",
     "methodology_version": "2.2",
     "on_claim_market": true,
     "replaced": false
    }
   ],
   "corrections": [],
   "funnel_stage": "settled_pick",
   "authorship": {
    "material_author": "Joakim Östman",
    "publisher": "Speltips.se",
    "forecaster": "Joakim Östman",
    "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://speltips.se/speltips-13-10-infor-villarreal-napoli-gillar-hogoddsaren",
    "excluded_from_individual_summaries": false,
    "verdict_by": null,
    "verdict_line": null
   },
   "correction": null
  },
  {
   "observation_id": "n-cab2306739bb50d290da2ec8",
   "url": "/evidence/?pick=n-cab2306739bb50d290da2ec8",
   "quote_text": "När vi inte riktigt ännu vågar lita på Milan fullt ut blickar vi därför snare mot ett målspel",
   "fragment_from": 2714,
   "fragment_to": 2807,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-11-10-infor-sassuolo-milan-svar-uppgift",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b38410bcc9d788f02dc4bc8ed9dfbb48c196861e3f5d2fff5f84065d395ade5",
    "material_removed": false
   },
   "published_at": "2026-10-10T13:59:30.000Z",
   "detected_at": "2026-10-11T01:51:37.915Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-10T13:59:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-10T13:59:30.000Z",
    "detected_at": "2026-10-11T01:51:37.915Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-535d1c8fb853a7fe2434ba05",
   "url": "/evidence/?pick=n-535d1c8fb853a7fe2434ba05",
   "quote_text": "Kan Milan lyfta spelet ytterligare spelmässigt är därför chansen god att hänga på den yttersta",
   "fragment_from": 2380,
   "fragment_to": 2474,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-11-10-infor-sassuolo-milan-svar-uppgift",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b38410bcc9d788f02dc4bc8ed9dfbb48c196861e3f5d2fff5f84065d395ade5",
    "material_removed": false
   },
   "published_at": "2026-10-10T13:59:30.000Z",
   "detected_at": "2026-10-11T01:51:37.915Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-10T13:59:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-10T13:59:30.000Z",
    "detected_at": "2026-10-11T01:51:37.915Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-c268c3b4195735009db1d261",
   "url": "/evidence/?pick=n-c268c3b4195735009db1d261",
   "quote_text": "Tränare Alberto Aquilani är namnet på mångas läppar och ses på som framtidsnamnet i italiensk",
   "fragment_from": 1580,
   "fragment_to": 1673,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-11-10-infor-sassuolo-milan-svar-uppgift",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b38410bcc9d788f02dc4bc8ed9dfbb48c196861e3f5d2fff5f84065d395ade5",
    "material_removed": false
   },
   "published_at": "2026-10-10T13:59:30.000Z",
   "detected_at": "2026-10-11T01:51:37.915Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-10T13:59:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-10T13:59:30.000Z",
    "detected_at": "2026-10-11T01:51:37.915Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-229052bcdc02a2195ff1b482",
   "url": "/evidence/?pick=n-229052bcdc02a2195ff1b482",
   "quote_text": "Ruben Amorim fick en smakstart på sin tid som Milan-tränare efter att Rossoneri inlett säsongen",
   "fragment_from": 1051,
   "fragment_to": 1146,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-11-10-infor-sassuolo-milan-svar-uppgift",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b38410bcc9d788f02dc4bc8ed9dfbb48c196861e3f5d2fff5f84065d395ade5",
    "material_removed": false
   },
   "published_at": "2026-10-10T13:59:30.000Z",
   "detected_at": "2026-10-11T01:51:37.915Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-10T13:59:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-10T13:59:30.000Z",
    "detected_at": "2026-10-11T01:51:37.915Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  },
  {
   "observation_id": "n-f64b041a5ba25341707a8f8d",
   "url": "/evidence/?pick=n-f64b041a5ba25341707a8f8d",
   "quote_text": "Gästande Milan får hållas som favoriter men Sassuolo gör ofta livet surt för motståndet",
   "fragment_from": 295,
   "fragment_to": 382,
   "quote_allowed": true,
   "source_info": {
    "medium": "rss",
    "url": "https://speltips.se/speltips-11-10-infor-sassuolo-milan-svar-uppgift",
    "display_name": null,
    "speaker": "Joakim Östman",
    "authorship": "channel_owner",
    "media_from_ms": null,
    "bundle_id": "8b38410bcc9d788f02dc4bc8ed9dfbb48c196861e3f5d2fff5f84065d395ade5",
    "material_removed": false
   },
   "published_at": "2026-10-10T13:59:30.000Z",
   "detected_at": "2026-10-11T01:51:37.915Z",
   "executed_at": null,
   "statement_class": "no_event",
   "status": "recognised",
   "cause": null,
   "cause_code": null,
   "event": null,
   "market_label": null,
   "outcome_label": null,
   "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": null,
   "simulation_change_hundredths": null,
   "bankroll_after_hundredths": null,
   "executed_by": null,
   "series_label": null,
   "withdrawn": false,
   "dates": {
    "fragment_at": "2026-10-10T13:59:30.000Z",
    "fragment_basis": "element",
    "source_page_at": "2026-10-10T13:59:30.000Z",
    "detected_at": "2026-10-11T01:51:37.915Z",
    "archive_snapshot_at": null,
    "flags": [],
    "flag_words": null,
    "rule_version": "1.1"
   },
   "origin": "source_stated_date",
   "origin_detail": "no_match_linked",
   "origin_words": "Date as stated by the source; no match is linked to this statement",
   "added_on": null,
   "late_publication": null,
   "author_claim": null,
   "author_claim_outcome": {
    "result": null,
    "scoreline": null,
    "data_status": "unknown",
    "cause": "the statement was not read as a pick that can be settled",
    "methodology_version": "2.2",
    "in_words": "No outcome: the statement was not read as a pick that can be settled."
   },
   "settlements": [],
   "corrections": [],
   "funnel_stage": "statement",
   "authorship": null,
   "correction": null
  }
 ],
 "excluded_from_feed": {
  "ads": 13,
  "service": 0,
  "ruleset_version": "3"
 },
 "standing": null,
 "retro": null,
 "late": null,
 "price_vs_market": {
  "contract_version": "1",
  "threshold_percent": "5",
  "rows": [
   {
    "basis": "snapshot",
    "basis_words": "our market price for the same selection when we first recorded the pick (median of bookmakers in our price feed; failing that, the first price within 2 hours after, always before kick-off)",
    "basis_short": "Our market price when we first recorded the pick",
    "compared": 5,
    "above": 0,
    "above_share_percent": "0.0",
    "below": 0,
    "within": 5,
    "median_difference_percent": "3.6",
    "not_comparable": 0,
    "disputed": 0,
    "status": "calculated"
   }
  ],
  "examples": [],
  "method": "Difference = the author's stated price ÷ the market price of the same selection − 1. A pick counts as above the market when the stated price is more than 5% higher. Each basis is its own comparison; they are never added together. A pair whose prices differ more than twofold is marked “price disputed”: it is probably not the same selection, so it is left out of this comparison and of every return at the author’s price until a manual check confirms the price. A price that the quoted text does not give is marked “price disputed” in the same way."
 },
 "record_summary": {
  "contract_version": "1",
  "entity_type": "person",
  "entity_words": "Individual author",
  "source": {
   "name": "speltips.se",
   "url": "https://speltips.se/speltips-8-11-infor-atletico-madrid-barcelona-stormote-pa-metropolitano"
  },
  "observed_from": "2026-10-11",
  "observed_to": "2026-11-06",
  "data_as_of": "2026-11-07",
  "state": "settled",
  "series_code": "market_price",
  "series": "Recorded before kick-off, at our recorded market price",
  "restored": false,
  "headline_kind": "live_snapshot",
  "headline_part": "live",
  "settled_picks": 4,
  "matches": 4,
  "void": 0,
  "net_points_hundredths": 18108,
  "staked_hundredths": 40000,
  "return_percent": "45.27",
  "stake_per_pick_hundredths": 10000,
  "period_from": "2026-10-13",
  "period_to": "2026-11-06",
  "status": "calculated",
  "method_version": "2.2",
  "short_history": true,
  "reason": null,
  "reasons": [],
  "sentence": "Forecast Record recorded 4 settled live picks by Joakim Östman before kick-off across 4 matches between 13 October and 6 November 2026. Won 3 of 4 settled live picks at our recorded market prices. Of the 12 predictions we hold for Joakim Östman, 8 are linked to matches: 8 were recorded by us before kick-off. Figures as of 7 November 2026.",
  "numbers": [
   {
    "label": "Settled live picks",
    "value": "4",
    "anchor": "/methodology/#settled-pick",
    "note": null
   },
   {
    "label": "Matches",
    "value": "4",
    "anchor": "/methodology/#match",
    "note": null
   },
   {
    "label": "Net result",
    "value": "+181.08 points",
    "anchor": "/methodology/#settlement",
    "note": "100 points per pick"
   },
   {
    "label": "Return at our recorded market price",
    "value": "+45.3%",
    "anchor": "/methodology/#roi",
    "note": null
   }
  ],
  "limitations": [],
  "other_series": [],
  "return_over_time": [],
  "return_over_time_parts": {
   "live": {
    "part": "live",
    "label": "Recorded by us before kick-off",
    "series_code": "market_price",
    "price_rule": "Return at our recorded market price",
    "x_axis": "match_date",
    "dated_note": "Dated by match day. Each pick was recorded by us before kick-off and settled after the match.",
    "settled_picks": 4,
    "matches": 4,
    "match_dates": 4,
    "period_from": "2026-10-13",
    "period_to": "2026-11-06",
    "stake_per_pick_hundredths": 10000,
    "final_points_hundredths": 18108,
    "low": {
     "date": "2026-10-13",
     "cumulative_points_hundredths": -10000,
     "after_picks": 1
    },
    "high": {
     "date": "2026-11-06",
     "cumulative_points_hundredths": 18108,
     "after_picks": 4
    },
    "line_drawn": false,
    "steps": [
     {
      "date": "2026-10-13",
      "cumulative_points_hundredths": -10000,
      "n": 1,
      "picks": 1
     },
     {
      "date": "2026-10-14",
      "cumulative_points_hundredths": -3789,
      "n": 2,
      "picks": 1
     },
     {
      "date": "2026-10-22",
      "cumulative_points_hundredths": 11211,
      "n": 3,
      "picks": 1
     },
     {
      "date": "2026-11-06",
      "cumulative_points_hundredths": 18108,
      "n": 4,
      "picks": 1
     }
    ]
   },
   "archived": null
  },
  "author_response": null,
  "cite": {
   "text": "Forecast Record recorded 4 settled live picks by Joakim Östman before kick-off across 4 matches between 13 October and 6 November 2026. Won 3 of 4 settled live picks at our recorded market prices. Of the 12 predictions we hold for Joakim Östman, 8 are linked to matches: 8 were recorded by us before kick-off. Figures as of 7 November 2026.",
   "url": "https://forecastrecord.com/authors/joakim-ostman/",
   "data_as_of": "2026-11-07",
   "method_version": "2.2"
  },
  "origin": {
   "contract_version": "1",
   "predictions": 12,
   "under_review": 0,
   "no_match_linked": 4,
   "proven_predictions": 8,
   "proven_checked": 7,
   "proven_measured": 4,
   "proven_dates": 7,
   "parts": [
    {
     "code": "live",
     "title": "Recorded before kick-off",
     "explanation": "Saved by us from the source before kick-off.",
     "predictions": 8,
     "checked": 7,
     "price_rule": "Return at our recorded market price",
     "series_code": "market_price",
     "main": {
      "settled_picks": 4,
      "void": 0,
      "matches": 4,
      "net_points_hundredths": 18108,
      "staked_hundredths": 40000,
      "return_percent": "45.27",
      "interval_low": null,
      "interval_high": null,
      "interval_note": "too few independent matches to estimate an interval",
      "period_from": "2026-10-13",
      "period_to": "2026-11-06",
      "method_version": "2.2",
      "snapshot_delay_median_hours": "0.0",
      "snapshot_delay_max_hours": "0.0",
      "checked_after_kickoff_picks": 2
     },
     "same_picks": [
      {
       "price": "Author-quoted price",
       "series_code": "author_price",
       "picks": 4,
       "return_main_percent": "45.27",
       "return_other_percent": "46.75",
       "settled_excluding_void": 4,
       "net_main_points_hundredths": 18108,
       "net_other_points_hundredths": 18700,
       "period_from": "2026-10-13",
       "period_to": "2026-11-06"
      },
      {
       "price": "Closing price",
       "series_code": "closing_live",
       "picks": 4,
       "return_main_percent": "45.27",
       "return_other_percent": "46.10",
       "settled_excluding_void": 4,
       "net_main_points_hundredths": 18108,
       "net_other_points_hundredths": 18440,
       "period_from": "2026-10-13",
       "period_to": "2026-11-06"
      }
     ],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 7,
      "priced": 4
     },
     "accuracy": {
      "picks": 4,
      "won": 3,
      "won_percent": "75.0",
      "implied_percent": "48.1",
      "left_out": 0,
      "by_market": [
       {
        "market": "Match result",
        "won": 3,
        "picks": 4,
        "implied_percent": "48.1"
       }
      ]
     },
     "reviewed_after": {
      "predictions": 1,
      "right": 0,
      "wrong": 1,
      "other": 0
     }
    },
    {
     "code": "archived",
     "title": "Archived before kick-off",
     "explanation": "Restored from a copy saved by an independent web archive before kick-off.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 0,
      "priced": 0
     },
     "accuracy": null
    },
    {
     "code": "found_after",
     "title": "Found after the match",
     "explanation": "First found after the match; the date is the one the source states.",
     "predictions": 0,
     "checked": 0,
     "price_rule": "Reconstructed at archived prices",
     "series_code": "retro_market_closing_sm",
     "main": null,
     "same_picks": [],
     "score": {
      "score_forecasts": 0,
      "exact_hits": 0,
      "exact_rate": null,
      "outcome_checked": 0,
      "outcome_hits": 0,
      "outcome_rate": null,
      "baseline_matches": 0,
      "baseline_distinct_matches": 0,
      "outcome_hits_on_baseline": 0,
      "outcome_rate_on_baseline": null,
      "favourite_hits": 0,
      "favourite_rate": null,
      "price_basis": null,
      "pending": 0,
      "void": 0,
      "recorded_after_kickoff": 0,
      "lines": []
     },
     "eligible": {
      "checked": 0,
      "priced": 0
     },
     "accuracy": null
    }
   ]
  },
  "live_alongside": null,
  "headline_record_ids": [
   "n-050750c7a7c6f7dea1ad89c0",
   "n-46e4fc02576604595798b720",
   "n-729a655dbc5243627b44950b",
   "n-802217601eea281186cfd277"
  ],
  "interval_low": null,
  "interval_high": null,
  "caption": "Recorded before kick-off, at our recorded market price · 100 points per pick · 13 October – 6 November 2026 · Calculated · picks settled under method v2.2",
  "record_from": "2026-10-11",
  "record_to": "2026-11-06"
 },
 "recorded_picks": [
  {
   "record_id": "n-729a655dbc5243627b44950b",
   "url": "/authors/joakim-ostman/#pick-n-729a655dbc5243627b44950b",
   "match": "Everton v Coventry City",
   "match_url": "/football/matches/everton-vs-coventry-city-2026-11-06/",
   "kickoff": "2026-11-06T20:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 27.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Everton at 1.75",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6897,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.75",
   "settled_price": "1.6897",
   "published_at": "2026-11-05T16:00:26.000Z",
   "recorded_at": "2026-11-05T16:29:43.354Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.6897",
    "result": "Won",
    "points_hundredths": 6897,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-729a655dbc5243627b44950b",
    "quote_text": "Match: Everton – Coventry City (Premier League) | Speltips: Everton vinner | Odds: @1.75 | Units: 2/5 | Spelstopp: 21:00",
    "fragment_from": 390,
    "fragment_to": 510,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://speltips.se/speltips-6-11-infor-everton-coventry-city-sjalvklara-valet",
     "display_name": null,
     "speaker": "Joakim Östman",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "17a376cb63157df36cb6ede13ec574cf43ee968b47199df3cdbe64ad2a2e282b",
     "material_removed": false
    },
    "published_at": "2026-11-05T16:00:26.000Z",
    "detected_at": "2026-11-05T16:29:43.354Z",
    "executed_at": "2026-11-05T16:31:20.994Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-58bcaa8396b1",
     "display_name": "Everton — Coventry City",
     "competition_name": "Premier League",
     "starts_at": "2026-11-06T20:00:00.000Z",
     "url": "/football/matches/everton-vs-coventry-city-2026-11-06/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Everton",
    "odds_set": {
     "by_author": "1.75",
     "our_snapshot": "1.6897",
     "our_snapshot_at": "2026-11-05T16:26:32.044Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6897,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-05T16:00:26.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-05T16:00:26.000Z",
     "detected_at": "2026-11-05T16:29:43.354Z",
     "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": "Everton",
     "author_odds": "1.75",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Everton at 1.75"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Everton 3-1 Coventry City."
    },
    "settlements": [
     {
      "operation_id": "6e297992e10fab66965c7445c4d79821117abcb06546acfc7d5a3463d2856754",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Everton",
      "decimal_odds": "1.75",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 7500,
      "executed_at": "2026-11-05T16:31:14.623Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "4f627ad709a41c74648b581cd2e08b6bb5e553dd2a99d2d78d5bebbf38634ad0",
      "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": "Everton",
      "decimal_odds": "1.6897",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6897,
      "executed_at": "2026-11-05T16:31:20.994Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joakim Östman",
     "publisher": "Speltips.se",
     "forecaster": "Joakim Östman",
     "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://speltips.se/speltips-6-11-infor-everton-coventry-city-sjalvklara-valet",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Everton to win"
   }
  },
  {
   "record_id": "n-050750c7a7c6f7dea1ad89c0",
   "url": "/authors/joakim-ostman/#pick-n-050750c7a7c6f7dea1ad89c0",
   "match": "Celtic v Celta Vigo",
   "match_url": "/football/matches/celtic-vs-celta-vigo-2026-10-22/",
   "kickoff": "2026-10-22T19:00:00.000Z",
   "competition": "UEFA Europa League",
   "lead_hours": 27.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Celta Vigo at 2.44",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "1-2",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 15000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "2.44",
   "settled_price": "2.5000",
   "published_at": "2026-10-21T15:00:08.000Z",
   "recorded_at": "2026-10-21T15:29:31.735Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "2",
    "price": "2.5000",
    "result": "Won",
    "points_hundredths": 15000,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-050750c7a7c6f7dea1ad89c0",
    "quote_text": "Match: Celtic – Celta Vigo (Europa League) | Speltips: Celta Vigo vinner | Odds: @2.44 | Units: 2/5 | Spelstopp: 21:00",
    "fragment_from": 366,
    "fragment_to": 484,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://speltips.se/speltips-22-10-infor-celtic-celta-vigo-battre-laget",
     "display_name": null,
     "speaker": "Joakim Östman",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "adc58011a04837b67ff533e05083ebb12c32feced79df42a35841d1d15580655",
     "material_removed": false
    },
    "published_at": "2026-10-21T15:00:08.000Z",
    "detected_at": "2026-10-21T15:29:31.735Z",
    "executed_at": "2026-10-23T00:44:02.995Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-2709a4135d6d",
     "display_name": "Celtic — Celta Vigo",
     "competition_name": "UEFA Europa League",
     "starts_at": "2026-10-22T19:00:00.000Z",
     "url": "/football/matches/celtic-vs-celta-vigo-2026-10-22/",
     "scoreline": "1-2",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Celta Vigo",
    "odds_set": {
     "by_author": "2.44",
     "our_snapshot": "2.5000",
     "our_snapshot_at": "2026-10-21T15:25:36.891Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 15000,
    "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-21T15:00:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-21T15:00:08.000Z",
     "detected_at": "2026-10-21T15:29:31.735Z",
     "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": "Celta Vigo",
     "author_odds": "2.44",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Celta Vigo at 2.44"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "1-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Celtic 1-2 Celta Vigo."
    },
    "settlements": [
     {
      "operation_id": "a66b7f39ebb88bf8c269b9ca400088666b6fea66837f715d984d32939b7b9ffd",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Celta Vigo",
      "decimal_odds": "2.44",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 14400,
      "executed_at": "2026-10-23T00:44:02.494Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "97849218b526fcb0c9deecf3284efca33db1b0d1d195107a56540852d0177747",
      "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": "Celta Vigo",
      "decimal_odds": "2.5000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 15000,
      "executed_at": "2026-10-23T00:44:02.995Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joakim Östman",
     "publisher": "Speltips.se",
     "forecaster": "Joakim Östman",
     "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://speltips.se/speltips-22-10-infor-celtic-celta-vigo-battre-laget",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Celta Vigo to win"
   }
  },
  {
   "record_id": "n-802217601eea281186cfd277",
   "url": "/authors/joakim-ostman/#pick-n-802217601eea281186cfd277",
   "match": "Aston Villa v Fenerbahçe",
   "match_url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
   "kickoff": "2026-10-14T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 27.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: Aston Villa at 1.68",
   "quote": null,
   "group": "settled",
   "outcome": "Won",
   "claim_outcome": "Won",
   "final_score": "6-0",
   "reason": null,
   "reason_code": null,
   "points_hundredths": 6211,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "1.68",
   "settled_price": "1.6211",
   "published_at": "2026-10-13T15:00:31.000Z",
   "recorded_at": "2026-10-13T15:29:38.269Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "1.6211",
    "result": "Won",
    "points_hundredths": 6211,
    "picked_favourite": true
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-802217601eea281186cfd277",
    "quote_text": "Speltips: Aston Villa vinner | Odds: @1.68",
    "fragment_from": 443,
    "fragment_to": 485,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://speltips.se/speltips-14-10-infor-aston-villa-fenerbahce-battre-laget",
     "display_name": null,
     "speaker": "Joakim Östman",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "d4455fc1862576129f5a341a5aa8ecc7fd4b926bcea88e94c7ada230173705e7",
     "material_removed": false
    },
    "published_at": "2026-10-13T15:00:31.000Z",
    "detected_at": "2026-10-13T15:29:38.269Z",
    "executed_at": "2026-10-13T15:31:41.270Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-51292fa0ec5c",
     "display_name": "Aston Villa — Fenerbahçe",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-14T19:00:00.000Z",
     "url": "/football/matches/aston-villa-vs-fenerbahce-2026-10-14/",
     "scoreline": "6-0",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "Aston Villa",
    "odds_set": {
     "by_author": "1.68",
     "our_snapshot": "1.6211",
     "our_snapshot_at": "2026-10-13T15:26:57.296Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "win",
    "simulation_change_hundredths": 6211,
    "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-13T15:00:31.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-13T15:00:31.000Z",
     "detected_at": "2026-10-13T15:29:38.269Z",
     "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": "Aston Villa",
     "author_odds": "1.68",
     "market_key": "1x2",
     "choice_key": "1",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: Aston Villa at 1.68"
    },
    "author_claim_outcome": {
     "result": "win",
     "scoreline": "6-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Won: the final score was Aston Villa 6-0 Fenerbahçe."
    },
    "settlements": [
     {
      "operation_id": "d458e241b94936a0c523671311009770793f9b0a101110955aa683c9d4be3377",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "Aston Villa",
      "decimal_odds": "1.68",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6800,
      "executed_at": "2026-10-13T15:31:37.784Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "74b4030f0159e420c48f5e040418ff3146e5762cdf13ac9e31a84a9956e193c6",
      "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": "Aston Villa",
      "decimal_odds": "1.6211",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "win",
      "result_words": "Won",
      "change_hundredths": 6211,
      "executed_at": "2026-10-13T15:31:41.270Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joakim Östman",
     "publisher": "Speltips.se",
     "forecaster": "Joakim Östman",
     "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://speltips.se/speltips-14-10-infor-aston-villa-fenerbahce-battre-laget",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Aston Villa to win"
   }
  },
  {
   "record_id": "n-46e4fc02576604595798b720",
   "url": "/authors/joakim-ostman/#pick-n-46e4fc02576604595798b720",
   "match": "Villarreal v SSC Napoli",
   "match_url": "/football/matches/villarreal-vs-ssc-napoli-2026-10-13/",
   "kickoff": "2026-10-13T19:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 27.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: SSC Napoli at 3.3",
   "quote": null,
   "group": "settled",
   "outcome": "Lost",
   "claim_outcome": "Lost",
   "final_score": "3-1",
   "reason": null,
   "reason_code": null,
   "points_hundredths": -10000,
   "series_code": "market_price",
   "series_short": "odds snapshot",
   "author_price": "3.3",
   "settled_price": "3.1600",
   "published_at": "2026-10-12T15:00:42.000Z",
   "recorded_at": "2026-10-12T15:29:39.471Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": true,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": {
    "outcome": "1",
    "price": "2.1400",
    "result": "Won",
    "points_hundredths": 11400,
    "picked_favourite": false
   },
   "correction": null,
   "evidence": {
    "observation_id": "n-46e4fc02576604595798b720",
    "quote_text": "Match: Villarreal – Napoli (Champions League) | Speltips: Napoli vinner | Odds: @3.30 | Units: 2/5 | Spelstopp: 21:00",
    "fragment_from": 370,
    "fragment_to": 487,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://speltips.se/speltips-13-10-infor-villarreal-napoli-gillar-hogoddsaren",
     "display_name": null,
     "speaker": "Joakim Östman",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "90a090c60dc3db4c31a4da75c25b21e9bc58bc33fb29b342b87e830daf7b71c8",
     "material_removed": false
    },
    "published_at": "2026-10-12T15:00:42.000Z",
    "detected_at": "2026-10-12T15:29:39.471Z",
    "executed_at": "2026-10-18T06:40:04.094Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-dfd94b3dad49",
     "display_name": "Villarreal — SSC Napoli",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-10-13T19:00:00.000Z",
     "url": "/football/matches/villarreal-vs-ssc-napoli-2026-10-13/",
     "scoreline": "3-1",
     "condition": "finished"
    },
    "market_label": "1X2, match result",
    "outcome_label": "SSC Napoli",
    "odds_set": {
     "by_author": "3.3",
     "our_snapshot": "3.1600",
     "our_snapshot_at": "2026-10-12T15:27:55.016Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "loss",
    "simulation_change_hundredths": -10000,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-12T15:00:42.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-12T15:00:42.000Z",
     "detected_at": "2026-10-12T15:29:39.471Z",
     "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": "SSC Napoli",
     "author_odds": "3.3",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: SSC Napoli at 3.3"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "3-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Villarreal 3-1 SSC Napoli."
    },
    "settlements": [
     {
      "operation_id": "a0f3c75bd3a149c563d4f3b47adf2378413db51cd229afe01671fd39a4d6145e",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "SSC Napoli",
      "decimal_odds": "3.3",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T06:40:03.334Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "c771232491fca55b639aa33eaae5ca6f806ea4416395f710b938c380ea133e53",
      "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": "SSC Napoli",
      "decimal_odds": "3.1600",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": "loss",
      "result_words": "Lost",
      "change_hundredths": -10000,
      "executed_at": "2026-10-18T06:40:04.094Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "settled_pick",
    "authorship": {
     "material_author": "Joakim Östman",
     "publisher": "Speltips.se",
     "forecaster": "Joakim Östman",
     "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://speltips.se/speltips-13-10-infor-villarreal-napoli-gillar-hogoddsaren",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "SSC Napoli to win"
   }
  },
  {
   "record_id": "n-79a981022fe26fd101c8bcfd",
   "url": "/authors/joakim-ostman/#pick-n-79a981022fe26fd101c8bcfd",
   "match": "Atlético Madrid v FC Barcelona",
   "match_url": "/football/matches/atletico-madrid-vs-fc-barcelona-2026-11-08/",
   "kickoff": "2026-11-08T20:00:00.000Z",
   "competition": "LaLiga",
   "lead_hours": 53.5,
   "market_code": "1x2",
   "author_said": "1X2, match result: FC Barcelona at 1.85",
   "quote": null,
   "group": "pending",
   "outcome": "Pending",
   "claim_outcome": null,
   "final_score": null,
   "reason": "awaiting the final score",
   "reason_code": "waiting",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-06T14:15:57.000Z",
   "recorded_at": "2026-11-06T14:29:56.916Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-79a981022fe26fd101c8bcfd",
    "quote_text": "Speltips: Barcelona vinner | Odds: @1.85 | Units: 2/5",
    "fragment_from": 429,
    "fragment_to": 482,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://speltips.se/speltips-8-11-infor-atletico-madrid-barcelona-stormote-pa-metropolitano",
     "display_name": null,
     "speaker": "Joakim Östman",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "6b658a6a339aa60463a18aa5c9e27816a40e99c86889232f39917318df13b9b2",
     "material_removed": false
    },
    "published_at": "2026-11-06T14:15:57.000Z",
    "detected_at": "2026-11-06T14:29:56.916Z",
    "executed_at": "2026-11-06T20:53:44.816Z",
    "statement_class": "priced",
    "status": "recognised",
    "cause": null,
    "cause_code": null,
    "event": {
     "event_id": "s-4fd491e4e4e2",
     "display_name": "Atlético Madrid — FC Barcelona",
     "competition_name": "LaLiga",
     "starts_at": "2026-11-08T20:00:00.000Z",
     "url": "/football/matches/atletico-madrid-vs-fc-barcelona-2026-11-08/",
     "scoreline": null,
     "condition": "scheduled"
    },
    "market_label": "1X2, match result",
    "outcome_label": "FC Barcelona",
    "odds_set": {
     "by_author": "1.85",
     "our_snapshot": "1.8000",
     "our_snapshot_at": "2026-11-06T14:27:11.266Z",
     "our_snapshot_source": "market snapshot",
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": 10000,
    "result": "unknown",
    "simulation_change_hundredths": 0,
    "bankroll_after_hundredths": null,
    "executed_by": "ours",
    "series_label": "At an independent odds snapshot",
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-06T14:15:57.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-06T14:15:57.000Z",
     "detected_at": "2026-11-06T14:29:56.916Z",
     "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": "FC Barcelona",
     "author_odds": "1.85",
     "market_key": "1x2",
     "choice_key": "2",
     "period": "match",
     "line": null,
     "subject": "goals_total",
     "in_words": "1X2, match result: FC Barcelona at 1.85"
    },
    "author_claim_outcome": {
     "result": "unknown",
     "scoreline": null,
     "data_status": "unknown",
     "cause": "kick-off 8 November 2026, 20:00 UTC",
     "methodology_version": "2.2",
     "in_words": "Pending: kick-off 8 November 2026, 20:00 UTC."
    },
    "settlements": [
     {
      "operation_id": "09527734de8a1144252d1af7396d26a800dcf4321bad1fb7f8d200d2879f171f",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "1X2, match result",
      "choice": "FC Barcelona",
      "decimal_odds": "1.85",
      "odds_role": "author_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T20:53:19.932Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e0831e7e706a4a074ffb15db8750aa601106a550382778fb5301e9260c20a218",
      "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": "FC Barcelona",
      "decimal_odds": "1.8000",
      "odds_role": "market_price",
      "stake_hundredths": 10000,
      "status": "confirmed",
      "status_text": "Executed",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": "2026-11-06T20:53:44.816Z",
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "qualifying_pick",
    "authorship": {
     "material_author": "Joakim Östman",
     "publisher": "Speltips.se",
     "forecaster": "Joakim Östman",
     "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://speltips.se/speltips-8-11-infor-atletico-madrid-barcelona-stormote-pa-metropolitano",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "FC Barcelona to win"
   }
  },
  {
   "record_id": "n-4b7d3667807e8f78548e40b2",
   "url": "/authors/joakim-ostman/#pick-n-4b7d3667807e8f78548e40b2",
   "match": "Atlético Madrid v FC Bayern München",
   "match_url": "/football/matches/atletico-madrid-vs-fc-bayern-munchen-2026-11-03/",
   "kickoff": "2026-11-03T20:00:00.000Z",
   "competition": "UEFA Champions League",
   "lead_hours": 12.2,
   "market_code": "player_to_score",
   "author_said": "Player to score: Harry Kane to score at 2.02",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "0-2",
   "reason": "graded against the result: wrong",
   "reason_code": "not_checked",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-02T16:00:08.000Z",
   "recorded_at": "2026-11-03T07:49:52.500Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-4b7d3667807e8f78548e40b2",
    "quote_text": "Speltips: Harry Kane – gör mål | Odds: @2.02 | Units: 2/5",
    "fragment_from": 474,
    "fragment_to": 531,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://speltips.se/speltips-3-11-infor-atletico-madrid-bayern-munchen-spelvard-malskytt",
     "display_name": null,
     "speaker": "Joakim Östman",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "7903a274ca80a8aab74e2129d72abce84210ce964e011ed1308614976df04c6f",
     "material_removed": false
    },
    "published_at": "2026-11-02T16:00:08.000Z",
    "detected_at": "2026-11-03T07:49:52.500Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "ambiguous",
    "cause": "",
    "cause_code": "not_checked",
    "event": {
     "event_id": "s-13be466edde6",
     "display_name": "Atlético Madrid — FC Bayern München",
     "competition_name": "UEFA Champions League",
     "starts_at": "2026-11-03T20:00:00.000Z",
     "url": "/football/matches/atletico-madrid-vs-fc-bayern-munchen-2026-11-03/",
     "scoreline": "0-2",
     "condition": "finished"
    },
    "market_label": "Player to score",
    "outcome_label": "Harry Kane to score",
    "odds_set": {
     "by_author": "2.02",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-11-02T16:00:08.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-11-02T16:00:08.000Z",
     "detected_at": "2026-11-03T07:49:52.500Z",
     "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": "Player to score",
     "choice": "Harry Kane to score",
     "author_odds": "2.02",
     "market_key": "player_to_score",
     "choice_key": "yes",
     "period": "match",
     "line": null,
     "subject": "player_goals",
     "in_words": "Player to score: Harry Kane to score at 2.02"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "0-2",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost — Harry Kane scored 0 goals; the final score was Atlético Madrid 0-2 FC Bayern München."
    },
    "settlements": [
     {
      "operation_id": "36b148d146481a3b48dcead573dab1b5df0fb1bb462c719e81e4d021c805d065",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Harry Kane to score",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "e112dc562cbd066e775df5b86cac5fdc8addb6605c7e1e16b8f382021f2e81c5",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Player to score",
      "choice": "Harry Kane to score",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joakim Östman",
     "publisher": "Speltips.se",
     "forecaster": "Joakim Östman",
     "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://speltips.se/speltips-3-11-infor-atletico-madrid-bayern-munchen-spelvard-malskytt",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Harry Kane to score"
   }
  },
  {
   "record_id": "n-71d7aeba6406cdbefc83d6bd",
   "url": "/authors/joakim-ostman/#pick-n-71d7aeba6406cdbefc83d6bd",
   "match": "Fleetwood Town v Arsenal",
   "match_url": "/football/matches/fleetwood-town-vs-arsenal-2026-10-27/",
   "kickoff": "2026-10-27T20:00:00.000Z",
   "competition": "EFL Cup (Carabao)",
   "lead_hours": 27.5,
   "market_code": "handicap_european",
   "author_said": "European handicap -2: Arsenal -2 at 1.8",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "1-1",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-26T16:00:16.000Z",
   "recorded_at": "2026-10-26T16:29:41.745Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-71d7aeba6406cdbefc83d6bd",
    "quote_text": "Speltips: Arsenal -2,5 mål | Odds: @1.80",
    "fragment_from": 421,
    "fragment_to": 461,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://speltips.se/speltips-27-10-infor-fleetwood-arsenal-inget-snack",
     "display_name": null,
     "speaker": "Joakim Östman",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "94a59484fa23599eedcd4f672d57c9d4487cdb4f723b4aa76a155cfe6ac25d4c",
     "material_removed": false
    },
    "published_at": "2026-10-26T16:00:16.000Z",
    "detected_at": "2026-10-26T16:29:41.745Z",
    "executed_at": null,
    "statement_class": "priced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-745e2a940a5e",
     "display_name": "Fleetwood Town — Arsenal",
     "competition_name": "EFL Cup (Carabao)",
     "starts_at": "2026-10-27T20:00:00.000Z",
     "url": "/football/matches/fleetwood-town-vs-arsenal-2026-10-27/",
     "scoreline": "1-1",
     "condition": "finished"
    },
    "market_label": "European handicap -2",
    "outcome_label": "Arsenal -2",
    "odds_set": {
     "by_author": "1.8",
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-26T16:00:16.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-26T16:00:16.000Z",
     "detected_at": "2026-10-26T16:29:41.745Z",
     "archive_snapshot_at": null,
     "flags": [],
     "flag_words": null,
     "rule_version": "1.1"
    },
    "origin": "recorded_before_kickoff",
    "origin_detail": null,
    "origin_words": "Recorded by us before kick-off",
    "added_on": null,
    "late_publication": null,
    "author_claim": {
     "market_label": "European handicap -2",
     "choice": "Arsenal -2",
     "author_odds": "1.8",
     "market_key": "handicap_european",
     "choice_key": "2",
     "period": "match",
     "line": "-2",
     "subject": "goals_total",
     "in_words": "European handicap -2: Arsenal -2 at 1.8"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "1-1",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Fleetwood Town 1-1 Arsenal."
    },
    "settlements": [
     {
      "operation_id": "5bce7e13950afb0034176b4d052a0621c8a351a6cbde08216eecbd31c1c7a9a0",
      "series_key": "author_price",
      "series_label": "At the author's stated price",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "European handicap -2",
      "choice": "Arsenal -2",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     },
     {
      "operation_id": "3a681526b24689c2ba510742d950a15c0f1b22cefc0a0ca2c5e0f4ab18c17077",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "European handicap -2",
      "choice": "Arsenal -2",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joakim Östman",
     "publisher": "Speltips.se",
     "forecaster": "Joakim Östman",
     "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://speltips.se/speltips-27-10-infor-fleetwood-arsenal-inget-snack",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Arsenal -2"
   }
  },
  {
   "record_id": "n-d07b3c07eee53d8ab333a8ba",
   "url": "/authors/joakim-ostman/#pick-n-d07b3c07eee53d8ab333a8ba",
   "match": "Arsenal v Everton",
   "match_url": "/football/matches/arsenal-vs-everton-2026-10-24/",
   "kickoff": "2026-10-24T14:00:00.000Z",
   "competition": "Premier League",
   "lead_hours": 19.2,
   "market_code": "team_total",
   "author_said": "Team goals over/under 0.5: Arsenal under 0.5",
   "quote": null,
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": "Lost",
   "final_score": "2-0",
   "reason": "",
   "reason_code": "disputed_reading",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T15:00:29.000Z",
   "recorded_at": "2026-10-23T18:49:47.476Z",
   "origin": "Recorded by us before kick-off",
   "record_part": "live",
   "record_part_words": "Recorded before kick-off",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null,
   "evidence": {
    "observation_id": "n-d07b3c07eee53d8ab333a8ba",
    "quote_text": "Jag väljer att spela på att Arsenal håller nollan i det här mötet.",
    "fragment_from": 522,
    "fragment_to": 588,
    "quote_allowed": true,
    "source_info": {
     "medium": "rss",
     "url": "https://speltips.se/speltips-24-10-infor-arsenal-everton-haller-tatt",
     "display_name": null,
     "speaker": "Joakim Östman",
     "authorship": "channel_owner",
     "media_from_ms": null,
     "bundle_id": "851f6431b905c51053a9736afe8a7ab29f3acb66e1cc998b8c00d2826398945a",
     "material_removed": false
    },
    "published_at": "2026-10-23T15:00:29.000Z",
    "detected_at": "2026-10-23T18:49:47.476Z",
    "executed_at": null,
    "statement_class": "unpriced",
    "status": "recognised",
    "cause": "",
    "cause_code": "disputed_reading",
    "event": {
     "event_id": "s-e2a18e7b4072",
     "display_name": "Arsenal — Everton",
     "competition_name": "Premier League",
     "starts_at": "2026-10-24T14:00:00.000Z",
     "url": "/football/matches/arsenal-vs-everton-2026-10-24/",
     "scoreline": "2-0",
     "condition": "finished"
    },
    "market_label": "Team goals over/under 0.5",
    "outcome_label": "Arsenal under 0.5",
    "odds_set": {
     "by_author": null,
     "our_snapshot": null,
     "our_snapshot_at": null,
     "our_snapshot_source": null,
     "closing": null,
     "closing_source": null
    },
    "stake_hundredths": null,
    "result": "loss",
    "simulation_change_hundredths": null,
    "bankroll_after_hundredths": null,
    "executed_by": null,
    "series_label": null,
    "withdrawn": false,
    "provenance": "recorded_pre_match",
    "provenance_words": "Recorded by us before kick-off",
    "dates": {
     "fragment_at": "2026-10-23T15:00:29.000Z",
     "fragment_basis": "element",
     "source_page_at": "2026-10-23T15:00:29.000Z",
     "detected_at": "2026-10-23T18:49:47.476Z",
     "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": "Team goals over/under 0.5",
     "choice": "Arsenal under 0.5",
     "author_odds": null,
     "market_key": "team_total",
     "choice_key": "1-under",
     "period": "match",
     "line": "0.5",
     "subject": "goals_total",
     "in_words": "Team goals over/under 0.5: Arsenal under 0.5"
    },
    "author_claim_outcome": {
     "result": "loss",
     "scoreline": "2-0",
     "data_status": "measured",
     "cause": null,
     "methodology_version": "2.2",
     "in_words": "Lost: the final score was Arsenal 2-0 Everton."
    },
    "settlements": [
     {
      "operation_id": "40b2bb8d47c00f9ec8eba63e19e3466c699f0421a1c9ff9a328d9c015fd6eac5",
      "series_key": "market_price",
      "series_label": "At an independent odds snapshot",
      "derived": false,
      "site_simulation": true,
      "author_words": true,
      "market_label": "Team goals over/under 0.5",
      "choice": "Arsenal under 0.5",
      "decimal_odds": null,
      "odds_role": null,
      "stake_hundredths": null,
      "status": "skipped",
      "status_text": "Not executed: ",
      "result": null,
      "result_words": null,
      "change_hundredths": null,
      "executed_at": null,
      "methodology_version": "2.2",
      "on_claim_market": true,
      "replaced": false
     }
    ],
    "corrections": [],
    "funnel_stage": "prediction",
    "authorship": {
     "material_author": "Joakim Östman",
     "publisher": "Speltips.se",
     "forecaster": "Joakim Östman",
     "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://speltips.se/speltips-24-10-infor-arsenal-everton-haller-tatt",
     "excluded_from_individual_summaries": false,
     "verdict_by": null,
     "verdict_line": null
    },
    "correction": null,
    "choice_words": "Arsenal under 0.5 (Team goals over/under 0.5)"
   }
  },
  {
   "record_id": "n-da56553affc7dfd5fcef0c0f",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Speltips: Liverpool vinner & över 2,5 mål | Odds: @1.98",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-11-03T16:00:43.000Z",
   "recorded_at": "2026-11-03T16:29:54.071Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-ce14124e513ae3d986b75c10",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Match: Malmö – Timrå (SHL) | Speltips: Malmö vinner | Odds: @1.90 | Units: 2/5",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "not_supported",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-23T14:30:59.000Z",
   "recorded_at": "2026-10-23T18:49:48.273Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-542593b79aa0697c2a8eb53a",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Speltips: Oavgjort eller Lazio | Odds: @2.08",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-16T14:00:47.000Z",
   "recorded_at": "2026-10-16T15:19:35.851Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  },
  {
   "record_id": "n-4e86a30c1f7913020898bed7",
   "url": null,
   "match": null,
   "match_url": null,
   "kickoff": null,
   "competition": null,
   "lead_hours": null,
   "market_code": null,
   "author_said": null,
   "quote": "Under 2,5 mål hos 1x2",
   "group": "excluded",
   "outcome": "Excluded",
   "claim_outcome": null,
   "final_score": null,
   "reason": "",
   "reason_code": "ambiguous",
   "points_hundredths": null,
   "series_code": null,
   "series_short": null,
   "author_price": null,
   "settled_price": null,
   "published_at": "2026-10-14T15:00:41.000Z",
   "recorded_at": "2026-10-14T15:29:35.297Z",
   "origin": "Date as stated by the source; no match is linked to this statement",
   "record_part": "unlinked",
   "record_part_words": "Without a match page",
   "in_headline": false,
   "attribution": null,
   "verdict_line": null,
   "price_disputed": null,
   "checked_after_kickoff": false,
   "favourite": null,
   "correction": null
  }
 ],
 "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": 27.5,
  "min_hours": 12.2,
  "max_hours": 53.5,
  "words": "Hours between the moment we recorded the pick and kick-off; the share counts picks recorded at least two hours before kick-off."
 },
 "baseline": {
  "contract_version": 1,
  "series_code": "market_price",
  "rule": "recorded-line-1.0",
  "state": "settled",
  "picks": 4,
  "settled_picks_all": 4,
  "excluded": {
   "market_without_favourite": 0,
   "no_recorded_line": 0,
   "favourite_not_settled": 0
  },
  "staked_hundredths": 40000,
  "author_net_hundredths": 18108,
  "favourite_net_hundredths": 39508,
  "difference_hundredths": -21400,
  "author_return_percent": 45.27,
  "favourite_return_percent": 98.77,
  "author_hit_rate": 75.0,
  "favourite_hit_rate": 100.0,
  "picked_favourite_share": 75.0,
  "by_market": [
   {
    "market_code": "1x2",
    "picks": 4,
    "staked_hundredths": 40000,
    "author_net_hundredths": 18108,
    "favourite_net_hundredths": 39508,
    "author_hits": 3,
    "favourite_hits": 4,
    "picked_favourite": 3,
    "author_return_percent": 45.27,
    "favourite_return_percent": 98.77
   }
  ],
  "return_over_time": [
   {
    "kickoff": "2026-10-13T19:00:00.000Z",
    "author_cumulative_hundredths": -10000,
    "favourite_cumulative_hundredths": 11400
   },
   {
    "kickoff": "2026-10-14T19:00:00.000Z",
    "author_cumulative_hundredths": -3789,
    "favourite_cumulative_hundredths": 17611
   },
   {
    "kickoff": "2026-10-22T19:00:00.000Z",
    "author_cumulative_hundredths": 11211,
    "favourite_cumulative_hundredths": 32611
   },
   {
    "kickoff": "2026-11-06T20:00:00.000Z",
    "author_cumulative_hundredths": 18108,
    "favourite_cumulative_hundredths": 39508
   }
  ],
  "words": "Same stakes, same matches, same recorded moment: the author’s picks against backing the market favourite by the recorded line. Only markets with a single shortest price count (match result, over/under, both teams to score, handicap); correct score and combined markets are left out."
 },
 "pagination": {
  "per_page": 20,
  "total": 12,
  "pages": 1,
  "page_urls": [
   "/authors/joakim-ostman/"
  ],
  "groups": {
   "settled": 4,
   "pending": 1,
   "excluded": 7
  },
  "continuation": "by_time",
  "page": 1,
  "first": 1,
  "last": 12,
  "author_url": "/authors/joakim-ostman/",
  "current": true
 },
 "title_tag": "Joakim Östman Predictions: This Week's Picks & Verified Record",
 "calculator": null,
 "person": {
  "person_id": "o-51cd0b629ab0c687eb0811a9",
  "type_code": "individual",
  "name_shown": "Joakim Östman",
  "main_entity": "e-51cd0b629ab0c687eb0811a9",
  "identity": {
   "status": "not_verified",
   "is_verified": false,
   "when": null,
   "source_list": []
  },
  "platform_list": [
   {
    "entity_ref": "e-51cd0b629ab0c687eb0811a9",
    "medium": "Speltips.se",
    "channel": "RSS feed",
    "domain": "speltips.se",
    "source_info": "speltips-se",
    "byline": "Joakim Östman",
    "url": "/sources/speltips-se/",
    "summary": {
     "statements": 30,
     "predictions": 12,
     "settled_picks": 4,
     "headline_kind": "live_snapshot",
     "return_percent": 45.27,
     "headline_part": "live",
     "period_from": "2026-10-11",
     "period_to": "2026-11-06"
    }
   }
  ],
  "previously": [],
  "trust_tier": "probation"
 },
 "data_revision": {
  "data_version": "2026-11-06.2",
  "updated": "2026-11-06",
  "current_release": "2026-11-07.2",
  "data_as_of": "2026-11-07",
  "method_version": "2.2",
  "price_rule": "independent odds snapshot",
  "series_code": "market_price",
  "sample": {
   "settled_picks": 4,
   "matches": 4,
   "void": 0,
   "period_from": "2026-10-13",
   "period_to": "2026-11-06",
   "composition_hash": "4dc40838ff7ee73fadf258b376d293ce5beb442b9bc5bc439bb8fcde4b602b41"
  },
  "changes_url": "#changes",
  "corrections_url": "/corrections/"
 },
 "number_changes": [
  {
   "id": "zc-d90df8f91544a92803e7",
   "at": "2026-11-07T00:03:19.781Z",
   "data_version": "2026-11-06.2",
   "previous_data_version": "2026-11-06.1",
   "url": "/authors/joakim-ostman/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-23.1",
    "return_percent": "37.37",
    "settled_picks": 3,
    "matches": 3,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "4fba0b3fb12fe3b03d4225408817ef426f4b6fcc875c469c4b7ac8bdce5a2ce0",
    "text": "+112.11 points on 3 settled picks across 3 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-11-06.2",
    "return_percent": "45.27",
    "settled_picks": 4,
    "matches": 4,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "4dc40838ff7ee73fadf258b376d293ce5beb442b9bc5bc439bb8fcde4b602b41",
    "text": "+181.08 points on 4 settled picks across 4 matches · independent odds snapshot · method 2.2"
   },
   "reason": "1 new settled pick from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-e8675f9dfe074d6dd4e3",
   "at": "2026-10-23T01:17:07.717Z",
   "data_version": "2026-10-23.1",
   "previous_data_version": "2026-10-22.6",
   "url": "/authors/joakim-ostman/",
   "category": "new_results",
   "category_words": "New results",
   "before": {
    "data_version": "2026-10-18.5",
    "return_percent": "-18.95",
    "settled_picks": 2,
    "matches": 2,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "f90da2085cd48391a5bee427be1389def79b820b740062e014757b03c6af9b65",
    "text": "−37.89 points on 2 settled picks across 2 matches · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-23.1",
    "return_percent": "37.37",
    "settled_picks": 3,
    "matches": 3,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "4fba0b3fb12fe3b03d4225408817ef426f4b6fcc875c469c4b7ac8bdce5a2ce0",
    "text": "+112.11 points on 3 settled picks across 3 matches · independent odds snapshot · method 2.2"
   },
   "reason": "1 new settled pick from matches played after the previous data version.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-fad86be29c099f43139d",
   "at": "2026-10-18T08:07:07.527Z",
   "data_version": "2026-10-18.5",
   "previous_data_version": "2026-10-18.4",
   "url": "/authors/joakim-ostman/",
   "category": "coverage_extended",
   "category_words": "Coverage extended",
   "before": {
    "data_version": "2026-10-14.3",
    "return_percent": "62.11",
    "settled_picks": 1,
    "matches": 1,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "11259fe0049cf87b6eda6844751f4649cfc3821cc82d4b83c8e027ebcd7b58d2",
    "text": "+62.11 points on 1 settled pick across 1 match · independent odds snapshot · method 2.2"
   },
   "after": {
    "data_version": "2026-10-18.5",
    "return_percent": "-18.95",
    "settled_picks": 2,
    "matches": 2,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "f90da2085cd48391a5bee427be1389def79b820b740062e014757b03c6af9b65",
    "text": "−37.89 points on 2 settled picks across 2 matches · independent odds snapshot · method 2.2"
   },
   "reason": "Added 1 earlier pick for matches played before the previous data version (found in archives or newly matched to a fixture).",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  },
  {
   "id": "zc-04bdbbf2b826f2d7ce94",
   "at": "2026-10-14T22:11:18.139Z",
   "data_version": "2026-10-14.3",
   "previous_data_version": "2026-10-14.2",
   "url": "/authors/joakim-ostman/",
   "category": "new_results",
   "category_words": "New results",
   "before": null,
   "after": {
    "data_version": "2026-10-14.3",
    "return_percent": "62.11",
    "settled_picks": 1,
    "matches": 1,
    "void": 0,
    "series_code": "market_price",
    "price_rule": "independent odds snapshot",
    "method_version": "2.2",
    "composition_hash": "11259fe0049cf87b6eda6844751f4649cfc3821cc82d4b83c8e027ebcd7b58d2",
    "text": "+62.11 points on 1 settled pick across 1 match · independent odds snapshot · method 2.2"
   },
   "reason": "First headline number for this record: 1 settled pick in the series “independent odds snapshot”.",
   "checked_by": "comparison of data versions",
   "affected_records": {
    "added": 1,
    "removed": 0,
    "changed": 0
   },
   "correction_id": null
  }
 ],
 "current_predictions": {
  "total_count": 1,
  "on_date": "2026-11-07T19:52",
  "row_list": [
   {
    "record_id": "n-79a981022fe26fd101c8bcfd",
    "url": "/authors/joakim-ostman/#pick-n-79a981022fe26fd101c8bcfd",
    "match": "Atlético Madrid v FC Barcelona",
    "match_url": "/football/matches/atletico-madrid-vs-fc-barcelona-2026-11-08/",
    "kickoff": "2026-11-08T20:00:00.000Z",
    "competition": "LaLiga",
    "author_said": "1X2, match result: FC Barcelona at 1.85",
    "origin": "Recorded by us before kick-off",
    "recorded_at": "2026-11-06T14:29:56.916Z",
    "platform": null
   }
  ]
 },
 "counts_by_slice": {
  "portions": [
   {
    "code": "live",
    "title": "Recorded before kick-off",
    "price_rule": "Return at our recorded market price",
    "settled_picks": 4,
    "total_check": true,
    "market_list": [
     {
      "code_name": "1x2",
      "in_words": "Match result",
      "url": null,
      "settled_picks": 4,
      "won": 3,
      "void": 0,
      "net_points_hundredths": 18108,
      "return_percent": "45.3",
      "period_from": "2026-10-13",
      "period_to": "2026-11-06",
      "small_sample": true,
      "average_odds": "2.29",
      "odds_from_author": 4,
      "odds_from_snapshot": 0
     }
    ],
    "leagues": [
     {
      "code_name": "UEFA Champions League",
      "in_words": "UEFA Champions League",
      "url": "/football/competitions/uefa-champions-league/",
      "settled_picks": 2,
      "won": 1,
      "void": 0,
      "net_points_hundredths": -3789,
      "return_percent": "-18.9",
      "period_from": "2026-10-13",
      "period_to": "2026-10-14",
      "small_sample": true,
      "average_odds": "2.49",
      "odds_from_author": 2,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 2,
        "won": 1,
        "void": 0,
        "net_points_hundredths": -3789,
        "return_percent": null,
        "period_from": "2026-10-13",
        "period_to": "2026-10-14",
        "small_sample": true,
        "average_odds": "2.49",
        "odds_from_author": 2,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "Premier League",
      "in_words": "Premier League",
      "url": "/football/competitions/premier-league/",
      "settled_picks": 1,
      "won": 1,
      "void": 0,
      "net_points_hundredths": 6897,
      "return_percent": "69.0",
      "period_from": "2026-11-06",
      "period_to": "2026-11-06",
      "small_sample": true,
      "average_odds": "1.75",
      "odds_from_author": 1,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 6897,
        "return_percent": null,
        "period_from": "2026-11-06",
        "period_to": "2026-11-06",
        "small_sample": true,
        "average_odds": "1.75",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     },
     {
      "code_name": "UEFA Europa League",
      "in_words": "UEFA Europa League",
      "url": "/football/competitions/uefa-europa-league/",
      "settled_picks": 1,
      "won": 1,
      "void": 0,
      "net_points_hundredths": 15000,
      "return_percent": "150.0",
      "period_from": "2026-10-22",
      "period_to": "2026-10-22",
      "small_sample": true,
      "average_odds": "2.44",
      "odds_from_author": 1,
      "odds_from_snapshot": 0,
      "league_markets": [
       {
        "code_name": "1x2",
        "in_words": "Match result",
        "settled_picks": 1,
        "won": 1,
        "void": 0,
        "net_points_hundredths": 15000,
        "return_percent": null,
        "period_from": "2026-10-22",
        "period_to": "2026-10-22",
        "small_sample": true,
        "average_odds": "2.44",
        "odds_from_author": 1,
        "odds_from_snapshot": 0
       }
      ]
     }
    ],
    "best_slice": null
   }
  ],
  "best_slice": null
 },
 "author_card": {
  "body": "Record tracked by Forecast Record since 12 October 2026 · 12 predictions · last change 6 November 2026",
  "url": "https://forecastrecord.com/authors/joakim-ostman/",
  "s": "2026-10-12",
  "prediction_count": 12,
  "refreshed_at": "2026-11-06",
  "html": "<a href=\"https://forecastrecord.com/authors/joakim-ostman/\">Record tracked by Forecast Record since 12 October 2026 · 12 predictions · last change 6 November 2026</a>"
 },
 "trust": {
  "tier": "probation",
  "in_words": "Probation",
  "settled_count": 7,
  "days": 25,
  "weeks": 4,
  "archive": false,
  "in_review": false,
  "own_page": false,
  "won_count": 3,
  "first_settled_on": "2026-10-13",
  "products_in_level": 1,
  "rule": {
   "tracked": {
    "min_settled": 30,
    "min_days": 30,
    "min_distinct_weeks": 2,
    "no_violations": true
   },
   "established": {
    "min_settled": 100,
    "min_days": 90
   }
  },
  "show": true
 },
 "colleagues": [
  {
   "source_code": "speltips-se",
   "source_name": "Speltips.se",
   "source_url": "/sources/speltips-se/",
   "label": "Also at Speltips.se",
   "authors_total": 4,
   "authors": [
    {
     "name": "Daniel Berggren",
     "url": "/authors/daniel-berggren/",
     "headline_part": "live",
     "settled_picks": 11,
     "return_percent": "-18.7",
     "small_sample": false,
     "average_odds": "2.06",
     "odds_from_author": 11,
     "odds_from_snapshot": 0
    },
    {
     "name": "Arvid Snacke",
     "url": "/authors/arvid-snacke/",
     "headline_part": "live",
     "settled_picks": 10,
     "return_percent": "7.4",
     "small_sample": false,
     "average_odds": "1.58",
     "odds_from_author": 0,
     "odds_from_snapshot": 10
    },
    {
     "name": "Hugo Stenmark",
     "url": "/authors/hugo-stenmark/",
     "headline_part": "live",
     "settled_picks": 10,
     "return_percent": "-15.1",
     "small_sample": false,
     "average_odds": "2.18",
     "odds_from_author": 7,
     "odds_from_snapshot": 3
    },
    {
     "name": "Daniel Jacobsson",
     "url": "/authors/daniel-jacobsson/",
     "headline_part": "live",
     "settled_picks": 8,
     "return_percent": null,
     "small_sample": true,
     "average_odds": "2.47",
     "odds_from_author": 7,
     "odds_from_snapshot": 1
    }
   ]
  }
 ],
 "author_type": "Tipster",
 "data_changes": {
  "added_later": null,
  "records_corrected": 0,
  "last_correction_at": null,
  "corrections_url": "/corrections/"
 },
 "entity_id": "person:o-51cd0b629ab0c687eb0811a9",
 "source_revision": 134,
 "related": [
  {
   "url": "/cards/e-51cd0b629ab0c687eb0811a9-bank/",
   "name": "Bankroll card — Joakim Östman",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-51cd0b629ab0c687eb0811a9-month-following/",
   "name": "A month following Joakim Östman",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-51cd0b629ab0c687eb0811a9-said-vs-happened/",
   "name": "Said → happened — Joakim Östman",
   "detail": null,
   "source_group": "cards"
  },
  {
   "url": "/cards/e-51cd0b629ab0c687eb0811a9-turning-point/",
   "name": "Turning point — Joakim Östman",
   "detail": null,
   "source_group": "cards"
  }
 ],
 "number_sets": [
  {
   "set": "profile.settled",
   "entity": "e-51cd0b629ab0c687eb0811a9",
   "value": 4,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.predictions",
   "entity": "e-51cd0b629ab0c687eb0811a9",
   "value": 12,
   "where": "coverage",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.live",
   "entity": "e-51cd0b629ab0c687eb0811a9",
   "value": 4,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.archived",
   "entity": "e-51cd0b629ab0c687eb0811a9",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.part.found_after",
   "entity": "e-51cd0b629ab0c687eb0811a9",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.archived",
   "entity": "e-51cd0b629ab0c687eb0811a9",
   "value": 0,
   "where": null,
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.checked.live",
   "entity": "e-51cd0b629ab0c687eb0811a9",
   "value": 7,
   "where": "origin",
   "as_of": "2026-11-07T19:52:23.438Z"
  },
  {
   "set": "profile.window",
   "entity": "e-51cd0b629ab0c687eb0811a9",
   "value": 4,
   "where": "calculation",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  },
  {
   "set": "profile.checked",
   "entity": "e-51cd0b629ab0c687eb0811a9",
   "value": 7,
   "where": "trust-level",
   "as_of": "2026-11-07T19:52:23.438Z",
   "label": true
  }
 ]
}
