SAS : O Modelo de Frete do Grupo SBF

Natasha Miata
sbf-tech
Published in
10 min readAug 23, 2023

Este artigo aborda sobre o modelo de Machine Learning de frete utilizado pelo Grupo SBF.

A tendência de crescimento do varejo digital segue se confirmando: de acordo com a Linx, o segmento registrou um aumento de 20,1% durante o primeiro semestre de 2023 em comparação ao mesmo período no ano anterior. Além disso, um relatório divulgado pela Worldpay from FIS projeta um crescimento global de 55,3% até 2025.

Neste cenário de crescimento e especialização do varejo digital, excelência na entrega é um dos diferenciais para fechar a venda e reter clientes.

(Photo by https://www.cashlocal.com.br/blog/o-novo-varejo-na-pandemia/)

Durante uma análise interna realizada pelo grupo SBF em parceria com uma consultoria em 2021, foi constatado que prazos de entrega mais curtos têm um impacto significativo na taxa de conversão. Por exemplo, quando o prazo de entrega prometido ao cliente é reduzido de 5 para 2 dias, observou-se um aumento de aproximadamente 6% na taxa de micro conversão no Sudeste.

Uma variável com grande peso para a decisão do cliente em realizar a compra ou não é o tempo estimado para o recebimento do(s) produto(s). Intuitivamente, quanto mais rápido o prazo de entrega oferecido maior a probabilidade de o cliente decidir comprar o produto. Em um cenário em que os preços oferecidos são similares aos da ocorrência, é esperado que o prazo de entrega seja um dos fatores decisivos para a decisão do cliente. De fato, em um estudo feito pela empresa fornecedora de logística terceirizada Dotcom, 87% dos entrevistados afirmaram que a velocidade de entrega é um fator-chave na decisão para comprar novamente em um e-commerce.

Dadas as incertezas que permeiam toda operação de logística, os prazos de entrega fornecidos pelas empresas de frete para seus parceiros do varejo são na maioria das vezes maiores do que os prazos que são de fato realizados. Frequentemente, essa margem de segurança utilizada pelas empresas de logística é considerável: em uma análise feita internamente no Grupo SBF, houve casos de entregas estimadas para 12 dias que foram realizadas em apenas 1 dia.

Exibir prazos de entrega demasiadamente longos no site impacta a conversão, podendo levar os clientes a procurarem concorrentes que anunciam prazos de entrega menores. Ao mesmo tempo, prazos de entrega demasiadamente curtos podem gerar atrasos recorrentes que impactarão significativamente a experiência dos clientes, dado que a incidência de atrasos nas entregas é um dos fatores que mais pesam negativamente na satisfação dos clientes em uma compra. Deste modo, uma ferramenta que seja capaz de estimar os prazos de entrega com acurácia e segurança torna-se imprescindível para toda operação de varejo digital.

É nesse contexto de otimização dos prazos de entrega oferecidos aos clientes que o SAS (Statistical and Analytical Shipping), a ferramenta estatística desenvolvida internamente pelo Grupo SBF para o cálculo dos prazos de entrega, entra em cena. Baseado em amostragens de entregas realizadas, o SAS determina prazos de entrega otimizados para cada destino, mantendo a incidência de atrasos dentro da margem esperada.

Para entendermos como funciona o SAS, é importante compreendermos como o Código de Endereçamento Postal (CEP) de cada localidade é definido.

Entendendo sobre CEP

O código de endereçamento postal (CEP) foi criado no Brasil em maio de 1971 com o intuito de acelerar e organizar a postagem, localização e distribuição de correspondências de maneira lógica e consistente. Quando foi criado possuía apenas cinco dígitos. Atualmente, é composto por oito dígitos.

(Photo by https://www.correios.com.br/enviar/precisa-de-ajuda/tudo-sobre-cep)

Cada número do CEP corresponde a uma região, sub-região, setor, subsetor, divisor de sub setor e identificadores de distribuição, respectivamente. É importante salientar que os últimos três dígitos do CEP, os sufixos, representam a identificação individual de localidades, como ruas, avenidas, etc.

(Photo by https://conhecimentocientifico.com/codigo-de-enderecamento-postal-cep/ )

O Brasil foi dividido em dez regiões postais, iniciando a contagem em 0 até 9, partindo de São Paulo no sentido anti-horário, sendo utilizado como parâmetro o desenvolvimento socioeconômico e crescimento demográfico de cada Unidade da Federação da época (década de 1970).

Por exemplo, o CEP 05425–902 se refere a um CEP de São Paulo, pois se inicia com 0. Já o CEP 40470–630 corresponde à faixa regional da Bahia, mais especificamente Salvador.

O que é o SAS?

O SAS (Statistical and Analytical Shipping) é um modelo preditivo que gera estimativas de prazos de entrega baseadas em amostragens estatísticas dos prazos realizados.

O modelo faz uma amostragem de entregas realizadas em um período escolhido para um grupo de CEPs geograficamente similares. Como exemplo, o SAS pode utilizar os 4 primeiros dígitos do CEP para agrupar amostras até o nível de Subsetor.

Com esta amostragem, é possível estimar empiricamente percentis dos prazos de entrega realizados. Percentil é uma medida que divide uma amostra de valores em cem partes, de maneira crescente.

Um percentil alto da distribuição empírica (por exemplo, p = 97.5%) pode então ser definido como o prazo máximo para os CEPs da amostra.

Neste caso, a tolerância para atrasos escolhida seria então cerca de 2.5% das entregas.

Imagem Autoral

Portanto, o SAS estima um intervalo de tolerância para as entregas para um determinado conjunto de CEPs geograficamente próximos. Desse modo, os prazos mínimos e máximos estimados são os extremos mínimos e máximos desses intervalos.

Na prática, estimar o prazo mínimo usando intervalos de tolerância não é muito útil, já que entregas antes do prazo previsto em geral não são avaliadas negativamente pelos clientes.

Deste modo, faz mais sentido estimar empiricamente o prazo máximo tendo como referência um valor baixo para a taxa de atraso (2,5%, no exemplo acima) e usar um valor fixo (“delta”) para o intervalo entre o prazo mínimo e o prazo máximo.

Como exemplo, em uma entrega em que o prazo máximo é estimado como 8 dias, um delta escolhido de 2 dias fornecerá um prazo mínimo de 6 dias, e o cliente verá que a sua compra chegará em seu domicílio em 6 a 8 dias.

O delta é uma variável de grande importância para o negócio, pois é interessante que essa diferença entre os prazos não seja muito grande. Por exemplo, uma entrega estimada em um intervalo de tempo de 1 a 100 dias não trará segurança ao cliente sobre o prazo real e certamente resultará em uma experiência ruim ao comprador.

Desafios Técnicos

Como todo produto de dados, a implementação de sistemas estatísticos de otimização de prazos prometidos para os clientes como o SAS carrega consigo uma série de desafios técnicos, que passam pelos seguintes pontos principais:

  • Fontes de Dados: Para que seja possível treinar o modelo continuamente, é fundamental que os dados de entrega estejam disponíveis em um data warehouse centralizado. Esta base de dados deve conter todas as informações relevantes para o cálculo dos artefatos do modelo, como por exemplo, CEP de destino dos pedidos, data de pagamento pelo cliente, data realizada de entrega, entre outros.
  • Automatização do Treinamento: Toda operação complexa como a logística de entregas de uma grande companhia de varejo digital está sujeita a fatores de imprevisibilidade. O volume de entregas, a disponibilidade das transportadoras, problemas de operação dos centros de distribuição, entre outros fatores, podem impactar os prazos de entrega realizados. Deste modo, o modelo estatístico deve ser re-treinado continuamente para garantir que os prazos prometidos para os clientes refletem os prazos que são realizados de fato.
  • Monitoramento do Modelo Estatístico: O modelo em produção deve ser continuamente monitorado, de modo que qualquer perda de performance ou falha de execução seja rapidamente diagnosticada e corrigida.
  • Coleta de Dados Gerados pelo Modelo (artefatos): Para ser capaz de monitorar, auditar e colocar o modelo em produção, diversas métricas e artefatos devem ser coletados. Por exemplo, taxas de atraso e taxas de melhoria dos prazos prometidos aos clientes, calculadas em um conjunto de validação, fornecem estimativas de métricas de performance do modelo sempre que ele é re-treinado. Da mesma forma, as tabelas com as previsões de prazos devem ser salvas caso seja necessário auditar o modelo posteriormente.

Este problema da variação dos prazos de entrega realizados ao longo do tempo (conhecido como concept drift na comunidade de data science e machine learning) pode ser resolvido com uma implementação de treinamento contínuo, em que o treinamento do modelo é automatizado em intervalos curtos de tempo para acompanhar as variações da variável resposta (no caso, os prazos de entrega realizados).

Arquitetura do SAS

Abaixo temos o desenho da arquitetura atual do modelo:

Imagem Autoral

As etapas da pipeline do modelo são descritas abaixo.

Config files: São os arquivos de configuração do SAS, com hiperparâmetros relevantes para o treinamento do modelo, como: lista de feriados, tamanho da amostra de treino, UF, quantidade de semanas de treinamento, percentil da amostra a ser considerado no treinamento, etc.

Extract: Extração de dados do data lake/data warehouse.

Train: Treinamento do SAS com os dados extraídos, e de acordo com todos os parâmetros passados nos config files.

Build: Pós-processamentos como remoção de possíveis duplicidades, UFs e estabelecimentos de origem não desejados.

Validate: Validação das tabelas de prazo geradas. Por exemplo, todos os prazos mínimos devem ser maiores que ou iguais a 1 dia, e todos os prazos máximos devem ser estritamente maiores que os respectivos prazos mínimos, ou se os estados não incluídos na carga foram realmente removidos, etc.

Update: Após todas as etapas anteriores ocorrerem de maneira correta e como esperado, os dados são enviados para o banco de dados transacional em produção para consumo pela API que calcula os prazos para os clientes no site da Centauro.

Todos os artefatos, métricas e logs relacionados ao modelo são salvos em um bucket em um Store.

Métricas do modelo

As principais métricas utilizadas para avaliar a performance do modelo, tanto em validação quanto em produção, são descritas a seguir.

  • Taxa de Atraso: Pedidos entregues depois do prazo máximo do SAS. Crucial para avaliar se é necessário modificar o percentil usado pelo modelo.
  • Taxa de Antecipação: Pedidos entregues antes do prazo mínimo do SAS;
  • Taxa de Melhoria: Porcentagem de pedidos em que o prazo máximo prometido pelo SAS é estritamente menor que o prazo máximo prometido pelas transportadoras.
  • Acurácia: É a fração de pedidos entregues estritamente dentro do prazo, ou seja, no intervalo entre os prazos de entrega mínimo e máximo. Esta métrica é conhecida em logística como OTD (On-Time Delivery).

Monitoramento

O acompanhamento em produção das métricas descritas acima deve ser feito tanto pelo time de cientistas de dados responsáveis pelo modelo quanto pelos stakeholders do produto (times de logística, NPS, etc). Deste modo, a solução ideal para o monitoramento contínuo do modelo passa pela construção de dashboards interativos. Para o SAS, implementamos um dashboard que permite monitorar as métricas do modelo em qualquer janela de tempo desejada. Esta implementação foi feita em Python, usando a biblioteca Streamlit.

Resultados

Após a implementação do SAS pudemos perceber melhoras significativas. Por exemplo, a acurácia passou a 60%, em contraste com uma acurácia de 5% sem o SAS.

O principal resultado obtido com o SAS, no entanto, foi a redução em cerca de 92% dos prazos prometidos para os clientes, sem impactar negativamente as taxas de atraso.

A visualização abaixo mostra como é possível conseguir este resultado com o SAS. Nela, as distribuições dos prazos de entrega amostradas em um período de 30 dias para todo o Brasil são visualizadas. A distribuição dos prazos prometidos pelo SAS (laranja) fica entre as distribuições de prazos realizados (verde) e prazos prometidos pelas transportadoras (azul), o que significa que o modelo encontra uma distribuição capaz de reduzir os prazos prometidos sem aumentar significativamente as taxas de atraso.

Imagem Autoral

Este resultado fica ainda mais impressionante quando consideramos apenas as grandes metrópoles do Brasil, que concentram a maior parte dos pedidos. Em São Paulo, por exemplo, os prazos obtidos com o SAS são menores que os prazos prometidos pelas transportadoras em 99,9% dos pedidos. No Rio de Janeiro, obtivemos resultados tão bons quanto em SP, com uma taxa de melhoria dos prazos de cerca de 99,1%.

Conclusão

Com a implementação do SAS conseguimos resolver um problema desafiador da parte de transporte e logística do Grupo SBF que é a geração de prazos de entrega dinâmicos, mais realistas e adaptados para cada localidade do Brasil.

Estimar de maneira otimizada e segura os prazos de entrega que serão realizados por uma grande empresa de varejo digital é um problema complexo, que compreende diversas transportadoras realizando entregas em diferentes regiões do país, partindo de diferentes centros de distribuição.

A implementação de um modelo de dados como o SAS leva a uma grande simplificação do problema, e o uso de práticas consolidadas de MlOps (machine learning operations) como treinamento contínuo e monitoramento e validação em produção garante que esta solução acompanhará os prazos de entrega que estão sendo de fato realizados pelas transportadoras.

Deste modo, o SAS proporciona um aumento na conversão com a diminuição dos prazos prometidos aos clientes, ao mesmo tempo em que melhora a experiência de compra destes, ao fornecer-lhes prazos de entrega mais realistas para as suas localidades.

--

--