Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Congratulations to the new Qlik Luminary and Partner Ambassador class! Meet them here
cancel
Showing results for 
Search instead for 
Did you mean: 
AdminLoghaus
Contributor II
Contributor II

Clientes Recuperados

Boa tarde pessoal!
Gostaria da ajuda de vocês, estou trabalhando numa informação de Clientes Recuperados, ou seja, clientes que estavam a mais de 12 meses sem comprar, mas que voltaram a comprar no mês atual (Mês de análise). Utilizei o método abaixo para marcar os clientes inativos, porém não deu muito certo, me trouxe apenas resultados de jan, fev e mar 2024 ↓↓↓

ClientesInativos:
LOAD
PedidoVendaCódigoCliente,
1 as PedidoVendaIndicadorInativo // Marca clientes que estavam inativos
Resident UltimoPedidoTotal
Where Monthstart(PedidoVendaUltimaDataFaturamentoPedido) < Monthstart(AddMonths(Today(), -12));

Labels (4)
1 Solution

Accepted Solutions
priscilarubim
Partner - Creator II
Partner - Creator II

Oi @AdminLoghaus !

Achei interessante seu caso e fiz alguns testes. Não sei se ainda tem a mesma questâo, mas veja se essa abordagem funciona pra vc.

O ponto chave é que precisamos de duas condições:

  1. O cliente comprou no mês atual
  2. A compra anterior (antes deste mês) foi há mais de 12 meses

Passo 1 — Última compra por cliente
Agrupamos os pedidos por cliente e pegamos a data máxima de faturamento. Fazemos um Left Join na tabela principal para trazer esse campo.

Passo 2 — Penúltima compra por cliente
Com a UltimaDataCompra já disponível na tabela, filtramos apenas as datas anteriores a ela e pegamos o máximo — que resulta na penúltima compra de cada cliente.

Passo 3 — Mapping de clientes recuperados
Criamos um Mapping que aplica a lógica: se a última compra foi no mês atual E a penúltima foi há mais de 12 meses, o cliente recebe flag 1. Caso contrário, 0.

Passo 4 — Flag na tabela principal
Aplicamos o Mapping na tabela principal via ApplyMap com default 0 — isso garante que todo cliente receba uma flag, mesmo os que compraram pela primeira vez e não têm penúltima compra.

priscilarubim_0-1789508701705.png

 

Resultado:

priscilarubim_0-1789562170063.png

 

Espero que ainda ajude 🙂

View solution in original post

1 Reply
priscilarubim
Partner - Creator II
Partner - Creator II

Oi @AdminLoghaus !

Achei interessante seu caso e fiz alguns testes. Não sei se ainda tem a mesma questâo, mas veja se essa abordagem funciona pra vc.

O ponto chave é que precisamos de duas condições:

  1. O cliente comprou no mês atual
  2. A compra anterior (antes deste mês) foi há mais de 12 meses

Passo 1 — Última compra por cliente
Agrupamos os pedidos por cliente e pegamos a data máxima de faturamento. Fazemos um Left Join na tabela principal para trazer esse campo.

Passo 2 — Penúltima compra por cliente
Com a UltimaDataCompra já disponível na tabela, filtramos apenas as datas anteriores a ela e pegamos o máximo — que resulta na penúltima compra de cada cliente.

Passo 3 — Mapping de clientes recuperados
Criamos um Mapping que aplica a lógica: se a última compra foi no mês atual E a penúltima foi há mais de 12 meses, o cliente recebe flag 1. Caso contrário, 0.

Passo 4 — Flag na tabela principal
Aplicamos o Mapping na tabela principal via ApplyMap com default 0 — isso garante que todo cliente receba uma flag, mesmo os que compraram pela primeira vez e não têm penúltima compra.

priscilarubim_0-1789508701705.png

 

Resultado:

priscilarubim_0-1789562170063.png

 

Espero que ainda ajude 🙂