Material complementar · explicação metodológica

O raciocínio matemático por trás de cada bloco da apresentação.

Esta página torna transparente toda decisão técnica do trabalho — desde o conceito mais básico até a escolha estatística mais específica. Cada seção do site interativo tem um link discreto que leva direto para o bloco correspondente aqui. A ideia é que qualquer pessoa, com ou sem formação em estatística, consiga seguir o raciocínio e entender por que cada escolha foi feita.

Resumo narrativo

A análise em três camadas.

Antes do detalhamento técnico, este é o resumo conceitual da metodologia em ~90 segundos de leitura.

Camada 1 — Decomposição. Toda série temporal pode ser pensada como a soma (ou o produto) de três componentes: tendência, sazonalidade e resíduo. O critério para escolher entre soma e produto é se a "altura" do padrão sazonal cresce com o nível da série. Aqui ela cresce: o pico de jul-ago vale ~10% do nível em 2018 e também ~10% em 2024 — mas em valores absolutos é três vezes maior. Por isso o modelo correto é multiplicativo.

Camada 2 — Estimação. Para extrair esses componentes usamos STL, uma técnica robusta que tolera bem dados atípicos (como o COVID em 2020). Para a apresentação calculamos um índice mais simples — base 100 — que mostra cada mês relativo ao mês médio do ano. Esse índice é fácil de interpretar: 110 significa "10% acima do mês médio".

Camada 3 — Previsão. Como a sazonalidade é multiplicativa, escolhemos o Holt-Winters multiplicativo, que respeita essa estrutura. Comparamos com três alternativas: ETS aditivo (especificação errada de propósito, para mostrar contraste), SARIMA (modelo clássico canônico) e Naive sazonal (baseline mais simples possível). Holt-Winters foi o melhor (MAPE 8,1%), mas o Naive ficou muito perto (8,8%) — e essa proximidade é o achado central da análise: a sazonalidade carrega quase toda a informação previsível. Portanto, o ganho marginal de modelos sofisticados está em prever cada cidade × setor separadamente, não em refinar mais o modelo agregado.

Sazonalidade · três evidências independentes

Por que confiar nesse padrão sazonal.

O padrão jul-ago como pico e dezembro como vale é contraintuitivo (a maioria das pessoas acha que o ciclo de empresas é janeiro-dezembro). Por isso vale explicitar três evidências independentes que se reforçam.

1

Repetição em cada ano individualmente

Não é média de um ano. O padrão aparece em cada um dos 8 anos da série (2018 a 2025) — não é artefato matemático, é regularidade observada.

2

Explicação no mundo real

O calendário fiscal brasileiro prevê o padrão: IRPF + DAS-MEI até maio escancaram a tributação CLT; renovação contratual em saúde/TI/criativos no meio do ano; recesso de Junta Comercial + 13º + festas em dez-jan.

3

Confirmação preditiva

O modelo que assume esse padrão (Holt-Winters multiplicativo) erra 4,5 pontos percentuais menos que o modelo que assume um padrão diferente (ETS aditivo). Se o padrão estivesse errado, o modelo correto erraria mais.

As três evidências são independentes: nenhuma depende das outras. Ver o mesmo padrão em 8 anos é evidência empírica. Ter explicação no calendário fiscal é evidência teórica. E o modelo correto vencer no teste é evidência preditiva. Quando três tipos diferentes de evidência apontam para o mesmo lugar, a probabilidade de ser coincidência cai muito.

← Voltar ao bloco no site
Bloco 01 — Escopo do dado

Por que o dataset é o ICP, não o Brasil inteiro.

A primeira decisão de qualquer análise é definir o que está sendo medido. Confundir "universo do dataset" com "universo Brasil" leva a comparações erradas e metas mal calibradas.

O que está dentro e o que está fora

