{
  "version": "0.1.0",
  "generated_at": "2026-10-21T13:19:00.361995+00:00",
  "as_of": "2026-10-21",
  "timezone": "America/Sao_Paulo",
  "sources": [
    {
      "id": "ecmwf",
      "name": "ECMWF · AIFS ENS / IFS ENS",
      "domain": "Clima",
      "url": "https://www.ecmwf.int/en/forecasts/datasets/open-data",
      "license": "CC BY 4.0 + termos ECMWF",
      "purpose": "Ensembles globais de temperatura a 2 m e precipitação; extração direta de GRIB.",
      "limitations": "Grade não representa todos os bairros; ensemble bruto não é calibração local."
    },
    {
      "id": "inmet",
      "name": "INMET · estações automáticas",
      "domain": "Clima",
      "url": "https://portal.inmet.gov.br/dadoshistoricos",
      "license": "Dados públicos; atribuição INMET",
      "purpose": "Histórico horário observado, validação e climatologia de Vila Militar e Mirante de Santana.",
      "limitations": "Sujeito a falhas e revisão. Máxima diária exige cobertura horária suficiente."
    },
    {
      "id": "openfootball",
      "name": "OpenFootball · Brasileirão Série A",
      "domain": "Futebol",
      "url": "https://github.com/openfootball/football.json",
      "license": "CC0 1.0",
      "purpose": "Resultados e calendário para modelo de gols e simulação do campeonato.",
      "limitations": "Fonte comunitária; conferir CBF antes de resolver previsões dos participantes."
    },
    {
      "id": "ufc",
      "name": "UFC · eventos e atletas",
      "domain": "UFC",
      "url": "https://www.ufc.com.br/events",
      "license": "Fatos públicos, atribuição; sem licença aberta geral",
      "purpose": "Cards e identificação de atletas brasileiros; resultados oficiais para resolução.",
      "limitations": "Cards mudam; a página de atleta atual não serve de atributo histórico pré-luta."
    },
    {
      "id": "cartola",
      "name": "Globo / Cartola · placares e calendário",
      "domain": "Futebol",
      "url": "https://ge.globo.com/futebol/brasileirao-serie-a/",
      "license": "Fatos públicos, atribuição; sem licença aberta geral",
      "purpose": "Reconciliação dos resultados e datas recentes do calendário OpenFootball.",
      "limitations": "Feed secundário sem contrato de estabilidade; divergências bloqueiam publicação e a resolução exige CBF."
    },
    {
      "id": "ufcstats",
      "name": "UFCStats · histórico por luta",
      "domain": "UFC",
      "url": "http://ufcstats.com/statistics/events/completed?page=all",
      "license": "Fatos públicos; acesso sujeito aos termos",
      "purpose": "Resultados históricos para Elo pré-luta sem vazamento temporal.",
      "limitations": "Servidor pode bloquear ou ficar indisponível; nunca contornar bloqueios."
    },
    {
      "id": "ibjjf",
      "name": "IBJJF · resultados oficiais",
      "domain": "Jiu-jitsu",
      "url": "https://ibjjf.com/events/results",
      "license": "Fatos públicos, atribuição; sem licença aberta geral",
      "purpose": "Pódios por categoria, faixa, idade e peso; inventário de campeonatos.",
      "limitations": "Pódio não revela confrontos ou nacionalidade. Sem chave completa não há probabilidade de título."
    },
    {
      "id": "cemaden",
      "name": "Cemaden · chuva e hidrologia",
      "domain": "Enchentes",
      "url": "https://www.gov.br/cemaden/pt-br",
      "license": "Dados públicos; verificar produto",
      "purpose": "Pluviômetros e estações hidrológicas para integração futura por bacia.",
      "limitations": "Alguns downloads exigem formulário/captcha. Não integrado automaticamente."
    },
    {
      "id": "ana",
      "name": "ANA · HidroWeb",
      "domain": "Enchentes",
      "url": "https://www.snirh.gov.br/hidroweb/",
      "license": "Dados abertos ANA; atribuição",
      "purpose": "Cotas e vazões, histórico de bacias e limiares de inundação.",
      "limitations": "API pode exigir credencial; necessário identificar bacia e estação, além de observar defasagem."
    },
    {
      "id": "alertario",
      "name": "Alerta Rio · rede municipal",
      "domain": "Enchentes",
      "url": "https://websempre.rio.rj.gov.br/dados/pluviometricos/met/",
      "license": "Dados públicos municipais; verificar produto",
      "purpose": "Chuva observada de alta frequência e validação local no Rio.",
      "limitations": "Sem transformar probabilidade de chuva em probabilidade de inundação."
    },
    {
      "id": "weathernext",
      "name": "Google · WeatherNext",
      "domain": "Clima",
      "url": "https://developers.google.com/weathernext",
      "license": "Termos e elegibilidade do produto Google",
      "purpose": "Candidato a benchmark de IA adicional no GCP.",
      "limitations": "Integração depende de acesso, termos comerciais e créditos; não anunciado como ativo."
    }
  ],
  "weather": [
    {
      "city": "rio",
      "name": "Rio de Janeiro",
      "station_reference": "Vila Militar",
      "model": "aifs-ens",
      "run_time": "2026-10-21T06:00:00+00:00",
      "retrieved_at": "2026-10-21T13:15:40.288082+00:00",
      "members": 50,
      "temperature": [
        {
          "time": "2026-10-21T12:00:00+00:00",
          "local_time": "2026-10-21T09:00:00-03:00",
          "p10": 20.70293121337893,
          "p50": 21.679971313476585,
          "p90": 22.43821716308596,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-21T18:00:00+00:00",
          "local_time": "2026-10-21T15:00:00-03:00",
          "p10": 22.60912322998049,
          "p50": 23.583100891113304,
          "p90": 24.74923248291018,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-22T00:00:00+00:00",
          "local_time": "2026-10-21T21:00:00-03:00",
          "p10": 19.917527770996116,
          "p50": 20.350694274902366,
          "p90": 20.903921508789086,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-22T06:00:00+00:00",
          "local_time": "2026-10-22T03:00:00-03:00",
          "p10": 18.61660308837893,
          "p50": 19.210290527343773,
          "p90": 19.673506164550805,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-22T12:00:00+00:00",
          "local_time": "2026-10-22T09:00:00-03:00",
          "p10": 19.85625915527346,
          "p50": 20.77728424072268,
          "p90": 22.230569458007835,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-22T18:00:00+00:00",
          "local_time": "2026-10-22T15:00:00-03:00",
          "p10": 21.17305145263674,
          "p50": 22.50557098388674,
          "p90": 23.900341796875022,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-23T00:00:00+00:00",
          "local_time": "2026-10-22T21:00:00-03:00",
          "p10": 19.006872558593773,
          "p50": 20.142419433593773,
          "p90": 20.85505523681643,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-23T06:00:00+00:00",
          "local_time": "2026-10-23T03:00:00-03:00",
          "p10": 18.203684997558618,
          "p50": 19.317292785644554,
          "p90": 20.040870666503928,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-23T12:00:00+00:00",
          "local_time": "2026-10-23T09:00:00-03:00",
          "p10": 21.26753540039065,
          "p50": 23.440515136718773,
          "p90": 24.794140625000022,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-23T18:00:00+00:00",
          "local_time": "2026-10-23T15:00:00-03:00",
          "p10": 23.03340759277346,
          "p50": 24.967149353027366,
          "p90": 26.892527770996118,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-24T00:00:00+00:00",
          "local_time": "2026-10-23T21:00:00-03:00",
          "p10": 20.666101074218773,
          "p50": 21.415551757812523,
          "p90": 22.49202117919924,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-24T06:00:00+00:00",
          "local_time": "2026-10-24T03:00:00-03:00",
          "p10": 18.712315368652366,
          "p50": 19.963174438476585,
          "p90": 21.161624145507837,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        }
      ],
      "rain_windows": [
        {
          "start": "2026-10-21T06:00:00+00:00",
          "end": "2026-10-22T06:00:00+00:00",
          "p10": 0.68125,
          "p50": 1.53125,
          "p90": 3.2,
          "over_50": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 50
          },
          "over_1": {
            "probability": 0.7156862745098039,
            "raw_frequency": 0.72,
            "successes": 36,
            "members": 50,
            "interval_90": [
              0.6080288368338389,
              0.8136365431816835
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 1
          }
        },
        {
          "start": "2026-10-22T06:00:00+00:00",
          "end": "2026-10-23T06:00:00+00:00",
          "p10": 1.1062500000000002,
          "p50": 2.9375,
          "p90": 8.318750000000001,
          "over_50": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 50
          },
          "over_1": {
            "probability": 0.8921568627450981,
            "raw_frequency": 0.9,
            "successes": 45,
            "members": 50,
            "interval_90": [
              0.8135891622386764,
              0.9531924380072817
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 1
          }
        },
        {
          "start": "2026-10-23T06:00:00+00:00",
          "end": "2026-10-24T06:00:00+00:00",
          "p10": 0.625,
          "p50": 4.4375,
          "p90": 10.9,
          "over_50": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 50
          },
          "over_1": {
            "probability": 0.7941176470588235,
            "raw_frequency": 0.8,
            "successes": 40,
            "members": 50,
            "interval_90": [
              0.6956136455762958,
              0.8794032425843332
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 1
          }
        }
      ],
      "grid": {
        "grid_lat": -22.75,
        "grid_lon": -43.5,
        "distance_km": 15.351516909889146
      },
      "status": "ensemble_bruto_nao_calibrado",
      "limitations": "Temperatura instantânea em passos de 6 h, não máxima diária oficial. Faixa P10–P90 entre cenários, não intervalo de confiança calibrado. Chuva de grade não é probabilidade de enchente."
    },
    {
      "city": "sao-paulo",
      "name": "São Paulo",
      "station_reference": "Mirante de Santana",
      "model": "aifs-ens",
      "run_time": "2026-10-21T06:00:00+00:00",
      "retrieved_at": "2026-10-21T13:15:40.288082+00:00",
      "members": 50,
      "temperature": [
        {
          "time": "2026-10-21T12:00:00+00:00",
          "local_time": "2026-10-21T09:00:00-03:00",
          "p10": 17.990742492675803,
          "p50": 18.868333435058616,
          "p90": 20.07391052246096,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-21T18:00:00+00:00",
          "local_time": "2026-10-21T15:00:00-03:00",
          "p10": 23.49800415039065,
          "p50": 24.814111328125023,
          "p90": 26.022903442382834,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-22T00:00:00+00:00",
          "local_time": "2026-10-21T21:00:00-03:00",
          "p10": 16.98952789306643,
          "p50": 17.516473388671898,
          "p90": 18.15815582275393,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-22T06:00:00+00:00",
          "local_time": "2026-10-22T03:00:00-03:00",
          "p10": 16.23236999511721,
          "p50": 16.67615661621096,
          "p90": 17.297578430175804,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-22T12:00:00+00:00",
          "local_time": "2026-10-22T09:00:00-03:00",
          "p10": 16.77180633544924,
          "p50": 18.06397399902346,
          "p90": 19.230569458007835,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-22T18:00:00+00:00",
          "local_time": "2026-10-22T15:00:00-03:00",
          "p10": 20.253153991699243,
          "p50": 21.822671508789085,
          "p90": 23.902029418945336,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-23T00:00:00+00:00",
          "local_time": "2026-10-22T21:00:00-03:00",
          "p10": 16.900776672363303,
          "p50": 17.975450134277366,
          "p90": 18.792762756347678,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-23T06:00:00+00:00",
          "local_time": "2026-10-23T03:00:00-03:00",
          "p10": 15.755696105957053,
          "p50": 16.803819274902366,
          "p90": 17.846736145019555,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-23T12:00:00+00:00",
          "local_time": "2026-10-23T09:00:00-03:00",
          "p10": 17.21736297607424,
          "p50": 18.407617187500023,
          "p90": 19.98596343994143,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-23T18:00:00+00:00",
          "local_time": "2026-10-23T15:00:00-03:00",
          "p10": 19.48055572509768,
          "p50": 20.96254119873049,
          "p90": 22.562165832519554,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-24T00:00:00+00:00",
          "local_time": "2026-10-23T21:00:00-03:00",
          "p10": 16.94470214843752,
          "p50": 17.878205871582054,
          "p90": 18.815640258789085,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        },
        {
          "time": "2026-10-24T06:00:00+00:00",
          "local_time": "2026-10-24T03:00:00-03:00",
          "p10": 15.399966430664085,
          "p50": 17.05054626464846,
          "p90": 18.311958312988303,
          "over_45": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 45
          }
        }
      ],
      "rain_windows": [
        {
          "start": "2026-10-21T06:00:00+00:00",
          "end": "2026-10-22T06:00:00+00:00",
          "p10": 0.0625,
          "p50": 0.5,
          "p90": 3.3437500000000004,
          "over_50": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 50
          },
          "over_1": {
            "probability": 0.4019607843137255,
            "raw_frequency": 0.4,
            "successes": 20,
            "members": 50,
            "interval_90": [
              0.2922337551735328,
              0.5161040038322673
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 1
          }
        },
        {
          "start": "2026-10-22T06:00:00+00:00",
          "end": "2026-10-23T06:00:00+00:00",
          "p10": 1.675,
          "p50": 7.0625,
          "p90": 14.1125,
          "over_50": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 50
          },
          "over_1": {
            "probability": 0.9313725490196079,
            "raw_frequency": 0.94,
            "successes": 47,
            "members": 50,
            "interval_90": [
              0.8655835706103335,
              0.978010695734924
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 1
          }
        },
        {
          "start": "2026-10-23T06:00:00+00:00",
          "end": "2026-10-24T06:00:00+00:00",
          "p10": 2.8125,
          "p50": 9.75,
          "p90": 19.687500000000004,
          "over_50": {
            "probability": 0.00980392156862745,
            "raw_frequency": 0.0,
            "successes": 0,
            "members": 50,
            "interval_90": [
              3.912452094091801e-05,
              0.03750113514003708
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 50
          },
          "over_1": {
            "probability": 0.9117647058823529,
            "raw_frequency": 0.92,
            "successes": 46,
            "members": 50,
            "interval_90": [
              0.8390544244576282,
              0.9661148096239704
            ],
            "interval_note": "Intervalo de contagem Jeffreys, supondo membros independentes; não mede todo o erro de previsão.",
            "threshold": 1
          }
        }
      ],
      "grid": {
        "grid_lat": -23.5,
        "grid_lon": -46.5,
        "distance_km": 12.305369313512024
      },
      "status": "ensemble_bruto_nao_calibrado",
      "limitations": "Temperatura instantânea em passos de 6 h, não máxima diária oficial. Faixa P10–P90 entre cenários, não intervalo de confiança calibrado. Chuva de grade não é probabilidade de enchente."
    }
  ],
  "climatology": [
    {
      "city": "rio",
      "station": "A621",
      "complete_summers": 8,
      "events_over_45": 0,
      "historical_frequency": 0.0,
      "jeffreys_interval_90": [
        0.00023817386101407362,
        0.2075080416807328
      ],
      "summer_definition": "Verão climatológico: 1º de dezembro ao último dia de fevereiro; não o astronômico.",
      "hottest_weeks": [
        {
          "week": "12/01–18/01",
          "count": 2
        },
        {
          "week": "22/12–28/12",
          "count": 1
        },
        {
          "week": "19/01–25/01",
          "count": 1
        },
        {
          "week": "26/01–01/02",
          "count": 1
        },
        {
          "week": "23/02–01/03",
          "count": 1
        },
        {
          "week": "01/12–07/12",
          "count": 1
        },
        {
          "week": "16/02–22/02",
          "count": 1
        }
      ],
      "seasons": [
        {
          "season": 2017,
          "hottest_date": "2017-12-24",
          "temperature_max_c": 37.9,
          "coverage": 1.0
        },
        {
          "season": 2018,
          "hottest_date": "2019-01-21",
          "temperature_max_c": 39.8,
          "coverage": 1.0
        },
        {
          "season": 2019,
          "hottest_date": "2020-01-30",
          "temperature_max_c": 38.8,
          "coverage": 0.989010989010989
        },
        {
          "season": 2021,
          "hottest_date": "2022-01-18",
          "temperature_max_c": 38.2,
          "coverage": 1.0
        },
        {
          "season": 2022,
          "hottest_date": "2023-02-26",
          "temperature_max_c": 38.1,
          "coverage": 0.9444444444444444
        },
        {
          "season": 2023,
          "hottest_date": "2023-12-07",
          "temperature_max_c": 40.6,
          "coverage": 0.989010989010989
        },
        {
          "season": 2024,
          "hottest_date": "2025-02-17",
          "temperature_max_c": 41.2,
          "coverage": 1.0
        },
        {
          "season": 2025,
          "hottest_date": "2026-01-12",
          "temperature_max_c": 40.8,
          "coverage": 0.9777777777777777
        }
      ],
      "excluded_seasons": [
        {
          "season": 2015,
          "valid_days": 60,
          "coverage": 0.6593406593406593
        },
        {
          "season": 2016,
          "valid_days": 80,
          "coverage": 0.8888888888888888
        },
        {
          "season": 2020,
          "valid_days": 75,
          "coverage": 0.8333333333333334
        }
      ],
      "observed_record": {
        "city": "rio",
        "station": "A621",
        "date": "2023-11-18",
        "temperature_max_c": 42.5,
        "precipitation_mm": 0.0,
        "valid_temperature_hours": 24,
        "valid_rain_hours": 24,
        "expected_hours": 24
      },
      "limitations": "Climatologia descritiva da estação, sem previsão da data exata. Amostra curta, aquecimento e dias ausentes limitam extrapolação. Cobertura mínima de 90% por verão."
    },
    {
      "city": "sao-paulo",
      "station": "A701",
      "complete_summers": 9,
      "events_over_45": 0,
      "historical_frequency": 0.0,
      "jeffreys_interval_90": [
        0.00021244796242273487,
        0.1873656640603168
      ],
      "summer_definition": "Verão climatológico: 1º de dezembro ao último dia de fevereiro; não o astronômico.",
      "hottest_weeks": [
        {
          "week": "19/01–25/01",
          "count": 3
        },
        {
          "week": "26/01–01/02",
          "count": 2
        },
        {
          "week": "16/02–22/02",
          "count": 1
        },
        {
          "week": "02/02–08/02",
          "count": 1
        },
        {
          "week": "08/12–14/12",
          "count": 1
        },
        {
          "week": "22/12–28/12",
          "count": 1
        }
      ],
      "seasons": [
        {
          "season": 2016,
          "hottest_date": "2017-02-19",
          "temperature_max_c": 34.3,
          "coverage": 1.0
        },
        {
          "season": 2017,
          "hottest_date": "2018-01-24",
          "temperature_max_c": 34.0,
          "coverage": 1.0
        },
        {
          "season": 2018,
          "hottest_date": "2019-02-02",
          "temperature_max_c": 35.7,
          "coverage": 1.0
        },
        {
          "season": 2019,
          "hottest_date": "2020-01-27",
          "temperature_max_c": 33.6,
          "coverage": 1.0
        },
        {
          "season": 2020,
          "hottest_date": "2021-01-30",
          "temperature_max_c": 34.1,
          "coverage": 1.0
        },
        {
          "season": 2021,
          "hottest_date": "2022-01-23",
          "temperature_max_c": 33.8,
          "coverage": 1.0
        },
        {
          "season": 2022,
          "hottest_date": "2022-12-09",
          "temperature_max_c": 33.5,
          "coverage": 1.0
        },
        {
          "season": 2024,
          "hottest_date": "2025-01-22",
          "temperature_max_c": 34.1,
          "coverage": 0.9666666666666667
        },
        {
          "season": 2025,
          "hottest_date": "2025-12-28",
          "temperature_max_c": 37.2,
          "coverage": 0.9444444444444444
        }
      ],
      "excluded_seasons": [
        {
          "season": 2015,
          "valid_days": 56,
          "coverage": 0.6153846153846154
        },
        {
          "season": 2023,
          "valid_days": 78,
          "coverage": 0.8571428571428571
        }
      ],
      "observed_record": {
        "city": "sao-paulo",
        "station": "A701",
        "date": "2023-11-14",
        "temperature_max_c": 37.5,
        "precipitation_mm": 0.0,
        "valid_temperature_hours": 24,
        "valid_rain_hours": 24,
        "expected_hours": 24
      },
      "limitations": "Climatologia descritiva da estação, sem previsão da data exata. Amostra curta, aquecimento e dias ausentes limitam extrapolação. Cobertura mínima de 90% por verão."
    }
  ],
  "football": {
    "model": "poisson-ridge-v1",
    "train_n": 3349,
    "train_last": "2026-10-19",
    "upcoming": [
      {
        "id": "a15488057dd0c3b14fd4",
        "season": 2026,
        "date": "2026-10-23",
        "time": "20:00",
        "home": "Cruzeiro EC",
        "away": "Clube do Remo",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-23T23:00:00+00:00",
        "probabilities": [
          0.6445378998300396,
          0.20761984213245066,
          0.14784225803750975
        ]
      },
      {
        "id": "04699b376b727bd85f60",
        "season": 2026,
        "date": "2026-10-24",
        "time": "19:30",
        "home": "Chapecoense AF",
        "away": "Fluminense FC",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-24T22:30:00+00:00",
        "probabilities": [
          0.22140870780142521,
          0.23502014950355016,
          0.5435711426950246
        ]
      },
      {
        "id": "b3f1c9e0b55cc12e1687",
        "season": 2026,
        "date": "2026-10-24",
        "time": "16:30",
        "home": "SC Internacional",
        "away": "Botafogo FR",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-24T19:30:00+00:00",
        "probabilities": [
          0.3978986455559855,
          0.2699244753081539,
          0.3321768791358605
        ]
      },
      {
        "id": "db2d5eadb1922f2419b5",
        "season": 2026,
        "date": "2026-10-24",
        "time": "16:30",
        "home": "Mirassol FC",
        "away": "São Paulo FC",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-24T19:30:00+00:00",
        "probabilities": [
          0.4861085274855474,
          0.2673780876369533,
          0.24651338487749927
        ]
      },
      {
        "id": "a3ad154d48cdded490ce",
        "season": 2026,
        "date": "2026-10-24",
        "time": "18:30",
        "home": "SE Palmeiras",
        "away": "RB Bragantino",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-24T21:30:00+00:00",
        "probabilities": [
          0.677529806741084,
          0.2030878694426587,
          0.11938232381625727
        ]
      },
      {
        "id": "9feac2929e3a293105c0",
        "season": 2026,
        "date": "2026-10-24",
        "time": "21:00",
        "home": "Santos FC",
        "away": "EC Bahia",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-25T00:00:00+00:00",
        "probabilities": [
          0.4654214936296165,
          0.24670182750489153,
          0.28787667886549195
        ]
      },
      {
        "id": "84474bf125e91f294f75",
        "season": 2026,
        "date": "2026-10-24",
        "time": "18:30",
        "home": "CR Vasco da Gama",
        "away": "SC Corinthians Paulista",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-24T21:30:00+00:00",
        "probabilities": [
          0.4464522052757326,
          0.2644355494633376,
          0.2891122452609299
        ]
      },
      {
        "id": "e724980ad4e103736f29",
        "season": 2026,
        "date": "2026-10-24",
        "time": "16:30",
        "home": "EC Vitória",
        "away": "CA Paranaense",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-24T19:30:00+00:00",
        "probabilities": [
          0.346857477592155,
          0.2723696374338665,
          0.38077288497397854
        ]
      },
      {
        "id": "43b41e32419bffd0f7e4",
        "season": 2026,
        "date": "2026-10-26",
        "time": "19:30",
        "home": "Coritiba FBC",
        "away": "Grêmio FBPA",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-26T22:30:00+00:00",
        "probabilities": [
          0.41731319723769794,
          0.25234085727857797,
          0.3303459454837241
        ]
      },
      {
        "id": "6707ebd3871330fee481",
        "season": 2026,
        "date": "2026-10-26",
        "time": "20:00",
        "home": "CR Flamengo",
        "away": "CA Mineiro",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 32",
        "source_url": "https://api.cartola.globo.com/partidas/32",
        "fixture_status": "scheduled",
        "source_sha256": "7db5e2dd3aa7b482fa62929959d1237e678d94706518d568d8bd269aaa994504",
        "retrieved_at": "2026-10-21T13:15:57.465250+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-26T23:00:00+00:00",
        "probabilities": [
          0.6585697384673452,
          0.20716365782045665,
          0.1342666037121981
        ]
      },
      {
        "id": "ab0a82ef1117996ae09f",
        "season": 2026,
        "date": "2026-10-28",
        "time": "21:30",
        "home": "EC Bahia",
        "away": "São Paulo FC",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-29T00:30:00+00:00",
        "probabilities": [
          0.4711848576652794,
          0.26869610426872564,
          0.260119038065995
        ]
      },
      {
        "id": "bcf75e627b7a1c8c87b6",
        "season": 2026,
        "date": "2026-10-28",
        "time": "19:30",
        "home": "RB Bragantino",
        "away": "Chapecoense AF",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-28T22:30:00+00:00",
        "probabilities": [
          0.684414154831844,
          0.18578340379316763,
          0.12980244137498825
        ]
      },
      {
        "id": "a6c9ed71cbf1ed7880e6",
        "season": 2026,
        "date": "2026-10-28",
        "time": "19:30",
        "home": "Fluminense FC",
        "away": "SC Internacional",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-28T22:30:00+00:00",
        "probabilities": [
          0.5386619107724273,
          0.2523650513890547,
          0.20897303783851795
        ]
      },
      {
        "id": "77441b464d512f513f8d",
        "season": 2026,
        "date": "2026-10-28",
        "time": "21:30",
        "home": "Clube do Remo",
        "away": "Botafogo FR",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-29T00:30:00+00:00",
        "probabilities": [
          0.32119218034803104,
          0.26243155184439004,
          0.416376267807579
        ]
      },
      {
        "id": "201757736a21a33a70d5",
        "season": 2026,
        "date": "2026-10-28",
        "time": "19:30",
        "home": "Santos FC",
        "away": "SE Palmeiras",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-28T22:30:00+00:00",
        "probabilities": [
          0.25988202433544827,
          0.25706095979680904,
          0.4830570158677428
        ]
      },
      {
        "id": "9abcaf1c1502712facaa",
        "season": 2026,
        "date": "2026-10-29",
        "time": "19:30",
        "home": "CA Mineiro",
        "away": "Cruzeiro EC",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-29T22:30:00+00:00",
        "probabilities": [
          0.4225397777037741,
          0.27260066148833373,
          0.3048595608078922
        ]
      },
      {
        "id": "5f5dd2c2608021f17156",
        "season": 2026,
        "date": "2026-10-29",
        "time": "21:30",
        "home": "Grêmio FBPA",
        "away": "CA Paranaense",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-30T00:30:00+00:00",
        "probabilities": [
          0.3858044578895651,
          0.26209550702271994,
          0.35210003508771504
        ]
      },
      {
        "id": "f7bd6fd655e4ac3578f4",
        "season": 2026,
        "date": "2026-10-29",
        "time": "20:00",
        "home": "CR Vasco da Gama",
        "away": "CR Flamengo",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-29T23:00:00+00:00",
        "probabilities": [
          0.22215988772645232,
          0.23444630551001444,
          0.5433938067635332
        ]
      },
      {
        "id": "6fedbc04e363bc0988b3",
        "season": 2026,
        "date": "2026-10-30",
        "time": "20:00",
        "home": "SC Corinthians Paulista",
        "away": "Mirassol FC",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-30T23:00:00+00:00",
        "probabilities": [
          0.40862146253425335,
          0.27579042806322857,
          0.3155881094025181
        ]
      },
      {
        "id": "02749488d9acbee2d5e1",
        "season": 2026,
        "date": "2026-10-31",
        "time": "16:00",
        "home": "Coritiba FBC",
        "away": "EC Vitória",
        "home_goals": null,
        "away_goals": null,
        "round": "Matchday 33",
        "source_url": "https://api.cartola.globo.com/partidas/33",
        "fixture_status": "scheduled",
        "source_sha256": "be2fd13d0566c17d2d9fb6a5d9305ff49fb07be577213f7c1c8b242210ffb490",
        "retrieved_at": "2026-10-21T13:15:57.865539+00:00",
        "original_source_url": "https://raw.githubusercontent.com/openfootball/south-america/master/brazil/2026_br1.txt",
        "original_source_sha256": "abfe3b76ab0c59464c0547479dd2d8d905553e3dadfc91f4c644fbad5bdf36f6",
        "starts_at": "2026-10-31T19:00:00+00:00",
        "probabilities": [
          0.44657236334603656,
          0.2585540822288935,
          0.2948735544250699
        ]
      }
    ],
    "championship": {
      "season": 2026,
      "simulations": 20000,
      "seed": 20261020,
      "completed": 309,
      "remaining": 71,
      "teams": [
        {
          "team": "CR Flamengo",
          "points": 67,
          "played": 31,
          "title_probability": 0.62515,
          "expected_points": 81.4243,
          "simulation_titles": 12503,
          "max_points": 88,
          "mc_standard_error": 0.00342299194784329
        },
        {
          "team": "SE Palmeiras",
          "points": 66,
          "played": 31,
          "title_probability": 0.37485,
          "expected_points": 80.29895,
          "simulation_titles": 7497,
          "max_points": 87,
          "mc_standard_error": 0.00342299194784329
        },
        {
          "team": "CA Paranaense",
          "points": 53,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 63.2477,
          "simulation_titles": 0,
          "max_points": 74,
          "mc_standard_error": 0.0
        },
        {
          "team": "Cruzeiro EC",
          "points": 51,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 62.28575,
          "simulation_titles": 0,
          "max_points": 72,
          "mc_standard_error": 0.0
        },
        {
          "team": "Fluminense FC",
          "points": 51,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 62.0877,
          "simulation_titles": 0,
          "max_points": 72,
          "mc_standard_error": 0.0
        },
        {
          "team": "CA Mineiro",
          "points": 50,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 59.01025,
          "simulation_titles": 0,
          "max_points": 71,
          "mc_standard_error": 0.0
        },
        {
          "team": "EC Bahia",
          "points": 49,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 58.55985,
          "simulation_titles": 0,
          "max_points": 70,
          "mc_standard_error": 0.0
        },
        {
          "team": "Santos FC",
          "points": 45,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 54.7539,
          "simulation_titles": 0,
          "max_points": 66,
          "mc_standard_error": 0.0
        },
        {
          "team": "São Paulo FC",
          "points": 42,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 51.0974,
          "simulation_titles": 0,
          "max_points": 63,
          "mc_standard_error": 0.0
        },
        {
          "team": "RB Bragantino",
          "points": 41,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 51.03805,
          "simulation_titles": 0,
          "max_points": 62,
          "mc_standard_error": 0.0
        },
        {
          "team": "Botafogo FR",
          "points": 39,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 49.53165,
          "simulation_titles": 0,
          "max_points": 60,
          "mc_standard_error": 0.0
        },
        {
          "team": "Mirassol FC",
          "points": 36,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 46.30805,
          "simulation_titles": 0,
          "max_points": 57,
          "mc_standard_error": 0.0
        },
        {
          "team": "Coritiba FBC",
          "points": 39,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 46.2601,
          "simulation_titles": 0,
          "max_points": 60,
          "mc_standard_error": 0.0
        },
        {
          "team": "EC Vitória",
          "points": 37,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 45.4956,
          "simulation_titles": 0,
          "max_points": 58,
          "mc_standard_error": 0.0
        },
        {
          "team": "CR Vasco da Gama",
          "points": 35,
          "played": 30,
          "title_probability": 0.0,
          "expected_points": 45.2245,
          "simulation_titles": 0,
          "max_points": 59,
          "mc_standard_error": 0.0
        },
        {
          "team": "SC Corinthians Paulista",
          "points": 33,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 42.06775,
          "simulation_titles": 0,
          "max_points": 54,
          "mc_standard_error": 0.0
        },
        {
          "team": "SC Internacional",
          "points": 32,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 41.6312,
          "simulation_titles": 0,
          "max_points": 53,
          "mc_standard_error": 0.0
        },
        {
          "team": "Grêmio FBPA",
          "points": 31,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 39.1146,
          "simulation_titles": 0,
          "max_points": 52,
          "mc_standard_error": 0.0
        },
        {
          "team": "Clube do Remo",
          "points": 26,
          "played": 31,
          "title_probability": 0.0,
          "expected_points": 33.17545,
          "simulation_titles": 0,
          "max_points": 47,
          "mc_standard_error": 0.0
        },
        {
          "team": "Chapecoense AF",
          "points": 18,
          "played": 30,
          "title_probability": 0.0,
          "expected_points": 24.04845,
          "simulation_titles": 0,
          "max_points": 42,
          "mc_standard_error": 0.0
        }
      ],
      "postponed": 1,
      "status": "experimental",
      "limitations": "Simulação condicional a parâmetros fixos; não inclui lesões ou transferências. Confronto direto e cartões não modelados; empate residual sorteado."
    },
    "validation": {
      "model": "poisson-ridge-v1",
      "n": 780,
      "folds": [
        {
          "cutoff": "2023-07-01",
          "train_last": "2023-06-26",
          "train_n": 2020,
          "test_n": 260,
          "brier": 0.6249984872827996
        },
        {
          "cutoff": "2024-07-01",
          "train_last": "2024-06-30",
          "train_n": 2404,
          "test_n": 256,
          "brier": 0.6258222646886893
        },
        {
          "cutoff": "2025-07-01",
          "train_last": "2025-06-12",
          "train_n": 2776,
          "test_n": 264,
          "brier": 0.5856016557551295
        }
      ],
      "brier": 0.6119345430425469,
      "log_loss": 1.0207815472975177,
      "baseline_brier": 0.6364455811981895,
      "baseline_log_loss": 1.0559637398657185,
      "reliability": [
        {
          "bin": 0.0,
          "n": 9,
          "predicted": 0.08154583196667992,
          "observed": 0.2222222222222222
        },
        {
          "bin": 0.1,
          "n": 209,
          "predicted": 0.16351561247058508,
          "observed": 0.13875598086124402
        },
        {
          "bin": 0.2,
          "n": 1044,
          "predicted": 0.2591894432207651,
          "observed": 0.2557471264367816
        },
        {
          "bin": 0.3,
          "n": 452,
          "predicted": 0.3438314885994463,
          "observed": 0.3584070796460177
        },
        {
          "bin": 0.4,
          "n": 343,
          "predicted": 0.4470622332105569,
          "observed": 0.41690962099125367
        },
        {
          "bin": 0.5,
          "n": 180,
          "predicted": 0.5457680282320105,
          "observed": 0.5888888888888889
        },
        {
          "bin": 0.6,
          "n": 87,
          "predicted": 0.6407673955817299,
          "observed": 0.6896551724137931
        },
        {
          "bin": 0.7,
          "n": 16,
          "predicted": 0.7348974029953593,
          "observed": 0.6875
        }
      ],
      "limitations": "Cortes fixos em julho; sem tuning no teste. Métrica 1X2 não valida a probabilidade de título."
    },
    "status": "experimental",
    "source_url": "https://github.com/openfootball/south-america",
    "limitations": "Modelo de gols sem escalações/lesões. Validado em 1X2, ainda sem validação de probabilidade de título."
  },
  "ufc": {
    "cards": [
      {
        "id": "13224",
        "event": "UFC 333",
        "starts_at": "2026-10-24T18:00:00+00:00",
        "red": {
          "name": "Bolaji Oki",
          "country": "Bélgica"
        },
        "blue": {
          "name": "Daniel Santos",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-333",
        "source_sha256": "f677b6423332ed7c803c030f2afe7008be3c3665042f89cb63f418642a04a368",
        "retrieved_at": "2026-10-21T13:16:01.213341+00:00",
        "probability_red": 0.4474849870696128,
        "history_lag_days": 4,
        "sample_red": 5,
        "sample_blue": 6,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13226",
        "event": "UFC 333",
        "starts_at": "2026-10-24T18:00:00+00:00",
        "red": {
          "name": "Iasmin Lucindo",
          "country": "Brasil"
        },
        "blue": {
          "name": "Nicolle Caliari",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-333",
        "source_sha256": "f677b6423332ed7c803c030f2afe7008be3c3665042f89cb63f418642a04a368",
        "retrieved_at": "2026-10-21T13:16:01.213341+00:00",
        "probability_red": 0.5684379478409085,
        "history_lag_days": 4,
        "sample_red": 7,
        "sample_blue": 3,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13133",
        "event": "UFC Fight Night",
        "starts_at": "2026-11-01T00:00:00+00:00",
        "red": {
          "name": "Renato Moicano",
          "country": "Brasil"
        },
        "blue": {
          "name": "Tom Nolan",
          "country": "Austrália"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
        "source_sha256": "8788e60cd5031d282cf8045997e116dcaa28f6278fcf666e883803a147208a54",
        "retrieved_at": "2026-10-21T13:16:01.580037+00:00",
        "probability_red": 0.5376544372375084,
        "history_lag_days": 4,
        "sample_red": 20,
        "sample_blue": 6,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13172",
        "event": "UFC Fight Night",
        "starts_at": "2026-11-01T00:00:00+00:00",
        "red": {
          "name": "Randy Brown",
          "country": "Jamaica"
        },
        "blue": {
          "name": "Carlos Leal",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
        "source_sha256": "8788e60cd5031d282cf8045997e116dcaa28f6278fcf666e883803a147208a54",
        "retrieved_at": "2026-10-21T13:16:01.580037+00:00",
        "probability_red": 0.5820053781861222,
        "history_lag_days": 4,
        "sample_red": 22,
        "sample_blue": 4,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13173",
        "event": "UFC Fight Night",
        "starts_at": "2026-11-01T00:00:00+00:00",
        "red": {
          "name": "Yana Santos",
          "country": "Rússia"
        },
        "blue": {
          "name": "Luana Santos",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
        "source_sha256": "8788e60cd5031d282cf8045997e116dcaa28f6278fcf666e883803a147208a54",
        "retrieved_at": "2026-10-21T13:16:01.580037+00:00",
        "probability_red": 0.4613725939842525,
        "history_lag_days": 4,
        "sample_red": 12,
        "sample_blue": 7,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13175",
        "event": "UFC Fight Night",
        "starts_at": "2026-11-01T00:00:00+00:00",
        "red": {
          "name": "Rodrigo Sezinando",
          "country": "Brasil"
        },
        "blue": {
          "name": "Theodor Berggren",
          "country": "Suécia"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
        "source_sha256": "8788e60cd5031d282cf8045997e116dcaa28f6278fcf666e883803a147208a54",
        "retrieved_at": "2026-10-21T13:16:01.580037+00:00",
        "probability_red": null,
        "history_lag_days": 4,
        "sample_red": 1,
        "sample_blue": 1,
        "status": "aguardando_historico_atualizado",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13174",
        "event": "UFC Fight Night",
        "starts_at": "2026-11-01T00:00:00+00:00",
        "red": {
          "name": "Talita Alencar",
          "country": "Brasil"
        },
        "blue": {
          "name": "Piera Rodriguez",
          "country": "Venezuela"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
        "source_sha256": "8788e60cd5031d282cf8045997e116dcaa28f6278fcf666e883803a147208a54",
        "retrieved_at": "2026-10-21T13:16:01.580037+00:00",
        "probability_red": 0.500764340956654,
        "history_lag_days": 4,
        "sample_red": 5,
        "sample_blue": 7,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13117",
        "event": "UFC Fight Night",
        "starts_at": "2026-11-01T00:00:00+00:00",
        "red": {
          "name": "Lucia Szabova",
          "country": "Eslováquia"
        },
        "blue": {
          "name": "Tainara Lisboa",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
        "source_sha256": "8788e60cd5031d282cf8045997e116dcaa28f6278fcf666e883803a147208a54",
        "retrieved_at": "2026-10-21T13:16:01.580037+00:00",
        "probability_red": null,
        "history_lag_days": 4,
        "sample_red": 0,
        "sample_blue": 4,
        "status": "aguardando_historico_atualizado",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "UFC Fight Night",
        "starts_at": "2026-11-08T01:00:00+00:00",
        "red": {
          "name": "Gabriel Bonfim",
          "country": "Brasil"
        },
        "blue": {
          "name": "Sean Brady",
          "country": "Estados Unidos"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
        "source_sha256": "403adf3858460c006d3863563e93c22a176b9a8fc328a4e9b092c69748f1410e",
        "retrieved_at": "2026-10-21T13:16:01.820493+00:00",
        "probability_red": 0.483286919583201,
        "history_lag_days": 4,
        "sample_red": 8,
        "sample_blue": 11,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "UFC Fight Night",
        "starts_at": "2026-11-08T01:00:00+00:00",
        "red": {
          "name": "Tatiana Suarez",
          "country": "Estados Unidos"
        },
        "blue": {
          "name": "Virna Jandiroba",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
        "source_sha256": "403adf3858460c006d3863563e93c22a176b9a8fc328a4e9b092c69748f1410e",
        "retrieved_at": "2026-10-21T13:16:01.820493+00:00",
        "probability_red": 0.538935987296724,
        "history_lag_days": 4,
        "sample_red": 10,
        "sample_blue": 13,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "UFC Fight Night",
        "starts_at": "2026-11-08T01:00:00+00:00",
        "red": {
          "name": "Seokhyeon Ko",
          "country": "Coreia do Sul"
        },
        "blue": {
          "name": "Wellington Turman",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
        "source_sha256": "403adf3858460c006d3863563e93c22a176b9a8fc328a4e9b092c69748f1410e",
        "retrieved_at": "2026-10-21T13:16:01.820493+00:00",
        "probability_red": 0.5619432968463114,
        "history_lag_days": 4,
        "sample_red": 3,
        "sample_blue": 9,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "UFC Fight Night",
        "starts_at": "2026-11-08T01:00:00+00:00",
        "red": {
          "name": "Billy Elekana",
          "country": "Estados Unidos"
        },
        "blue": {
          "name": "Lucas Fernando",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
        "source_sha256": "403adf3858460c006d3863563e93c22a176b9a8fc328a4e9b092c69748f1410e",
        "retrieved_at": "2026-10-21T13:16:01.820493+00:00",
        "probability_red": null,
        "history_lag_days": 4,
        "sample_red": 4,
        "sample_blue": 1,
        "status": "aguardando_historico_atualizado",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "UFC Fight Night",
        "starts_at": "2026-11-08T01:00:00+00:00",
        "red": {
          "name": "Gabriel Lorenco",
          "country": "Brasil"
        },
        "blue": {
          "name": "Alvin Hines",
          "country": "Estados Unidos"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
        "source_sha256": "403adf3858460c006d3863563e93c22a176b9a8fc328a4e9b092c69748f1410e",
        "retrieved_at": "2026-10-21T13:16:01.820493+00:00",
        "probability_red": null,
        "history_lag_days": 4,
        "sample_red": 0,
        "sample_blue": 2,
        "status": "aguardando_historico_atualizado",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "UFC Fight Night",
        "starts_at": "2026-11-08T01:00:00+00:00",
        "red": {
          "name": "Karine Silva",
          "country": "Brasil"
        },
        "blue": {
          "name": "Gabriella Fernandes",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
        "source_sha256": "403adf3858460c006d3863563e93c22a176b9a8fc328a4e9b092c69748f1410e",
        "retrieved_at": "2026-10-21T13:16:01.820493+00:00",
        "probability_red": 0.5317145166515601,
        "history_lag_days": 4,
        "sample_red": 8,
        "sample_blue": 6,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "UFC Fight Night",
        "starts_at": "2026-11-08T01:00:00+00:00",
        "red": {
          "name": "Jose Delano",
          "country": "Brasil"
        },
        "blue": {
          "name": "Murtazali Magomedov",
          "country": "Quirguistão"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
        "source_sha256": "403adf3858460c006d3863563e93c22a176b9a8fc328a4e9b092c69748f1410e",
        "retrieved_at": "2026-10-21T13:16:01.820493+00:00",
        "probability_red": null,
        "history_lag_days": 4,
        "sample_red": 1,
        "sample_blue": 1,
        "status": "aguardando_historico_atualizado",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "UFC Fight Night",
        "starts_at": "2026-11-08T01:00:00+00:00",
        "red": {
          "name": "Priscila Cachoeira",
          "country": "Brasil"
        },
        "blue": {
          "name": "Nina Milošević",
          "country": "Sérvia"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
        "source_sha256": "403adf3858460c006d3863563e93c22a176b9a8fc328a4e9b092c69748f1410e",
        "retrieved_at": "2026-10-21T13:16:01.820493+00:00",
        "probability_red": null,
        "history_lag_days": 4,
        "sample_red": 14,
        "sample_blue": 0,
        "status": "aguardando_historico_atualizado",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "UFC Fight Night",
        "starts_at": "2026-11-08T01:00:00+00:00",
        "red": {
          "name": "Jonny Parsons",
          "country": "Estados Unidos"
        },
        "blue": {
          "name": "José Souza",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
        "source_sha256": "403adf3858460c006d3863563e93c22a176b9a8fc328a4e9b092c69748f1410e",
        "retrieved_at": "2026-10-21T13:16:01.820493+00:00",
        "probability_red": null,
        "history_lag_days": 4,
        "sample_red": 1,
        "sample_blue": 0,
        "status": "aguardando_historico_atualizado",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "Polymarket UFC 334",
        "starts_at": "2026-11-15T02:00:00+00:00",
        "red": {
          "name": "Kayla Harrison",
          "country": "Estados Unidos"
        },
        "blue": {
          "name": "Amanda Nunes",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-334",
        "source_sha256": "5403064be71c1303f3d7c9af0103f4357343600f68a1d25e159a808480c70935",
        "retrieved_at": "2026-10-21T13:16:02.067145+00:00",
        "probability_red": 0.3590836580530901,
        "history_lag_days": 4,
        "sample_red": 3,
        "sample_blue": 18,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "Polymarket UFC 334",
        "starts_at": "2026-11-15T02:00:00+00:00",
        "red": {
          "name": "Caio Borralho",
          "country": "Brasil"
        },
        "blue": {
          "name": "Yousri Belgaroui",
          "country": "Países Baixos"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-334",
        "source_sha256": "5403064be71c1303f3d7c9af0103f4357343600f68a1d25e159a808480c70935",
        "retrieved_at": "2026-10-21T13:16:02.067145+00:00",
        "probability_red": 0.5622738836137904,
        "history_lag_days": 4,
        "sample_red": 9,
        "sample_blue": 3,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "Polymarket UFC 334",
        "starts_at": "2026-11-15T02:00:00+00:00",
        "red": {
          "name": "Macy Chiasson",
          "country": "Estados Unidos"
        },
        "blue": {
          "name": "Bia Mesquita",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-334",
        "source_sha256": "5403064be71c1303f3d7c9af0103f4357343600f68a1d25e159a808480c70935",
        "retrieved_at": "2026-10-21T13:16:02.067145+00:00",
        "probability_red": 0.47372567838301266,
        "history_lag_days": 4,
        "sample_red": 14,
        "sample_blue": 3,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": null,
        "event": "Polymarket UFC 334",
        "starts_at": "2026-11-15T02:00:00+00:00",
        "red": {
          "name": "Nazim Sadykhov",
          "country": "Azerbaijão"
        },
        "blue": {
          "name": "Jefferson Nascimento",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-334",
        "source_sha256": "5403064be71c1303f3d7c9af0103f4357343600f68a1d25e159a808480c70935",
        "retrieved_at": "2026-10-21T13:16:02.067145+00:00",
        "probability_red": null,
        "history_lag_days": 4,
        "sample_red": 7,
        "sample_blue": 1,
        "status": "aguardando_historico_atualizado",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13200",
        "event": "UFC Fight Night",
        "starts_at": "2026-11-21T18:00:00+00:00",
        "red": {
          "name": "Shamil Gaziev",
          "country": "Barein"
        },
        "blue": {
          "name": "Tallison Teixeira",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-21-2026",
        "source_sha256": "f4e70aea87a53c673a85b324d2a53b5b1b0a954134ba1934ec6e9b5416026ca3",
        "retrieved_at": "2026-10-21T13:16:02.299840+00:00",
        "probability_red": 0.5166058261878671,
        "history_lag_days": 4,
        "sample_red": 7,
        "sample_blue": 4,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13196",
        "event": "UFC Fight Night",
        "starts_at": "2026-11-21T18:00:00+00:00",
        "red": {
          "name": "Amir Albazi",
          "country": "Iraque"
        },
        "blue": {
          "name": "Alessandro Costa",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-21-2026",
        "source_sha256": "f4e70aea87a53c673a85b324d2a53b5b1b0a954134ba1934ec6e9b5416026ca3",
        "retrieved_at": "2026-10-21T13:16:02.299840+00:00",
        "probability_red": 0.5147209629422118,
        "history_lag_days": 4,
        "sample_red": 7,
        "sample_blue": 8,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13207",
        "event": "UFC 335",
        "starts_at": "2026-12-13T02:00:00+00:00",
        "red": {
          "name": "Charles Oliveira",
          "country": "Brasil"
        },
        "blue": {
          "name": "Diego Lopes",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-335",
        "source_sha256": "9442d65ac5cbd9f2f3337304ef6842cac714fdcbfc8897000f2daddf8d40d58c",
        "retrieved_at": "2026-10-21T13:16:02.588420+00:00",
        "probability_red": 0.6258981373214163,
        "history_lag_days": 4,
        "sample_red": 36,
        "sample_blue": 10,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      },
      {
        "id": "13208",
        "event": "UFC 335",
        "starts_at": "2026-12-13T02:00:00+00:00",
        "red": {
          "name": "Sergei Pavlovich",
          "country": "Rússia"
        },
        "blue": {
          "name": "Alex Pereira",
          "country": "Brasil"
        },
        "source_url": "https://www.ufc.com.br/event/ufc-335",
        "source_sha256": "9442d65ac5cbd9f2f3337304ef6842cac714fdcbfc8897000f2daddf8d40d58c",
        "retrieved_at": "2026-10-21T13:16:02.588420+00:00",
        "probability_red": 0.48098227743454214,
        "history_lag_days": 4,
        "sample_red": 12,
        "sample_blue": 13,
        "status": "experimental",
        "limitation": "Probabilidade condicionada a resultado decisivo. Empate/no contest cancela a pergunta. Histórico desatualizado ou atleta com menos de 3 lutas bloqueia publicação numérica."
      }
    ],
    "validation": {
      "n": 1474,
      "since": "2024-01-01",
      "model": "elo-k24-v1",
      "brier": 0.2461412715650418,
      "baseline_brier": 0.25,
      "log_loss": 0.6853741380732291,
      "baseline_log_loss": 0.6931471805599453,
      "limitations": "Teste prequential: cada luta usa só datas anteriores. Empates excluídos das métricas binárias. Hiperparâmetros fixos, sem tuning no teste."
    },
    "history_last_date": "2026-10-17",
    "history_count": 8857,
    "source_url": "https://github.com/benyamindsmith/fightr"
  },
  "bjj": {
    "podium_count": 2874,
    "events": 40,
    "year_start": 2016,
    "champions": [
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Rooster (127.00lb)",
        "place": 1,
        "athlete": "Michael Jalen B. Fonacier",
        "academy": "Alliance",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Light Feather (141.60lb)",
        "place": 1,
        "athlete": "Diego Oliveira Batista",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Feather (154.60lb)",
        "place": 1,
        "athlete": "Cole Anthony Abate",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Light (168.00lb)",
        "place": 1,
        "athlete": "Matheus Gabriel Pinheiro Barros",
        "academy": "CheckMat",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Middle (181.60lb)",
        "place": 1,
        "athlete": "Tainan Dalpra Costa",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Medium Heavy (195.00lb)",
        "place": 1,
        "athlete": "Jansen Gomes Ramos",
        "academy": "CheckMat",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Heavy (208.00lb)",
        "place": 1,
        "athlete": "Nicholas Maglicic",
        "academy": "Atos Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Super Heavy (222.00lb)",
        "place": 1,
        "athlete": "Vinicius Liberati",
        "academy": "Soldiers Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Ultra Heavy",
        "place": 1,
        "athlete": "Seif-Eddine Houmine",
        "academy": "GF Team",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Open Class",
        "place": 1,
        "athlete": "Erich Munis dos Santos",
        "academy": "Soldiers Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Rooster (107.00lb)",
        "place": 1,
        "athlete": "Mayssa Caldas Pereira Bastos",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Light Feather (118.00lb)",
        "place": 1,
        "athlete": "Ashlee Funegra",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Feather (129.00lb)",
        "place": 1,
        "athlete": "Sabrina Rogéria Ataide B. Gondim",
        "academy": "Fight Sports",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Light (141.60lb)",
        "place": 1,
        "athlete": "Janaina Maia de Menezes",
        "academy": "Alliance",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Middle (152.60lb)",
        "place": 1,
        "athlete": "Lillian Jane Marchand",
        "academy": "Atos Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Medium Heavy (163.60lb)",
        "place": 1,
        "athlete": "Thamara Ferreira Silva",
        "academy": "UAE Jiu-Jitsu Team",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Heavy (175.00lb)",
        "place": 1,
        "athlete": "Larissa Dias de Almeida",
        "academy": "Elementum Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Super Heavy",
        "place": 1,
        "athlete": "Gabrieli Pessanha de Souza Marinho",
        "academy": "Infight Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "World Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Open Class",
        "place": 1,
        "athlete": "Gabrieli Pessanha de Souza Marinho",
        "academy": "Infight Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3171/results",
        "source_sha256": "599793acdd2a80ee9372a2a810f43f88bb50de4f6ea647a4c8594870ffa8b97a"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Rooster (57.50kg)",
        "place": 1,
        "athlete": "Michael Jalen B. Fonacier",
        "academy": "Alliance",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Light Feather (64.00kg)",
        "place": 1,
        "athlete": "Diego Oliveira Batista",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Feather (70.00kg)",
        "place": 1,
        "athlete": "Kennedy Leonardo N Maciel",
        "academy": "Alliance",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Light (76.00kg)",
        "place": 1,
        "athlete": "William James Wilson",
        "academy": "Carlson Gracie Team",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Middle (82.30kg)",
        "place": 1,
        "athlete": "Tainan Dalpra Costa",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Medium Heavy (88.30kg)",
        "place": 1,
        "athlete": "Francisco Eduardo Alves Costa",
        "academy": "Alliance",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Heavy (94.30kg)",
        "place": 1,
        "athlete": "Leonardo Silveira Ferreira",
        "academy": "Alliance",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Super Heavy (100.50kg)",
        "place": 1,
        "athlete": "Vinicius Liberati",
        "academy": "Soldiers Brazilian Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Ultra Heavy",
        "place": 1,
        "athlete": "Seif-Eddine Houmine",
        "academy": "GF Team",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Open Class",
        "place": 1,
        "athlete": "Gabriel de Sousa Ribeiro",
        "academy": "Soldiers Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Rooster (48.50kg)",
        "place": 1,
        "athlete": "Thaís Loureiro Felipe",
        "academy": "Atos Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Light Feather (53.50kg)",
        "place": 1,
        "athlete": "Ashlee Funegra",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Feather (58.50kg)",
        "place": 1,
        "athlete": "Cassia Moura Remesar",
        "academy": "LEAD BJJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Light (64.00kg)",
        "place": 1,
        "athlete": "Sarah C. Firme Galvao",
        "academy": "Atos Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Middle (69.00kg)",
        "place": 1,
        "athlete": "Larissa Martins dos Santos",
        "academy": "DreamArt",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Medium Heavy (74.00kg)",
        "place": 1,
        "athlete": "Denise Krahn",
        "academy": "Hilti BJJ Berlin",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Heavy (79.30kg)",
        "place": 1,
        "athlete": "Yara Soares do Nascimento",
        "academy": "Fratres Brazilian Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Super Heavy",
        "place": 1,
        "athlete": "Gabrieli Pessanha de Souza Marinho",
        "academy": "Infight JJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "European Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Open Class",
        "place": 1,
        "athlete": "Gabrieli Pessanha de Souza Marinho",
        "academy": "Infight JJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/2926/results",
        "source_sha256": "380ab4c8a1c9fc551d63f81dec0fcd562c334ac23afb6d1c1fd7b05586fbb100"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Rooster (127.00lb)",
        "place": 1,
        "athlete": "Marcos Antonio Gomes Guedes",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Light Feather (141.60lb)",
        "place": 1,
        "athlete": "Diego Oliveira Batista",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Feather (154.60lb)",
        "place": 1,
        "athlete": "Cole Anthony Abate",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Light (168.00lb)",
        "place": 1,
        "athlete": "Jackson Nagai Hatchwell Junior",
        "academy": "CheckMat",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Middle (181.60lb)",
        "place": 1,
        "athlete": "Tainan Dalpra Costa",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Medium Heavy (195.00lb)",
        "place": 1,
        "athlete": "Enderson Dias de Almeida",
        "academy": "Elementum Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Heavy (208.00lb)",
        "place": 1,
        "athlete": "Luiz Felipe Assis dos Santos",
        "academy": "Alliance",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Super Heavy (222.00lb)",
        "place": 1,
        "athlete": "Nolan Patrick Braga Stuart",
        "academy": "Brea Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Ultra Heavy",
        "place": 1,
        "athlete": "Seif-Eddine Houmine",
        "academy": "GF Team",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Male / Adult / Black / Open Class",
        "place": 1,
        "athlete": "Gabriel de Sousa Ribeiro",
        "academy": "Soldiers Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Rooster (107.00lb)",
        "place": 1,
        "athlete": "Ana Carolina de Andrade Lima Soares da Silva",
        "academy": "Fight Sports",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Light Feather (118.00lb)",
        "place": 1,
        "athlete": "Mayssa Caldas Pereira Bastos",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Feather (129.00lb)",
        "place": 1,
        "athlete": "Margot Ciccarelli",
        "academy": "AOJ",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Light (141.60lb)",
        "place": 1,
        "athlete": "Sarah C. Firme Galvao",
        "academy": "Atos Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Middle (152.60lb)",
        "place": 1,
        "athlete": "Lillian Jane Marchand",
        "academy": "Atos Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Medium Heavy (163.60lb)",
        "place": 1,
        "athlete": "Elizabeth Katherine Mitrovic",
        "academy": "Alliance",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Heavy (175.00lb)",
        "place": 1,
        "athlete": "Larissa Dias de Almeida",
        "academy": "Elementum Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Super Heavy",
        "place": 1,
        "athlete": "Gabrieli Pessanha de Souza Marinho",
        "academy": "Infight Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      },
      {
        "event": "Pan Jiu-Jitsu IBJJF Championship",
        "year": 2026,
        "category": "Female / Adult / Black / Open Class",
        "place": 1,
        "athlete": "Sarah C. Firme Galvao",
        "academy": "Atos Jiu-Jitsu",
        "nationality": null,
        "source_url": "https://ibjjf.com/events/3061/results",
        "source_sha256": "88d90ef4276679f5f8beca1b29617342240d72c81e2aa4ea1547e4f73bda7273"
      }
    ],
    "status": "base_historica_sem_modelo_preditivo",
    "limitations": "Pódios oficiais, sem inferir nacionalidade pelo nome. Identidades abreviadas não são unificadas. Sem confrontos e inscritos confirmados, não se publica probabilidade de título."
  },
  "markets": [
    {
      "id": "heat-rio-2026-10-22",
      "category": "Clima",
      "question": "Rio de Janeiro terá máxima acima de 45°C em 22/10?",
      "subtitle": "INMET A621 · Vila Militar",
      "probability": null,
      "closes_at": "2026-10-22T00:00:00-03:00",
      "resolves_at": "2026-10-23T00:00:00-03:00",
      "resolution_rule": "Máxima diária do ar na estação INMET A621, em America/Sao_Paulo; estritamente maior que 45,0°C. Exige todas as horas válidas do dia; se incompleto ou estação indisponível, cancelar. Sensação térmica não entra.",
      "source_url": "https://portal.inmet.gov.br/dadoshistoricos",
      "status": "sem_probabilidade_calibrada"
    },
    {
      "id": "heat-sao-paulo-2026-10-22",
      "category": "Clima",
      "question": "São Paulo terá máxima acima de 45°C em 22/10?",
      "subtitle": "INMET A701 · Mirante de Santana",
      "probability": null,
      "closes_at": "2026-10-22T00:00:00-03:00",
      "resolves_at": "2026-10-23T00:00:00-03:00",
      "resolution_rule": "Máxima diária do ar na estação INMET A701, em America/Sao_Paulo; estritamente maior que 45,0°C. Exige todas as horas válidas do dia; se incompleto ou estação indisponível, cancelar. Sensação térmica não entra.",
      "source_url": "https://portal.inmet.gov.br/dadoshistoricos",
      "status": "sem_probabilidade_calibrada"
    },
    {
      "id": "title-2026-4b5e13a81c",
      "category": "Futebol",
      "question": "CR Flamengo será campeão do Brasileirão 2026?",
      "subtitle": "20.000 simulações · 71 jogos restantes",
      "probability": 0.62515,
      "closes_at": "2026-10-23T00:00:00-03:00",
      "resolves_at": "2026-12-10T00:00:00-03:00",
      "resolution_rule": "Sim se o clube for declarado campeão da Série A pela CBF. Aguardar homologação; suspensão ou anulação sem campeão cancela a pergunta. Desempates do simulador são aproximações e não alteram esta regra oficial.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "title-2026-18c897183a",
      "category": "Futebol",
      "question": "SE Palmeiras será campeão do Brasileirão 2026?",
      "subtitle": "20.000 simulações · 71 jogos restantes",
      "probability": 0.37485,
      "closes_at": "2026-10-23T00:00:00-03:00",
      "resolves_at": "2026-12-10T00:00:00-03:00",
      "resolution_rule": "Sim se o clube for declarado campeão da Série A pela CBF. Aguardar homologação; suspensão ou anulação sem campeão cancela a pergunta. Desempates do simulador são aproximações e não alteram esta regra oficial.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "football-a15488057dd0c3b14fd4-2026-10-23",
      "category": "Futebol",
      "question": "Cruzeiro EC vence Clube do Remo em 23/10?",
      "subtitle": "Brasileirão Série A · vitória no tempo regulamentar",
      "probability": 0.6445378998300396,
      "closes_at": "2026-10-23T00:00:00-03:00",
      "resolves_at": "2026-10-24T00:00:00-03:00",
      "resolution_rule": "Sim se o mandante vencer no tempo regulamentar, incluindo acréscimos. Empate vale Não. Resultado deve ser confirmado em súmula CBF. Adiamento ou cancelamento cancela a pergunta; mudança da data exige nova pergunta.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "football-04699b376b727bd85f60-2026-10-24",
      "category": "Futebol",
      "question": "Chapecoense AF vence Fluminense FC em 24/10?",
      "subtitle": "Brasileirão Série A · vitória no tempo regulamentar",
      "probability": 0.22140870780142521,
      "closes_at": "2026-10-24T00:00:00-03:00",
      "resolves_at": "2026-10-25T00:00:00-03:00",
      "resolution_rule": "Sim se o mandante vencer no tempo regulamentar, incluindo acréscimos. Empate vale Não. Resultado deve ser confirmado em súmula CBF. Adiamento ou cancelamento cancela a pergunta; mudança da data exige nova pergunta.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "football-b3f1c9e0b55cc12e1687-2026-10-24",
      "category": "Futebol",
      "question": "SC Internacional vence Botafogo FR em 24/10?",
      "subtitle": "Brasileirão Série A · vitória no tempo regulamentar",
      "probability": 0.3978986455559855,
      "closes_at": "2026-10-24T00:00:00-03:00",
      "resolves_at": "2026-10-25T00:00:00-03:00",
      "resolution_rule": "Sim se o mandante vencer no tempo regulamentar, incluindo acréscimos. Empate vale Não. Resultado deve ser confirmado em súmula CBF. Adiamento ou cancelamento cancela a pergunta; mudança da data exige nova pergunta.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "football-db2d5eadb1922f2419b5-2026-10-24",
      "category": "Futebol",
      "question": "Mirassol FC vence São Paulo FC em 24/10?",
      "subtitle": "Brasileirão Série A · vitória no tempo regulamentar",
      "probability": 0.4861085274855474,
      "closes_at": "2026-10-24T00:00:00-03:00",
      "resolves_at": "2026-10-25T00:00:00-03:00",
      "resolution_rule": "Sim se o mandante vencer no tempo regulamentar, incluindo acréscimos. Empate vale Não. Resultado deve ser confirmado em súmula CBF. Adiamento ou cancelamento cancela a pergunta; mudança da data exige nova pergunta.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "football-a3ad154d48cdded490ce-2026-10-24",
      "category": "Futebol",
      "question": "SE Palmeiras vence RB Bragantino em 24/10?",
      "subtitle": "Brasileirão Série A · vitória no tempo regulamentar",
      "probability": 0.677529806741084,
      "closes_at": "2026-10-24T00:00:00-03:00",
      "resolves_at": "2026-10-25T00:00:00-03:00",
      "resolution_rule": "Sim se o mandante vencer no tempo regulamentar, incluindo acréscimos. Empate vale Não. Resultado deve ser confirmado em súmula CBF. Adiamento ou cancelamento cancela a pergunta; mudança da data exige nova pergunta.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "football-9feac2929e3a293105c0-2026-10-24",
      "category": "Futebol",
      "question": "Santos FC vence EC Bahia em 24/10?",
      "subtitle": "Brasileirão Série A · vitória no tempo regulamentar",
      "probability": 0.4654214936296165,
      "closes_at": "2026-10-24T00:00:00-03:00",
      "resolves_at": "2026-10-25T00:00:00-03:00",
      "resolution_rule": "Sim se o mandante vencer no tempo regulamentar, incluindo acréscimos. Empate vale Não. Resultado deve ser confirmado em súmula CBF. Adiamento ou cancelamento cancela a pergunta; mudança da data exige nova pergunta.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "football-84474bf125e91f294f75-2026-10-24",
      "category": "Futebol",
      "question": "CR Vasco da Gama vence SC Corinthians Paulista em 24/10?",
      "subtitle": "Brasileirão Série A · vitória no tempo regulamentar",
      "probability": 0.4464522052757326,
      "closes_at": "2026-10-24T00:00:00-03:00",
      "resolves_at": "2026-10-25T00:00:00-03:00",
      "resolution_rule": "Sim se o mandante vencer no tempo regulamentar, incluindo acréscimos. Empate vale Não. Resultado deve ser confirmado em súmula CBF. Adiamento ou cancelamento cancela a pergunta; mudança da data exige nova pergunta.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "football-e724980ad4e103736f29-2026-10-24",
      "category": "Futebol",
      "question": "EC Vitória vence CA Paranaense em 24/10?",
      "subtitle": "Brasileirão Série A · vitória no tempo regulamentar",
      "probability": 0.346857477592155,
      "closes_at": "2026-10-24T00:00:00-03:00",
      "resolves_at": "2026-10-25T00:00:00-03:00",
      "resolution_rule": "Sim se o mandante vencer no tempo regulamentar, incluindo acréscimos. Empate vale Não. Resultado deve ser confirmado em súmula CBF. Adiamento ou cancelamento cancela a pergunta; mudança da data exige nova pergunta.",
      "source_url": "https://www.cbf.com.br/",
      "status": "experimental"
    },
    {
      "id": "ufc-13224",
      "category": "UFC",
      "question": "Daniel Santos vence Bolaji Oki?",
      "subtitle": "UFC 333",
      "probability": 0.5525150129303872,
      "closes_at": "2026-10-23T18:00:00+00:00",
      "resolves_at": "2026-10-25T18:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-333",
      "status": "experimental"
    },
    {
      "id": "ufc-13226",
      "category": "UFC",
      "question": "Iasmin Lucindo vence Nicolle Caliari?",
      "subtitle": "UFC 333",
      "probability": 0.5684379478409085,
      "closes_at": "2026-10-23T18:00:00+00:00",
      "resolves_at": "2026-10-25T18:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-333",
      "status": "experimental"
    },
    {
      "id": "ufc-13133",
      "category": "UFC",
      "question": "Renato Moicano vence Tom Nolan?",
      "subtitle": "UFC Fight Night",
      "probability": 0.5376544372375084,
      "closes_at": "2026-10-31T00:00:00+00:00",
      "resolves_at": "2026-11-02T00:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
      "status": "experimental"
    },
    {
      "id": "ufc-13172",
      "category": "UFC",
      "question": "Carlos Leal vence Randy Brown?",
      "subtitle": "UFC Fight Night",
      "probability": 0.4179946218138778,
      "closes_at": "2026-10-31T00:00:00+00:00",
      "resolves_at": "2026-11-02T00:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
      "status": "experimental"
    },
    {
      "id": "ufc-13173",
      "category": "UFC",
      "question": "Luana Santos vence Yana Santos?",
      "subtitle": "UFC Fight Night",
      "probability": 0.5386274060157474,
      "closes_at": "2026-10-31T00:00:00+00:00",
      "resolves_at": "2026-11-02T00:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
      "status": "experimental"
    },
    {
      "id": "ufc-13175",
      "category": "UFC",
      "question": "Rodrigo Sezinando vence Theodor Berggren?",
      "subtitle": "UFC Fight Night",
      "probability": null,
      "closes_at": "2026-10-31T00:00:00+00:00",
      "resolves_at": "2026-11-02T00:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
      "status": "aguardando_historico_atualizado"
    },
    {
      "id": "ufc-13174",
      "category": "UFC",
      "question": "Talita Alencar vence Piera Rodriguez?",
      "subtitle": "UFC Fight Night",
      "probability": 0.500764340956654,
      "closes_at": "2026-10-31T00:00:00+00:00",
      "resolves_at": "2026-11-02T00:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
      "status": "experimental"
    },
    {
      "id": "ufc-13117",
      "category": "UFC",
      "question": "Tainara Lisboa vence Lucia Szabova?",
      "subtitle": "UFC Fight Night",
      "probability": null,
      "closes_at": "2026-10-31T00:00:00+00:00",
      "resolves_at": "2026-11-02T00:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-october-31-2026",
      "status": "aguardando_historico_atualizado"
    },
    {
      "id": "ufc-derived-42680035d351df94ad101024",
      "category": "UFC",
      "question": "Gabriel Bonfim vence Sean Brady?",
      "subtitle": "UFC Fight Night",
      "probability": 0.483286919583201,
      "closes_at": "2026-11-07T01:00:00+00:00",
      "resolves_at": "2026-11-09T01:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
      "status": "experimental"
    },
    {
      "id": "ufc-derived-a40b7852b547639c10b77b32",
      "category": "UFC",
      "question": "Virna Jandiroba vence Tatiana Suarez?",
      "subtitle": "UFC Fight Night",
      "probability": 0.461064012703276,
      "closes_at": "2026-11-07T01:00:00+00:00",
      "resolves_at": "2026-11-09T01:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
      "status": "experimental"
    },
    {
      "id": "ufc-derived-f1412bfabe273913d5536b22",
      "category": "UFC",
      "question": "Wellington Turman vence Seokhyeon Ko?",
      "subtitle": "UFC Fight Night",
      "probability": 0.4380567031536886,
      "closes_at": "2026-11-07T01:00:00+00:00",
      "resolves_at": "2026-11-09T01:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
      "status": "experimental"
    },
    {
      "id": "ufc-derived-2745a2294b76d65cdef1fa9a",
      "category": "UFC",
      "question": "Lucas Fernando vence Billy Elekana?",
      "subtitle": "UFC Fight Night",
      "probability": null,
      "closes_at": "2026-11-07T01:00:00+00:00",
      "resolves_at": "2026-11-09T01:00:00+00:00",
      "resolution_rule": "Resultado oficial da luta UFC indicada. Empate, no contest, mudança de adversário ou adiamento cancela a pergunta. Elo condicionado a resultado decisivo.",
      "source_url": "https://www.ufc.com.br/event/ufc-fight-night-november-07-2026",
      "status": "aguardando_historico_atualizado"
    }
  ],
  "quality": [
    {
      "source": "aifs-ens",
      "last_data": "2026-10-21T06:00:00+00:00",
      "rows": 2400,
      "note": "Ensemble não calibrado; 50 membros perturbados, sem membro de controle."
    },
    {
      "source": "INMET",
      "last_data": "2026-09-30",
      "rows": 188448,
      "note": "0 falhas anuais; faltantes preservados."
    },
    {
      "source": "Futebol: resultados",
      "last_data": "2026-10-19",
      "rows": 3349,
      "note": "Calendário 2026 reconciliado com Globo/Cartola. Adiamentos explícitos preservados."
    },
    {
      "source": "UFC: histórico",
      "last_data": "2026-10-17",
      "rows": 8857,
      "note": "Histórico secundário fightr/UFCStats; cards oficiais UFC."
    }
  ],
  "flood": {
    "status": "aguardando_dados_hidrologicos_e_validacao",
    "message": "Enchentes precisam de um modelo por bacia: chuva, nível do rio, umidade do solo, relevo e drenagem.",
    "requirements": [
      "Bacia e estação-alvo",
      "Série de níveis/vazões",
      "Histórico de inundações e limiar local",
      "Validação de falsos alarmes e eventos não detectados"
    ],
    "official_links": [
      {
        "name": "Cemaden",
        "url": "https://www.gov.br/cemaden/pt-br"
      },
      {
        "name": "Defesa Civil SP",
        "url": "https://www.defesacivil.sp.gov.br/"
      },
      {
        "name": "Alerta Rio",
        "url": "https://www.sistema-alerta-rio.com.br/"
      }
    ]
  },
  "counts": {
    "weather_points": 2400,
    "observations_daily": 7854,
    "football_matches": 3420,
    "football_validation": 780,
    "ufc_fights": 8857,
    "ufc_cards": 25,
    "bjj_podiums": 2874
  },
  "fingerprint": "a48f435ae1b0f3de11d0db9c6cfaae2cf3133fe1ce54626a10c63d7bc0a7e3e1"
}
