O texto abaixo — sobretudo o item B ("O mínimo de 4 anos segue sendo o canônico") e as referências a "o run canônico" ao longo da página — ficou desatualizado em 01/09/2026: o autor resolveu o IMP-ELEG, baixando a elegibilidade mínima de 4 para 2 anos, e o canônico do Capítulo 5 passou a ser e1-20260804-175333 (min2); e1-20260729-122616 (min4), o run que esta página trata como canônico — na escada, nos segmentos, na anomalia do Ceará e na validação do ARIMA —, desceu a análise de sensibilidade. Os números não ficaram errados: continuam válidos para o regime de elegibilidade que descrevem, e são a base do próprio achado da página — que a elegibilidade é o degrau que inverte o sinal entre retroativa e escalonada. No item B os papéis se invertem com a virada: a coluna "mín. 4", chamada de canônica no texto, é hoje a sensibilidade; a coluna "mín. 2", chamada de "rodada de sensibilidade", é hoje o canônico. Como a elegibilidade muda quais séries entram, ler as duas colunas continua sendo comparação de direção — o 3º e o 4º ano voltam a existir e a escalonada volta a vencer nas etapas iniciais —, não de nível. Estado atualizado: Panorama da pesquisa e o registry (registry_experimentos.yml, blocos_experimentais.yml). Três números da auditoria de 04/08 não foram reproduzidos e estão marcados como tal no texto. A causa mecânica da descontinuidade de 2018 segue indeterminada.
O Capítulo 5 afirma que a representação escalonada vence globalmente; o run canônico de julho afirma o contrário. As duas frases descrevem agregados de conjuntos diferentes, e a pergunta útil não é qual está certa, mas para onde a métrica foi. Esta página responde decompondo a diferença: cada degrau abaixo aplica um filtro a mais ao universo da qualificação, até ele coincidir com o do pipeline.
MAE da retroativa, de 9,54 para 9,80 — rede, anos e etapas somados
MAE da escalonada, num único degrau
todos no mesmo degrau, nenhum antes
a qualificação cobria 75.353 das 146.885 escolas
A escada de alinhamento
Sete degraus, do universo publicado na qualificação até o run canônico. A leitura que interessa é a forma das duas curvas: quase planas por seis degraus, e um salto.
Como ler. MAE do método "último valor", em alunos. Cada degrau acumula o anterior. Os quatro primeiros filtros — snapshot, rede pública, anos-alvo e etapas — movem a retroativa de 9,54 para 9,80. O quinto degrau, a exigência de quatro anos de histórico, move a escalonada de 7,55 para 12,03 e descarta 75% das suas séries.
Como ler. o mesmo em WAPE, o erro proporcional ao volume de matrículas. A retroativa fica entre 22,9% e 23,8% nos sete degraus — o erro relativo praticamente não se move de ponta a ponta, e é isso que sustenta a leitura de que o pipeline reproduz a execução antiga. Na escalonada o WAPE sobe de 17,8% para 26,0% no mesmo degrau em que o MAE salta.
A auditoria de 04/08 atribuiu a virada a sete diferenças de universo agindo em conjunto. Medidas
uma a uma, elas somam +0,26 no MAE da retroativa. O sinal do agregado vira num único
degrau — min_anos_treino: 4 — e vira para os cinco métodos comparáveis, sem
exceção. Nenhum outro degrau inverte a ordem.
Como ler. cada célula é a diferença de MAE entre as duas representações num método (linha) e num degrau (coluna). Vermelho: a escalonada tem erro menor. Azul: a retroativa. A matriz inteira troca de cor numa só coluna — a do mínimo de quatro anos — e volta a trocar no último degrau, quando o universo passa a ser o do pipeline, com a cadeia um elo mais longa.
As quatro leituras
A mesma comparação sob quatro recortes. O seletor acima do gráfico troca método e representação.
Como ler. MAE por etapa. A qualificação nunca rodou o Ensino Médio (o arquivo correspondente tem 1 byte), então as três séries do EM só existem no pipeline. Na escalonada, a coluna verde é a única que existe na etapa 17: com o mínimo de 4 anos essa etapa não tem cobertura alguma.
Como ler. o mesmo em WAPE. É a métrica que permite comparar os quatro recortes entre si, porque não depende do porte médio das unidades de cada um.
As 75.353 escolas que sobram no recorte alinhado da qualificação estão todas contidas nas 146.885 do pipeline — resíduo zero de um lado. O pipeline usa 71.532 escolas a mais. Dessas, 32.639 nunca tiveram registro nas etapas-alvo do Fundamental; as outras 38.893 têm registro e ainda assim não aparecem em nenhuma linha da extração de março, por causa não identificada.
Por que a escalonada ganhava
A explicação corrente é que a escalonada vencia nas séries curtas. Os dados dizem algo mais específico, e mais útil.
Como ler. cada linha é uma etapa; os dois pontos são as duas representações no universo original da qualificação. Abaixo do nome da etapa está o comprimento da cadeia escalonada naquela etapa — que na qualificação não varia entre escolas, é função determinística da posição na cadeia de progressão.
Toda linha da etapa 17 tem 2 valores de histórico; toda linha da 18 tem 3; a 19 tem 4, e assim por diante. Isso torna impossível, no desenho da qualificação, separar o efeito do comprimento da série do efeito da etapa — são a mesma coluna. E define o mecanismo: a vantagem da escalonada acaba na etapa 19, que é onde a cadeia passa a atravessar a transição 5º→6º ano, quando a coorte troca de escola. Exigir 4 anos de cadeia obriga a escalonada a cruzar essa fronteira. Não é que séries curtas sejam melhores — é que cadeias curtas ainda não cruzaram fronteira.
A cadeia da qualificação começa no 1º ano do Fundamental; a do pipeline começa na pré-escola
(etapa_origem_extra: [2] no config.yaml). Um elo a mais dá exatamente um
valor de histórico a mais em toda etapa-alvo — o n_hist máximo observado no run
canônico bate dígito a dígito com essa previsão, e os n_valores da qualificação batem
com a cadeia mais curta. Consequência: sob o mesmo mínimo de 4 anos, a primeira etapa com cobertura
seria a 19 na qualificação e é a 18 no pipeline. As duas mudanças empurram a fronteira de
cobertura em direções opostas, e parte do que parecia "a regra nova eliminou a escalonada"
é a cadeia mais longa compensando na direção contrária.
Onde cada abordagem funciona
Sete atributos de escola cruzados com as predições, sobre 4,07 milhões de pares. A etapa é de longe a variável mais forte da base, então todo efeito aqui foi testado contra ela: um segmento que some ao ser restrito a uma única etapa estava medindo composição, não o atributo que lhe dá nome.
Como ler. cada linha é um nível de um segmento. O ponto cinza é a diferença agregada sobre todas as etapas; o azul, a mesma diferença dentro da etapa 18, a de maior número de pares. Segmentos cujos dois pontos ficam distantes não têm efeito próprio — o que parecia rede, região ou localização era a mistura de etapas por trás deles.
O ponto azul acima restringe tudo à etapa 18 (EF 5º ano, a de maior número de pares) como
substituto de "controlar por etapa". Essa escolha é a mesma que a seção 4 de
o método (escrita depois desta página) documenta
como arbitrária e não neutra: a etapa 18 carrega viés próprio, não é uma leitura representativa das
outras nove etapas com cobertura escalonada. Uma reanálise de hoje
( Run Cálculo: para os mesmos 13 níveis de segmento desta figura (rede: federal/estadual/municipal; região: N/NE/CO/SE/S; localização: urbana/rural; porte em tercis: pequeno/médio/grande), sinal de Fonte: tools/analise_controle_etapa.py) refaz a mesma pergunta com o método correto — estimar
o Δ dentro de cada etapa e agrupar as dez estimativas com o peso que cada etapa tem no
universo do próprio tipo de segmento, não restringir a uma etapa isolada — e o resultado muda de
direção, não só de magnitude: em 10 dos 13 níveis de segmento (rede, região,
localização, porte), o Δ restrito à etapa 18 tem sinal oposto ao Δ agrupado
corretamente. O ponto azul desta figura, portanto, não é uma leitura confiável de "o efeito
sobrevive ao controle" para nenhum nível individual — é o artefato de uma etapa que não é neutra,
do mesmo jeito que o EF 5º ano não é neutro na ilustração da seção 4 do método. A conclusão de fundo
da página não muda: porte e regularidade da série continuam sendo os segmentos que
sobrevivem ao controle por etapa feito do jeito certo; rede, região e localização continuam sendo
majoritariamente composição de etapa (ver resumo.csv, coluna
efeito_controlado_agrupado) — é só esta figura específica, como mecanismo de controle,
que não sustenta a leitura nível a nível que o texto ao lado dela faz. A figura é mantida como
registro do que foi apresentado à orientação nesta data; para a versão correta, ver
a seção 4 do método e a tabela completa que a
acompanha.e1-20260804-175333delta_etapa18_apenas comparado ao sinal de delta_controlado_agrupado — protocolo pareado idêntico ao de pipeline/m50_avaliacao.py::comparar_representacoes, efeito e teste de pipeline/m60_estatistica.py::_wilcoxon_pareado. Sinal oposto em 10 níveis: rede/estadual, rede/municipal, as 5 regiões, localização/urbana, localização/rural e porte/grande. Mesmo sinal em 3: rede/federal, porte/pequeno e porte/médio.tools/analise_controle_etapa.py → runs/e1-20260804-175333/analise_controle_etapa/resumo.csv
O corte rural × urbana parece o mais forte de todos no agregado: a escalonada empata no rural (Δ +0,06, vence em 54,6% dos pares) e perde por 4,37 no urbano. Controlando por porte, esse vão de ~4,3 cai para 0,10–1,06; controlando por porte e etapa juntos, para 0,03–0,62. Sobra um resíduo pequeno e consistentemente no mesmo sentido, mas nada perto do efeito bruto: nesta base, "rural" é sobretudo um sinônimo de escola pequena com pouco Ensino Médio. O mesmo vale para rede — "estadual" é onde está o Ensino Médio — e para região.
O que sobrevive: porte e regularidade da série
Como ler. diferença de MAE pareado por quintil de matrícula total da escola, medida no ano anterior ao ano-alvo para não usar informação do alvo. Vermelho: a escalonada tem erro menor. A série é monotônica e troca de sinal no terceiro quintil — a escalonada vence em escolas pequenas e perde de forma crescente em escolas grandes.
Como ler. WAPE por quartil do coeficiente de variação do próprio histórico de treino (nunca inclui o ano-alvo). Quanto mais irregular a série, pior qualquer método — e as duas curvas se cruzam: no quartil mais instável a escalonada tem erro relativo menor que a retroativa (35,7% contra 38,8%).
A regularidade histórica da série é o segmento que mais discrimina, e o único cujo efeito permanece limpo em toda verificação — inclusive dentro de cada quintil de porte separadamente. Na retroativa o WAPE quase dobra do quartil mais estável ao mais instável (20,0% → 38,8%). É a confirmação direta da objeção de que os baselines se beneficiam de séries comportadas: onde a série é regular, qualquer método vai bem e a escolha entre eles importa pouco; onde não é, todos degradam — e a vantagem da retroativa desaparece.
Uma anomalia geográfica que resiste
Como ler. diferença de MAE no subconjunto pareado, por unidade da federação — azul para a retroativa, vermelho para a escalonada, como no resto da página. O Ceará é a única das 27 unidades com diferença negativa (−1,09; a escalonada vence em 61,4% dos pares), contra +0,30 em São Paulo e +10,49 no Distrito Federal.
Diferente de rede e região, o caso do Ceará resiste ao controle. Padronizando pela composição de etapas do próprio estado — que é atípica, com só ~1% dos pares em Ensino Médio contra ~19% no país — o valor esperado seria +0,92, favorecendo a retroativa. O observado é −1,09, de sinal oposto. Padronizações por porte, localização e rede também preveem diferença positiva (+1,44, +1,74 e +0,87). A distinção aparece etapa a etapa: nas etapas 19, 20, 21, 27 e 41 o resto do país favorece claramente a retroativa e o Ceará não acompanha.
Nenhum dos segmentos testados explica isso, e esta análise não testa mecanismo. Fica registrado como achado robusto ao controle, não como efeito explicado. Ressalva de amostra: nas etapas 25 a 27 o Ceará tem entre 490 e 875 pares, base frágil; nas etapas 18 a 21 e 41, entre 35 e 44 mil pares cada.
Na retroativa, o vencedor por MAE é sempre a suavização exponencial ou o ensemble por média, nas 27 UFs, nas cinco regiões, nas três redes, nos cinco quintis de porte e nos quatro quartis de estabilidade — sem uma única exceção, e com diferença quase sempre inferior a 0,1 aluno entre os dois. Na escalonada o vencedor de fato varia entre segmentos. Para a decisão prática, a escolha do método é estável; o que muda o resultado é a representação e o segmento, não o estimador.
Os três achados em aberto
A · A escalonada prevê para escolas que não ofertam a etapa
Como ler. a barra clara é quanto a escalonada considera elegível; a escura, quanto chega a ter alvo real para comparar. A distância entre as duas é composta por escolas cuja coorte de origem existe mas que não ofertam a etapa-alvo.
Só 36,6% das séries escalonadas elegíveis chegam a ser avaliadas, contra 83,3% das retroativas. Mas o módulo de avaliação já descarta linhas sem alvo antes de calcular qualquer métrica: o que estava inflado era a tabela de cobertura, não os números publicados. Das escolas do excedente na 1ª série do EM, 97,4% nunca ofertaram Ensino Médio em nenhum ano da série histórica — são municipais (90,8%), rurais (55,6%) e pequenas (matrícula média 225 contra 462). O "alvo médio 7,5" citado pela auditoria é artefato de tratar ausência de oferta como zero; o valor correto é 78,9.
B · O mínimo de 4 anos elimina a escalonada nas etapas iniciais
O limite é aritmético: com gap_minimo: 2, a cadeia precisa de
min_anos_treino + 2 elos antes do alvo. A rodada de sensibilidade
(e1-20260804-175333, config_min2.yaml) baixou o critério para 2 anos e
mediu o efeito contra o mínimo de 4 então vigente — foi este teste que levou o autor a resolver o
IMP-ELEG em 01/09: hoje é o mínimo de 2 anos que é o canônico do Capítulo 5, e o mínimo de 4
(e1-20260729-122616) que é a sensibilidade. Na tabela abaixo os rótulos ficaram como
estavam quando o teste rodou — leia "mín. 2" como o canônico de hoje.
| Etapa | n · mín. 4 | MAE | WAPE | n · mín. 2 | MAE | WAPE |
|---|---|---|---|---|---|---|
| 3º EF | — | — | — | 179.003 | 4,41 | 16,2% |
| 4º EF | — | — | — | 308.286 | 5,47 | 15,5% |
| 5º EF | 100.532 | 4,87 | 16,1% | 315.055 | 5,40 | 15,2% |
| 6º EF | 89.811 | 12,26 | 29,4% | 140.226 | 12,60 | 30,1% |
| 7º EF | 101.029 | 11,16 | 27,7% | 140.146 | 12,12 | 28,8% |
| 8º EF | 108.985 | 7,81 | 19,8% | 142.574 | 8,19 | 19,7% |
| 9º EF | 115.125 | 8,94 | 23,5% | 207.245 | 10,64 | 19,9% |
| 1ª EM | 17.912 | 35,65 | 45,2% | 62.206 | 39,15 | 41,3% |
| 2ª EM | 45.672 | 36,26 | 43,5% | 63.035 | 37,56 | 42,9% |
| 3ª EM | 50.039 | 30,82 | 42,3% | 64.259 | 31,01 | 40,8% |
Representação escalonada, método "último valor", segmento sem_fallback. A
etapa 2º EF continua sem cobertura mesmo com mínimo de 2: a cadeia só tem um elo antes dela.
Baixar o mínimo para 2 anos devolve à escalonada as etapas 3º e 4º ano — e o 4º ano volta com WAPE 15,5%, o menor erro relativo de toda a tabela, reproduzindo no pipeline novo o que a qualificação havia encontrado (MAE 5,99 lá, 5,47 aqui). O erro global da escalonada cai de 13,41 para 10,98 enquanto o número de séries avaliadas cresce 2,6×; a retroativa quase não se move (12,04 → 12,00). Não é que o critério mais frouxo "melhore" a escalonada: ele deixa de excluir as cadeias que ainda não cruzaram fronteira, que são justamente onde ela funciona.
C · A descontinuidade de 2018 é maior do que se supunha
A decisão de aceitar a descontinuidade como limitação pressupunha que o treino usa
majoritariamente anos a partir de 2019. Não usa: 81,6% das séries elegíveis do run min4
(e1-20260729-122616) tocam pelo menos uma observação anterior a 2018 — 96,8%
na retroativa, que acumula todo o histórico disponível sem janela. Mesmo no ano-alvo mais distante
do problema, 94,4%. Na base canônica min2 o piso de histórico mais baixo deixa entrar séries curtas
inteiramente pós-2018: a Fase 6 (relatorio_quebra_2017_2018.md, seção 5.2) recalculou
o mesmo indicador sobre a população certa e achou 68,4% (5.040.373 de 7.370.033
séries elegíveis) — menos concentrado, mas ainda maioria; a causa mecânica segue indeterminada nas
duas bases.
O salto de 2017 para 2018 é de 3,16× em linhas escola-etapa, mas só 1,23× em escolas distintas, e 97,2% das escolas de 2017 seguem presentes em 2018: o que muda é o número de etapas registradas por escola, de 2,35 para 6,78. A razão é uniforme entre as 27 UFs, as 12 etapas e as três redes — padrão de processo, não de política educacional. Os anos 2007–2017 somam 13,2 milhões de matrículas contra cerca de 48,5 milhões nas estatísticas oficiais do período. A leitura consistente é que esses anos contêm um subconjunto incompleto, mas a causa mecânica segue indeterminada: o arquivo-mestre é entrada externa e não há, nesta árvore, script que o gere.
ARIMA estimar θ não bateu o alpha fixo
O ARIMA entra na suíte como método adicional, na especificação (0,1,1) sem constante
— que é a suavização exponencial simples com o parâmetro de alisamento estimado dos
dados (ajuste por soma de quadrados condicional, vetorizado sobre a base elegível inteira do
run e1-20260729-122616 — min4, o run desta validação; o ARIMA ainda não rodou sobre
min2 —, sem amostragem), contra o alpha: 0.5 fixo hoje no config.yaml.
É a única ordem da grade original que não colapsa num método que a suíte já tem:
(0,1,0) é o "último valor" e (0,0,0) com constante é a média histórica.
4.806.030 séries elegíveis ajustadas, 100% de sucesso, 223s de tempo total.
| método | n | MAE | WAPE |
|---|---|---|---|
| ensemble_media | 2.571.581 | 11,13 | 22,9% |
| suav_exp (α=0,5 fixo) | 2.571.581 | 11,13 | 22,9% |
| ensemble_mediana | 2.571.581 | 11,23 | 23,1% |
| kalman | 2.571.581 | 11,80 | 24,3% |
| último_valor | 2.571.581 | 12,04 | 24,8% |
| arima (θ estimado) | 2.571.581 | 12,28 | 25,3% |
| media | 2.571.581 | 13,42 | 27,6% |
| reglin | 2.571.581 | 13,56 | 27,9% |
MAE global, retroativa, segmento sem_fallback. Fonte:
runs/e1-20260729-122616/relatorio_e1.md.
O ARIMA fica em 6º lugar de 8 — pior que o suav_exp com
alpha fixo em 0,5 (que empata com o ensemble no topo da tabela) e pior até que o
"último valor" ingênuo. A hipótese natural — que estimar θ dos dados bateria um alisamento com
parâmetro fixo arbitrário — não se confirma neste run. A explicação está na validação abaixo: θ é
mal identificado exatamente onde está a maioria da base.
Validação contra o statsmodels: concordância parcial, dependente do histórico
O CSS vetorizado (produção) foi comparado contra
statsmodels.tsa.arima.model.ARIMA (máxima verossimilhança exata) em 3.000 séries
elegíveis reais. São dois estimadores diferentes do mesmo modelo — divergir não é, por si só,
evidência de erro — mas a divergência encontrada é grande demais para ignorar.
n_hist 4–8 anos, onde θ é fracamente identificadoentre a previsão do CSS e a do MLE exato, disperso por toda faixa de histórico
no subconjunto sem outliers numéricos do statsmodels
MLE irrestrito diverge para |θ̂|>2 em séries curtas — instabilidade numérica dele, não do CSS
Removendo os outliers do statsmodels (instabilidade numérica do MLE irrestrito em séries curtas,
não um problema do CSS), a correlação de θ entre as duas implementações ainda é só 0,39
— e cai para 0,00–0,13 quando o histórico tem entre 4 e 7 anos, que é onde está a
maior parte da base elegível. Só séries com n_hist ≥ 9 (14% da amostra) mostram
concordância real (correlação 0,57–0,99). A previsão concorda mais do que θ (correlação 0,98 no
subconjunto limpo) porque θ·ε é uma correção de segunda ordem sobre o último valor
observado — mas mesmo assim quase metade das séries diverge por mais de um aluno em relação ao
MLE exato, de forma dispersa, não concentrada nos casos degenerados. Leitura completa em
runs/e1-20260729-122616/validacao_arima.md.
O que não foi reproduzido
Três números citados na auditoria de 04/08 não saem de nenhum recálculo sobre os arquivos. Ficam registrados como não reproduzidos, e não como errados por consequência — em dois dos três casos a conclusão que eles ilustravam continua válida por outra via.
| Número citado | Onde aparece | O que o recálculo dá | Efeito na conclusão |
|---|---|---|---|
| 41.603 escolas (28,3%) descartadas por não casar com o snapshot | Diferenças de universo | É de outra comparação — a construção da base do pipeline. O efeito sobre a qualificação é de 1.606 escolas (1,7%) | Nenhum |
| MAE 7,57 × 10,09 do Capítulo 5 | Origem do resultado antigo | Não reproduz por ponderação por linha, por escola nem por média simples dos três recortes. O mais próximo é 9,93 × 7,38; sem dupla contagem, 9,54 × 7,34 | Direção e ordem de grandeza mantidas |
| Alvo médio 27,7 e MAE 6,70 na etapa 17 | Tabela de WAPE por etapa | Os valores corretos são 35,14 e 8,50. Testei os dois segmentos do run e nenhum reproduz os citados. A coluna WAPE da mesma tabela está correta | Nenhum — a tese se apoia no WAPE |
Fonte: EXEC_18_03_2026-{AI,AF,FC}.csv (execução de 18/03/2026) e run
e1-20260729-122616 do pipeline, segmento sem_fallback. Todos os números
foram recalculados a partir dos arquivos primários; onde um valor é citado de relatório sem
recálculo, está assim indicado. WAPE é sempre razão de somas, nunca média de WAPEs. Memórias de
cálculo, scripts e as tabelas completas em _notas/qual-x-pipeline/,
_notas/forense/ e _notas/segmentos/. Ver também o
run canônico e a
base canônica.