O dataset cobre 30 setores, todos prestadores de serviço profissional — Medicina, Psicologia, TI/DEV, Engenharia, Advocacia, Contabilidade, Apoio Administrativo, etc. Não há comércio (lojas), indústria (fábricas) nem MEI (Microempreendedor Individual).

Universo Aberturas em 2025 % do Brasil
Brasil total (Mapa de Empresas, todos os tipos) 4.700.000 100%
ICP do dataset (este case) ~327.000 ~7%
Base atual de clientes Contabilizei ~100.000 ~2%

Por que essa distinção importa

  • Comparações com o agregado Brasil ficariam erradas. O Brasil cresce numa taxa diferente porque inclui MEI e comércio, que respondem a estímulos econômicos distintos. Para falar do mercado endereçável pela Contabilizei, é preciso isolar o ICP.
  • Toda a sazonalidade observada é específica de serviço-PJ. Comércio teria pico em dezembro (Natal). Indústria teria pico em outubro (Black Friday B2B). A ausência desses picos no dataset é, por si só, evidência de que o universo está corretamente segmentado.
  • O cálculo de market share faz sentido. 20% de ~340k em 2026 = ~67k vendas — meta ambiciosa mas concebível, dado que a Contabilizei já abre 35-40k empresas/ano. Se compararmos contra o Brasil total (4,7M), a meta de 20% seria ~940k e perderia o sentido.
← Voltar ao bloco no site
Bloco 01b — Sazonalidade (detalhamento)

Decomposição clássica, STL e índice base 100.

Esta é a parte estatisticamente mais densa da apresentação. Vamos do conceito mais básico (o que é decompor uma série) até a fórmula final do índice.

1 · O que significa "decompor" uma série?

Quando olhamos para o gráfico de aberturas mês a mês, vemos três coisas se misturando ao mesmo tempo:

  • Uma tendência — a curva sobe ao longo dos anos.
  • Um padrão sazonal — alguns meses sempre são mais altos, outros mais baixos.
  • Variação aleatória — ruído mês a mês que não tem padrão.

Decompor é separar essas três coisas matematicamente, para conseguir analisar cada uma sozinha.

Aditivo ou multiplicativo?

Existem duas formas de pensar a relação entre os componentes:

Aditivo:   Yt = Tt + St + Rt
Multiplicativo:   Yt = Tt · St · Rt

No aditivo, a "altura" do pico sazonal é constante em valor absoluto: se em 2018 o pico estava 10 mil acima da tendência, em 2024 também está 10 mil acima. No multiplicativo, a altura cresce proporcionalmente ao nível: se o nível dobra, a altura do pico dobra também. Pense na diferença entre uma onda do mar (multiplicativa: oscilações aumentam quando a maré sobe) e uma marquise de telhado (aditiva: pinga sempre a mesma quantidade).

Como escolher entre os dois

É um teste empírico. Olhamos o gráfico e medimos:

  • Em 2018, o pico de julho-agosto vibrava cerca de 10k acima da tendência. Nível médio: ~140k. Proporção: ~7% do nível.
  • Em 2024, o pico vibrava cerca de 30k acima da tendência. Nível médio: ~330k. Proporção: ~9% do nível.

A proporção se mantém estável (~7-10%), mas o valor absoluto triplicou. Esse é exatamente o comportamento multiplicativo. Por isso a decomposição usada no caso é a multiplicativa.

2 · STL — uma técnica robusta para extrair os componentes

Uma vez decidido que a relação é multiplicativa, precisamos de uma técnica para de fato calcular Tt, St e Rt a partir dos dados. Existem várias — usamos STL (Seasonal-Trend decomposition using LOESS).

LOESS é uma técnica de "suavização local". Imagine que você quer desenhar uma linha suave que passe perto dos pontos do gráfico, mas dando mais peso aos pontos próximos de cada região. É como se você desenhasse a linha em pedacinhos, cada pedacinho ajustado aos pontos vizinhos. STL aplica isso primeiro nos meses iguais (todos os janeiros, todos os fevereiros…) para extrair a sazonalidade, depois nos dados sem sazonalidade para extrair a tendência.

