Você já recebeu a notícia de que o último item da loja foi vendido para duas pessoas ao mesmo tempo? Para o cliente que ficou sem o produto, é um cancelamento. Para a loja, é reembolso, tempo de atendimento, uma avaliação ruim e, em canais de venda de terceiros, possível penalidade na conta.
Esse problema tem nome: overselling, ou venda duplicada de estoque. É a situação em que a loja aceita mais pedidos do que unidades existem. E o ponto mais traiçoeiro é que ele costuma funcionar perfeitamente com uma pessoa por vez, e só aparece quando muita gente compra junto, que é justamente o dia de maior faturamento.
Este guia explica o que é overselling, por que ele acontece, quanto custa, como detectar na sua loja e o que fazer para evitar. Também mostro um caso real que executei: uma camiseta em estoque, 300 tentativas de compra simultâneas e dois resultados bem diferentes.
O que é overselling
Overselling é vender mais do que você tem. Se existe 1 unidade em estoque e a loja confirma 2 pedidos, houve overselling. A consequência prática é sempre a mesma: um dos clientes vai receber um cancelamento depois de já ter pagado ou de achar que a compra estava garantida.
Existem três termos que se confundem e que vale separar:
| Termo | O que significa |
|---|
| Overselling (venda duplicada) | A loja aceita pedidos acima da quantidade disponível. |
| Estoque negativo | O saldo registrado no sistema fica abaixo de zero, geralmente como sintoma de overselling. |
| Ruptura de estoque | O produto acabou e a loja ainda não repôs, sem que tenha havido venda a mais. |
Ruptura é um problema de reposição. Overselling e estoque negativo são problemas de regra de venda: a loja deveria ter recusado o pedido e não recusou.
Por que o overselling acontece
Em quase todos os casos, o problema nasce de uma destas quatro situações:
- Compras simultâneas no mesmo item. A loja confere o saldo, confirma que há unidade e só depois baixa a quantidade. Se várias pessoas conferem antes de qualquer uma baixar, todas veem estoque disponível.
- Mais de um canal vendendo o mesmo estoque. Site próprio, marketplaces e venda presencial dividem o mesmo saldo. Se a atualização entre eles tem atraso, o mesmo item é vendido duas vezes.
- Aviso de pagamento repetido. Sistemas de pagamento podem enviar a mesma notificação mais de uma vez. Se a loja não reconhece que já processou aquele evento, baixa o estoque em dobro ou cria pedidos duplicados.
- Pagamento demorado sem reserva. Quando o cliente escolhe uma forma de pagamento que leva tempo para compensar e a loja não segura a unidade nesse intervalo, outra pessoa compra o mesmo item nesse meio tempo.
A primeira causa é a mais comum e a mais difícil de perceber, porque não depende de nenhum erro visível no site.
Por que ele só aparece no dia de pico
O overselling é um problema de sobreposição. Para que ele aconteça, duas ou mais pessoas precisam estar fechando o pedido do mesmo item no mesmo instante. Em um dia comum, com poucas compras espalhadas ao longo das horas, essa sobreposição quase nunca ocorre. Por isso a loja passa meses sem nenhum sinal.
Em um lançamento, uma coleção limitada ou uma data como a Black Friday, o cenário se inverte: muita gente tenta comprar um número pequeno de unidades ao mesmo tempo. É o pior momento possível para descobrir o problema, e é por isso que ele costuma ser notado só depois que o prejuízo já aconteceu.
Se você quer entender como se preparar para esse tipo de pico, o artigo sobre teste de carga em loja virtual mostra o que cobrar de quem cuida do seu site.
Um caso real: 300 compras para 1 camiseta
Para mostrar o overselling com número, e não com opinião, montei um caso técnico público. O cenário é direto: 1 camiseta em estoque e 300 tentativas de compra ao mesmo tempo.
Fiz duas versões do fechamento de pedido:
- Versão ingênua: como um tutorial comum a escreveria, sem nenhum atraso artificial. Ela olha o estoque, confere e depois baixa a quantidade, em passos separados.
- Versão correta: conferir e baixar o estoque viram uma única operação, feita um cliente por vez.
| Versão | Pedidos aceitos para 1 unidade |
|---|
| Ingênua | Entre 2 e 300, e nunca 1 (10 execuções registradas) |
| Correta | Exatamente 1, em todas as execuções |
Nas 10 execuções da versão ingênua, os pedidos aceitos foram 300, 300, 300, 290, 300, 3, 300, 300, 300 e 2. O número muda a cada rodada, porque depende do instante exato em que as requisições chegam. O que não muda é que a versão ingênua nunca vendeu apenas uma unidade.
A analogia do balcão ajuda: imagine uma camiseta na prateleira e 300 pessoas chegando no mesmo segundo. No sistema ingênuo, o atendente olha a prateleira, confirma que tem camiseta e só depois risca uma no caderno. Como todos olham antes de alguém riscar, todos veem a camiseta. No sistema correto, olhar e riscar são um gesto único: o primeiro leva, e para os outros a prateleira já está vazia.
Você encontra o passo a passo, o código e os testes no case técnico de venda duplicada de estoque.
Quanto custa o overselling
O custo raramente aparece em uma linha do relatório, porque se espalha por várias áreas:
- Reembolso e estorno do pedido cancelado.
- Tempo de atendimento para explicar, pedir desculpas e oferecer alternativa.
- Custo de operação, porque pedido que já entrou na expedição precisa ser desfeito.
- Avaliação ruim, que reduz a conversão das próximas vendas.
- Possível penalidade em marketplaces, onde a taxa de cancelamento por falta de produto pode afetar a reputação da conta.
Some a isso o custo de oportunidade: a venda que aconteceu no dia de maior demanda foi desfeita, e a unidade que não existia deixou de ser entregue a ninguém. Para lojas que dependem de datas de pico, esse é um dos prejuízos mais evitáveis que existem.
Como evitar o overselling
A boa notícia é que a solução se resume a quatro princípios, que valem independentemente de como a loja foi construída:
- Conferir e baixar numa única operação. A checagem do estoque e a baixa da unidade não podem ser etapas separadas. Elas precisam acontecer juntas, para que só o primeiro cliente leve a última unidade.
- Reservar a unidade por alguns minutos. Enquanto o cliente paga, o item fica segurado. Se o pagamento não acontece dentro do prazo, a unidade volta ao estoque automaticamente.
- Fazer cada aviso de pagamento valer uma vez. Mesmo que o sistema de pagamento repita a notificação, o efeito na loja acontece uma só vez. Isso evita baixa em dobro e pedidos duplicados.
- Ter um único dono do saldo. Se a loja vende em vários canais, todos precisam consultar e atualizar a mesma fonte de verdade, e não manter cada um a própria cópia do estoque.
No caso que mostrei, a versão correta aplicou o primeiro princípio, e a etapa seguinte, com reserva por tempo limitado e aviso de pagamento que vale uma vez, aplicou o segundo e o terceiro. Para quem vende em vários canais, o quarto é o que mais pesa, e é onde mais se perde dinheiro por falta de integração bem feita. Se esse é o seu cenário, vale conhecer o trabalho de integrações entre sistemas.
Como saber se sua loja tem overselling hoje
Você não precisa esperar o próximo pico para investigar. Alguns sinais indicam que o problema já existe:
- Pedidos cancelados por falta de produto que o site mostrava como disponível.
- Saldo de estoque negativo em algum produto, mesmo que por poucas unidades.
- Mais pedidos confirmados para um item do que unidades que existiam naquele dia.
- Reclamações de clientes dizendo que “o site deixou comprar” algo que depois não havia.
- Diferença entre o estoque do site e o estoque físico depois de campanhas.
Uma checagem simples: compare, para os últimos lançamentos ou promoções, o número de pedidos confirmados de cada item com a quantidade que realmente existia. Qualquer diferença para cima é overselling documentado.
O que fazer quando já vendeu a mais
Se o problema já aconteceu, o jeito de responder importa tanto quanto a correção técnica:
- Avise o cliente rápido e com clareza. Silêncio piora a avaliação. Explique o que houve sem culpar o cliente.
- Ofereça alternativa antes de só reembolsar. Um produto equivalente, uma lista de espera com prioridade ou um desconto na próxima compra reduzem a perda.
- Reembolse sem burocracia quando não houver alternativa. O custo de uma disputa costuma ser maior do que o do reembolso imediato.
- Ajuste todos os canais. Garanta que o item apareça como indisponível em todos os lugares onde é vendido.
- Registre a causa. Se foi simultaneidade, atraso entre canais ou aviso de pagamento repetido, a resposta muda. Sem isso, o problema volta.
Quais lojas têm mais risco
O risco é maior onde há poucas unidades e muita gente interessada ao mesmo tempo:
- Lojas de roupas com coleção limitada, com poucas peças por tamanho e lançamentos em horário marcado.
- Lojas de vinhos e produtos de nicho, com poucas unidades por rótulo e clientes que compram assim que recebem o aviso de reposição.
- Lojas de peças e acessórios, com itens únicos ou de baixa quantidade, vendidos no site e em outros canais ao mesmo tempo.
- Pequenas indústrias que vendem direto, com lotes pequenos, pedidos por link de pagamento e estoque que também alimenta o sistema de gestão.
Se a sua loja se encaixa em algum desses perfis, trate o overselling como um risco a ser testado, e não como um acidente raro.
O que este caso não prova
Um conteúdo sério diz onde ele para de valer. Os limites do caso são estes:
- O teste foi feito em uma única máquina e com uma única instância da aplicação. Cenários com várias instâncias rodando juntas não foram testados.
- Não existe política implementada para um pagamento aprovado depois que a reserva expirou (reembolsar ou reativar, se houver estoque).
- O aviso de pagamento do caso usa um sistema fictício que não verifica assinatura. Sistemas de pagamento reais assinam as notificações.
- Uma execução inicial registrou 301 pedidos para 300 requisições. Não se repetiu em dez execuções seguintes, e a causa não foi comprovada.
Cada uma dessas lacunas está listada no case como próximo passo, justamente porque a prova de que algo funciona só vale dentro do que foi testado.
Perguntas frequentes sobre overselling
O que é overselling?
É quando a loja aceita mais pedidos do que a quantidade disponível em estoque. Acontece por uma condição de corrida: a loja confere o saldo e baixa a unidade em passos separados, e várias compras simultâneas enxergam o mesmo saldo antes de qualquer baixa.
Overselling é a mesma coisa que estoque negativo?
Não, mas estão ligados. O estoque negativo é o sintoma que aparece no sistema quando houve overselling. Já o overselling é a causa: a loja vendeu o que não tinha.
Por que o overselling só acontece em dias de muita venda?
Porque ele exige que duas ou mais pessoas fechem o pedido do mesmo item ao mesmo tempo. Com poucas compras espalhadas, essa sobreposição quase não ocorre. Em lançamentos e promoções, ela se torna frequente.
Como evitar overselling em uma loja que vende em vários canais?
Faça todos os canais consultarem e atualizarem o mesmo saldo, em vez de cada um manter uma cópia. Garanta também que a atualização entre os canais aconteça sem atraso e que cada aviso de venda seja processado uma única vez.
Reservar o produto no carrinho resolve o problema?
Resolve parte dele. A reserva por alguns minutos evita que duas pessoas paguem pelo mesmo item ao mesmo tempo, mas ela não substitui a checagem correta no momento de baixar o estoque. As duas proteções se complementam.
Como sei se minha loja já teve overselling?
Compare pedidos confirmados com o estoque real de cada item em campanhas passadas, e procure saldos negativos e cancelamentos por falta de produto. Qualquer pedido acima do estoque existente é uma ocorrência.
Posso reproduzir o teste do seu caso?
Sim. O código e os testes estão em repositório público, e o passo a passo para rodar o teste está no case técnico.
Conclusão
Overselling não é falta de cuidado com o estoque. É uma falha silenciosa na regra de venda, que passa despercebida em dias comuns e custa caro justamente no dia em que mais se vende. O bom é que ela é mensurável: com um teste simples, é possível ver se a loja vende uma vez ou várias para o mesmo item.
Se a sua loja tem estoque limitado, vende em mais de um canal ou tem uma campanha forte no calendário, vale testar o fechamento de pedido antes, e não depois. Posso fazer esse levantamento e corrigir o que for preciso como desenvolvedor freelancer, do teste que mostra o problema em número até a correção no seu checkout. Se preferir conversar antes, fale comigo.
Referências