1 — InteraçõesSimule ações de um usuário. Cada botão chama um endpoint real.
Ações
Enviadas via header user-id
Usuário ativo
Produto
Executar
Estado da Memória
Os três arrays TypeScript que são a fonte de verdade
ao vivo
events[]0
PRODUCT_VIEW0
ADD_TO_LIST0
PURCHASE0
vazio
shoppingList[]0
vazia
products[]
0readonly
2 — Pipeline de EventosO que acontece internamente a cada ação — execute uma ação acima para ver o fluxo animado
1Ação
aguardando...
→
2Evento criado
–
→
3Peso
–
→
4Algoritmos afetados
–
→
5Resultado
–
3 — AlgoritmosCálculos que transformam eventos brutos em recomendações
Score híbrido por categoria
Base das recomendações personalizadas
user 1
score = PRODUCT_VIEW × 1
+ ADD_TO_LIST × 3
Realize ações para ver os scores acumulando
Co-ocorrência — pares de produtos
Frequência com que produtos aparecem juntos
ADD_TO_LIST baskets
Um "carrinho virtual" = todos os ADD_TO_LIST de um mesmo userId.
Pares que aparecem juntos em mais carrinhos têm score mais alto.
Adicione produtos à lista para gerar co-ocorrências
4 — Carrinhos VirtuaisADD_TO_LIST agrupados por userId — a estrutura de dados que alimenta a co-ocorrência
Carrinhos ativos
Cada usuário tem um "carrinho" implícito formado pelos seus ADD_TO_LIST
Nenhum carrinho ainda — adicione produtos à lista com diferentes usuários
5 — RecomendaçõesSaída final dos cinco algoritmos — atualiza após cada ação
Resultados dos algoritmos
Cada aba usa uma lógica diferente para gerar a lista
user 1
Score híbrido por categoria. Soma eventos do usuário com pesos diferentes:
PRODUCT_VIEW × 1 e ADD_TO_LIST × 3.
A categoria com maior score total "ganha" — retorna produtos dessa categoria que o usuário ainda não interagiu.
Nenhuma recomendação ainda
Realize ações com o usuário selecionado
Popularidade global. Conta os últimos 50 eventos ADD_TO_LIST de qualquer usuário
e retorna os 10 produtos mais adicionados. Sem nenhuma personalização — igual para todos.
Nenhum produto trending
Adicione produtos à lista
Recompra por intervalo estimado. Para cada PURCHASE do usuário, calcula dias desde a última compra
e compara com o intervalo da categoria: Laticínios/Hortifruti/Carnes/Padaria = 7 dias,
Bebidas/Congelados = 14 dias, Limpeza/Higiene/Mercearia = 30 dias.
Nenhum item para restock
Registre compras — o produto aparece aqui após o intervalo da categoria expirar
Co-ocorrência no produto selecionado. Para cada usuário que adicionou o produto atual à lista,
conta os outros produtos do carrinho dele. Retorna ordenado por frequência —
"quem levou este, também levou..."
Selecione um produto e adicione-o à lista
A co-ocorrência se forma quando múltiplos usuários adicionam os mesmos pares
Co-ocorrência sobre a lista inteira. Aplica a engine de co-ocorrência sobre
todos os produtos já na lista do usuário. Agrega os pares de cada item e sugere o que mais aparece junto,
excluindo o que ele já tem — "quem tem X e Y geralmente também leva..."
Adicione produtos à lista do usuário selecionado
As sugestões aparecem baseadas nos carrinhos de outros usuários
6 — Histórico de AçõesRegistro cronológico desta sessão com o efeito de cada ação nos algoritmos