Por que STL e não a decomposição clássica?

  • A clássica (médias móveis centradas) perde 6 meses no início e 6 no fim da série. Com 96 pontos, perderíamos 1/8.
  • A clássica supõe sazonalidade rígida; STL deixa o padrão evoluir suavemente entre anos.
  • STL é robusto a outliers — pontos atípicos (como o trimestre do COVID em 2020) não distorcem o resto.

Como STL funciona (visão geral)

Em ciclo:

  • Primeiro estima a sazonalidade aplicando LOESS dentro de cada subsérie (todos os janeiros, fevereiros…)
  • Depois, com a sazonalidade fora, estima a tendência aplicando LOESS no que sobrou.
  • Repete dando menos peso aos pontos com resíduo grande.

Resultado: três séries — tendência, sazonalidade, resíduo — que somadas (ou multiplicadas) reconstituem a original.

3 · Índice base 100 — a forma de comunicar a sazonalidade

O STL é ótimo para diagnóstico, mas o resultado bruto não é direto de comunicar (é uma série com mesma escala dos dados). Para a apresentação calculamos um índice mais legível, em três passos:

Passo 1. Para cada mês de cada ano, calcular a participação daquele mês no total do ano:

shareano,mês = volano,mês  /  totalano

Passo 2. Tirar a média dessa participação entre os 8 anos:

share médiomês = média entre anos do share daquele mês

Passo 3. Multiplicar por 12 e por 100, normalizando para a base 100:

índicemês = 100 · 12 · share médiomês

A interpretação fica imediata: 100 = mês médio do ano. 110 = 10% acima da média. 85 = 15% abaixo da média. Por construção, a média dos 12 índices é exatamente 100 — a normalização garante isso. Qualquer pessoa, sem conhecimento de estatística, consegue ler a tabela.

Por que essa fórmula e não usar St direto do STL?

  • O índice é invariante à tendência por construção. Como dividimos cada mês pelo total do seu ano, o crescimento de longo prazo é cancelado automaticamente. Não precisamos estimar nem subtrair tendência.
  • É robusto a um único ano atípico. A média entre 8 anos suaviza qualquer variação idiossincrática de um deles.
  • É comunicável. A diretoria entende "+10% no inverno". Não precisaria entender "St = 0,38 desvio-padrão acima da média móvel ajustada".

O STL fica como validação cruzada: ele confirma visualmente que o padrão é estável entre anos. Se não fosse estável, a média seria enganosa e o índice perderia significado.

← Voltar ao bloco no site
Bloco 02 — Projeção 2026

Holt-Winters multiplicativo, naive sazonal e a hierarquia dos modelos.

Aqui escolhemos o modelo que vai gerar o número de mercado 2026. A escolha não foi por força bruta ("rodei vários e fiquei com o melhor"), foi por análise da estrutura da série.

1 · O método de teste — hold-out

Hold-out é uma técnica simples e honesta de avaliar previsão. Em vez de deixar o modelo ver toda a série e depois "prever" o que ele já viu (o que não é prever, é interpolar), escondemos um pedaço do final e treinamos só no resto.

Aqui:

  • Treino: 2018-01 até 2024-12 (84 meses)
  • Hold-out: 2025-01 até 2025-12 (12 meses)

O modelo nunca vê o hold-out durante o treino. Depois pedimos a ele para prever os 12 meses de 2025 e comparamos com o que aconteceu de verdade. O erro nessa comparação é o MAPE.

2 · Holt-Winters multiplicativo — a escolha por estrutura

Holt-Winters é um modelo de previsão que aprende três coisas simultaneamente, atualizando-as a cada novo mês observado:

