Curva de compras (Logística)

Objetivo: prever quando e quanto cada escola irá comprar ao longo de 2026, gerando a curva acumulada de compras (semanal/mensal) por Escola × Série × Selo/Produto × UF/Região, para antecipar falta, calcular ponto de pedido e orquestrar produção, estoque e logística.

Dados

  • Histórico 2023–2025: pedidos, faturamento, devoluções, metas/planejado, MAX_PEDIDO (quantidade enviada), cancelamentos.

  • Dimensões: escola, rede, série/segmento, selo/produto, UF/região, canal.

  • Sinais operacionais: lead time por escola/selo/série, rupturas, calendário escolar por UF, calendário promocional, janelas de adoção/renovação.

Abordagem Analítica (duas camadas)

  1. Modelo de Share Temporal (Curva %)

    • Estima a participação semanal/mensal da demanda ao longo do ano:

      • Métodos: Beta Regression / GAM spline (curva suave).

      • Features: semana do ano, DOW, calendário escolar (início de aulas, matrículas), feriados, efeitos regionais.

    • Saída: vetor %_curva[t] que soma ~100% por escola/série/selo (ou por nível agregado, com reconciliação).

  2. Nível de Volume (Escala)

    • Define o total anual esperado por chave (baseline de 2025 ajustado por adoção/renovação, tendência, efeitos regionais).

    • Métodos: XGBoost/LightGBM com lags, média móvel, adoção nova vs. renovação, preço/desconto, histórico de devolução, esforço comercial.

    • Reconciliação hierárquica (Top-Down/MinT) para garantir fechamento: SKU/selo → série → escola → UF → Brasil.

Demanda prevista no tempo: Forecast[t] = Total_ano_previsto × %_curva[t]

Tratamentos críticos (negócio)

  • Devoluções: modelagem de probabilidade/severidade → previsões bruta e líquida (para caixa/produção).

  • Rupturas/Indisponibilidade: flag de períodos afetados para não distorcer a curva; ajuste por “demanda perdida”.

  • Escola nova / Série nova: cold-start via clones por segmento/UF e curvas médias por perfil.

  • Outliers: isolamento de picos atípicos (campanhas, ações pontuais) com winsorization e event flags.

Operação & Monitoramento

  • Atualização semanal (diária no pico Nov–Mar).

  • Ponto de Pedido: cálculo por escola/selo considerando lead time + 1 dia e cobertura (p50/p90).

  • Gate de Falta: regras com QTD_FALTA_MES/ACUM e alerta quando o realizado < curva esperada.

  • KPIs: WMAPE (por nível), MASE, Bias (over/under), Acurácia da Curva (% realizado vs. % previsto por janela).

Entregáveis

  • Tabelas de saída

    • curva_share_semana (percentual previsto da curva por semana)

    • demanda_total_prevista_{p50,p90} (ano e cortes mensais)

    • forecast_temporal_{p50,p90} (valor por semana/mês)

    • forecast_liquida (após devolução) + metadados (versão, erro histórico, flags)

  • Dashboard (Power BI)

    • Curva acumulada vs. realizado, mapa de calor por UF/semana, alerta de falta, ponto de pedido, ranking de escolas/séries em risco.

  • Jobs

    • Pipeline de feature→treino→previsão (cron/airflow), logs e versionamento (MLflow/Git).

Stack

  • Python: pandas, xgboost, lightgbm, prophet/statsmodels, scikit-learn, optuna, mlflow.

  • Escala: polars/pyarrow (opcional).

  • Qualidade de dados: regras de DQ e consistência escolar/serie/selo.