Nível atual:    ℓt = α · (Yt / st−12) + (1−α) · (ℓt−1 + bt−1)
Tendência:      bt = β · (ℓt − ℓt−1) + (1−β) · bt−1
Sazonal:       st = γ · (Yt / ℓt) + (1−γ) · st−12
Previsão:     Ŷt+h = (ℓt + h · bt) · st−12+h

α, β e γ são pesos entre 0 e 1 que controlam o "quanto o modelo escuta o passado recente vs o passado distante". Eles são estimados automaticamente por máxima verossimilhança — o computador encontra os valores que fazem o modelo errar menos no treino. O importante é a forma da equação de previsão: a sazonalidade multiplica o nível. É isso que faz o modelo respeitar a estrutura multiplicativa que descobrimos no bloco anterior.

Por que multiplicativo aqui (e não aditivo)?

Se usássemos a versão aditiva, a equação de previsão seria:

Ŷt+h = ℓt + h · bt + st−12+h

Aqui o componente sazonal é somado, não multiplicado. Como o nível foi de ~140k em 2018 para ~330k em 2024, o componente sazonal absoluto teria que crescer junto. Mas como γ é finito e a atualização é lenta, ele nunca consegue acompanhar a curva de crescimento. O resultado é uma subestimação sistemática do pico nos anos finais.

Foi exatamente o que apareceu no teste: ETS aditivo errou 12,6%, Holt-Winters multiplicativo errou 8,1%. Diferença de 4,5 pontos percentuais — não é cosmética, é a diferença entre a especificação correta e a errada.

3 · Naive sazonal — o baseline que não pode ser ignorado

Em previsão, existe uma máxima clássica do estatístico Rob Hyndman: "um modelo sofisticado só é defensável se bate o naive de forma consistente."

O naive sazonal é o modelo mais simples possível: a previsão para um mês é igual ao valor desse mês um ano antes. Zero parâmetros para estimar. Como a série tem tendência, fizemos uma pequena correção (multiplicamos pelo CAGR dos últimos 12 meses sobre os 12 anteriores), mas a essência é a mesma.

Ŷt+h = Yt+h−12  ×  (1 + cagr recente)

O que aconteceu

Modelo MAPE 2025 Comentário
Holt-Winters multiplicativo 8,14% Vencedor — especificação correta
Naive sazonal (com correção CAGR) 8,78% Quase tão bom — apenas 0,7 p.p. atrás
SARIMA(1,1,1)(1,1,1,12) 10,39% Modelo clássico, comparativo
ETS aditivo 12,61% Especificação errada (controle)

O que isso quer dizer

O Naive sazonal acertar quase tão bem quanto o Holt-Winters não é um problema do Holt-Winters. É uma informação sobre a série: ela é tão sazonal e tão estável que "repetir o ano passado" já captura a maior parte da informação útil. Modelos sofisticados ganham pouco porque não há muito mais para ganhar no agregado.

A leitura prática: se você quer reduzir o erro da previsão, não vai conseguir muito mais refinando o modelo agregado. O caminho é ir para granularidade fina — prever por cidade × setor separadamente. É exatamente o que o Bloco 03 explora, e é por isso que o erro lá é maior (22,7% mediano por corte vs 8,1% no agregado): séries pequenas têm mais ruído. Mas é nessa granularidade que decisões operacionais reais são tomadas.

4 · Por que SARIMA também aparece

Holt-Winters não dá intervalo de confiança nativo no statsmodels (é um modelo de espaço de estados, mas a implementação não expõe a banda de incerteza diretamente). SARIMA dá. Por isso, na projeção 2026 final, usamos SARIMA como cenário-base para conseguir traçar bandas de IC 80% e IC 95% — fundamentais para mostrar incerteza honestamente. Holt-Winters fica como sanity check: se as duas projeções fossem muito diferentes, haveria razão para investigar; como são parecidas, ganhamos confiança no número.

← Voltar ao bloco no site
Bloco 03 — Diagnóstico de incerteza

Por que MAPE agregado é 8% e por corte salta para 22,7%.

Não é o modelo que ficou pior. É a granularidade que muda — e a relação sinal/ruído com ela.

O experimento

Em vez de treinar um modelo só na série agregada, treinamos 240 modelos separados — um para cada combinação (cidade × setor). Cada um vê só o histórico da sua própria combinação. Depois calculamos o MAPE de 2025 em cada um.

Duas leituras do erro: mediano e ponderado

  • MAPE mediano (22,7%): a metade dos cortes tem erro abaixo disso, a outra metade acima. É a "experiência típica" se você pegar um corte aleatório.
  • MAPE ponderado por volume (18,7%): cortes grandes pesam mais. É o erro real se você somar todos os cortes — porque os pequenos quase não contribuem para o total.

A diferença entre os dois (22,7% vs 18,7%) já conta uma história: cortes grandes erram menos que cortes pequenos. Isso não é coincidência — é estatística básica: séries com volume alto têm sinal mais forte em relação ao ruído, então o modelo aprende melhor. Cortes pequenos são dominados por ruído mês a mês e o modelo tem pouco onde se apoiar.

Top 5 cortes mais difíceis (em 2025)

Cidade Setor Vol 2025 MAPE CV histórico
São Paulo Serviços Automotivos 1.043 53,4% 0,41
Porto Alegre Apoio Adm 1.730 43,8% 0,54
São Paulo Advocacia 2.702 43,4% 0,37
Porto Alegre TI/DEV 1.749 42,9% 0,57
São Paulo Apoio Adm 19.548 41,0% 0,40

Por que esses cortes erram — quatro mecanismos

  • Quebra de regime. Setores como Saúde explodiram a partir de 2020. Um modelo treinado em "antes" não sabe descrever "depois". Ele projeta o crescimento médio histórico, mas a realidade acelerou.
  • Volume baixo + crescimento alto. Quando a série tem poucos dados por mês, ruído natural domina o sinal. Crescer de 50 para 100 é +100%, mas pode ser flutuação aleatória.
  • Cauda heterogênea. "Apoio Administrativo" é um catch-all que mistura microempresários muito diferentes. Não há um padrão único para o modelo aprender.
  • Sazonalidade fraca. Alguns nichos não têm pico claro — sem padrão sazonal, o Holt-Winters perde uma de suas três pernas.

CV histórico — diagnóstico antes do modelo

O coeficiente de variação (CV) é uma medida da volatilidade da série relativa ao seu próprio nível: CV = desvio-padrão / média. CV alto significa que a série oscila muito.

Cortes com CV > 0,7 são intrinsecamente difíceis de prever — por puro motivo estatístico, antes mesmo do modelo. Exemplo: Psicologia em BH tem CV 1,07 — o desvio é maior que a média. Não há modelo que conserte isso, porque o ruído está no fenômeno, não na técnica.

Implicação prática: a recomendação para a Contabilizei é usar o número agregado para definir a meta corporativa (8% de erro é gerenciável) e usar os cortes ruins como sinal de onde investigar — não como meta operacional mensal. Ninguém deve ser cobrado por bater previsão de 50% de erro.
← Voltar ao bloco no site
Bloco 04 — Meta de market share

Como a meta anual vira distribuição mensal.

Definir "20% do mercado" é simples. Distribuir essa meta nos 12 meses respeitando a sazonalidade real do mercado é o que evita planejamento subestimado.

O cálculo

Em três passos:

Mercado2026 = soma das 12 previsões mensais do modelo escolhido
Metaanual = Mercado2026 × share alvo (20%)
Metamês = Metaanual × share médiomês   (do índice base 100)

Sensibilidade a premissas

Para mostrar que o número não depende de uma única hipótese, calculamos a meta sob 5 cenários de mercado e 5 níveis de share. A tabela completa está em outputs/sensibilidade_meta.csv. Pontos principais:

Cenário de mercado Share 17% Share 20% Share 23%
Holt-Winters (conservador) ~55k 64,8k ~75k
SARIMA (base) 57,4k 67,5k ~78k
YoY 2025 (acelerado) ~66k 77,9k ~90k

A faixa robusta para a meta de 20% fica entre 65k e 78k vendas dependendo do cenário. Esse é o número honesto para planejamento — não um único valor pontual.

Por que distribuir pela sazonalidade e não uniformemente

Distribuição uniforme = meta/12 = ~5,6k/mês. Distribuição sazonal = ~6,2k/mês em jul-ago, ~4,8k/mês em dezembro. A diferença entre o pico real e a média uniforme é de aproximadamente 30%.

Se o time comercial e a operação de onboarding forem dimensionados pela média, vão ficar curtos no pico e ociosos no vale. Distribuir pela sazonalidade real evita isso e expõe a necessidade de capacidade flexível (campanhas de mídia concentradas em mai-ago, talvez contratação temporária).

Stretch declarado: a Contabilizei abre 35-40k empresas/ano hoje. Para 67k em 2026 ela precisaria quase dobrar a taxa atual. Se o objetivo for mais conservador, 17% ≈ 57k é um cenário mais executável dentro da capacidade atual.
← Voltar ao bloco no site
Bloco 05 — Estratégia (matriz volume × CAGR)

Por que medianas dividem os quadrantes.

A matriz volume × CAGR é uma adaptação da clássica matriz BCG. Eixo X = volume 2025 (em escala log para os setores grandes não dominarem visualmente). Eixo Y = CAGR 2018-2025. Cortes nas medianas dividem o gráfico em 4 quadrantes.

Por que medianas e não médias

  • Robustez a outliers. Um setor gigante (Medicina) puxa a média de volume para cima e distorce a classificação dos demais. A mediana resiste a isso.
  • Balanceamento garantido. Por construção, ~50% dos setores ficam acima de cada mediana. Quadrantes nunca ficam vazios artificialmente, e cada um tem população suficiente para análise.
  • Sliders ajustáveis. O site permite mover as linhas para outro corte (ex: "considere apenas quem cresce mais que 15%") e ver como a classificação muda. As medianas são apenas o default.

O significado de cada quadrante

Quadrante Volume CAGR Recomendação
ATACAR Alto Alto Investimento prioritário — tem escala e cresce
APOSTAR Baixo Alto Tese de futuro — apostar na trajetória
MANTER Alto Baixo Vaca leiteira — defender o share existente
DEPRIORIZAR Baixo Baixo Não vale o esforço de aquisição

Por que filtramos volume mínimo (1.500 default)

Setores microscópicos (com menos de 500 aberturas/ano) entram na matriz com CAGR distorcido por base baixa. Crescer de 50 para 100 é +100% ao ano, mas é ruído estatístico. O filtro remove esses casos. O slider no site permite ajustar.

De quadrantes para 3 frentes — passagem da análise para a estratégia

A matriz mostra onde investir, mas não como. As 3 frentes priorizadas (Vertical Saúde, TI/DEV freelancer fora de SP, Reforma Tributária como gatilho) são a operacionalização dessa leitura: cada frente tem mensagem definida, canais de aquisição, KPI de 90 dias e KPI de 12 meses. Total = 61k aberturas atribuídas, equivalente a ~90% da meta de 20% de market share, sem inventar canal novo nem dobrar o time.

Aprofundamento técnico

Decisões técnicas e por quê.

Perguntas naturais que surgem ao examinar o trabalho, e a explicação de cada decisão. Tudo o que aparece aqui está em outputs/ no repositório — apenas ficou fora da apresentação principal por foco e tempo.

A série é estacionária? Foram aplicados testes formais de estacionariedade (ADF / KPSS)?
Não, e por escolha consciente. A série claramente não é estacionária em nível (cresce 135% em 8 anos), e por isso usamos modelos que já assumem não-estacionariedade. SARIMA(1,1,1)(1,1,1,12) aplica duas diferenciações (regular e sazonal), o que equivale a estacionarizar antes de modelar. Holt-Winters multiplicativo é um modelo de espaço de estados com nível e tendência adaptativos, que naturalmente acomoda séries não estacionárias. ADF/KPSS na série diferenciada e dessazonalizada passariam, mas o teste seria redundante dada a especificação dos modelos.
Os resíduos do modelo passaram em teste de Ljung-Box (autocorrelação)?
Não fizemos diagnóstico in-sample formal de autocorrelação dos resíduos. O critério usado foi o desempenho out-of-sample no hold-out 2025, que é evidência mais forte: se o modelo tivesse autocorrelação significativa nos resíduos, o erro fora da amostra seria pior do que 8,1%. MAPE de 8% no hold-out indica que a estrutura foi bem capturada.
Por que SARIMA fixo em (1,1,1)(1,1,1,12) e não auto-ARIMA por AIC/BIC?
SARIMA(1,1,1)(1,1,1,12) é a especificação canônica para séries com tendência e sazonalidade mensal. Auto-ARIMA por AIC/BIC frequentemente oscila em ±1 lag, com ganho marginal que não justifica o custo computacional e a perda de simplicidade interpretativa. O foco foi entregar um sinal claro, não otimizar centésimos de ponto percentual.
E a quebra estrutural do COVID em 2020 — não foi tratada?
Visualmente, abr-jul/2020 é o único trimestre que destoa. Não tratamos com dummy explícita ou intervention analysis (Box-Tiao) por três motivos: (i) são 4 pontos atípicos em 96 meses no total (~4%), (ii) STL com pesos robustos absorve esses pontos no resíduo sem distorcer tendência ou sazonalidade, (iii) o hold-out é 2025, distante do choque. Tratando explicitamente, o MAPE cairia algo como 0,3-0,5 p.p., insuficiente para mudar a conclusão.
Multiplicativo vs log-aditivo — não dá no mesmo?
Em primeira ordem, sim — são equivalentes matematicamente. A diferença é prática: Holt-Winters multiplicativo nativo é mais legível (a previsão sai já em escala de aberturas), enquanto fazer log-aditivo exigiria transformar para log, ajustar, e depois tomar exponencial — e a exponencial introduz viés se não corrigir explicitamente. Por simplicidade e robustez, escolhemos o multiplicativo direto.
Por que MAPE como métrica e não sMAPE / WAPE?
MAPE é o padrão executivo — direto de comunicar ("erra 8%"). Funciona bem aqui porque os volumes mensais sempre estão na casa dos milhares, sem valores próximos de zero (que inflariam o MAPE). Em cortes finos (cidade × setor) o MAPE de fato infla um pouco, e é por isso que reportamos também o MAPE ponderado por volume (18,7%) lado a lado com o mediano (22,7%) — para dar leitura mais honesta nesses casos.
Como sabemos que o padrão sazonal não é overfitting?
Por três cortes independentes: (i) o índice é a média de 8 anos de dados, não de um ano único; (ii) o padrão tem fundamentação no mundo real — calendário fiscal, contratual e administrativo brasileiro; (iii) o modelo que assume esse padrão (multiplicativo) vence o que assume outro padrão (aditivo) por margem grande no hold-out. Overfitting falharia em pelo menos uma dessas três verificações.
O CV histórico foi usado em alguma decisão?
Sim — está em cv_por_corte.csv. CV é diagnóstico a priori da dificuldade de previsão, independente do modelo. Cortes com CV > 0,7 são intrinsecamente difíceis de prever (ex: Psicologia em BH com CV 1,07). Esse dado nos ajuda a explicar por que alguns cortes erram — não é o modelo que está mal, é o fenômeno que tem ruído alto demais para o tamanho da série.