Puoi calcolare il decile in MySQL per identificare i migliori clienti. Fondamentalmente, classifichi e raggruppi i clienti in 10 gruppi in base alle vendite totali. In base al risultato, puoi elaborare iniziative di fidelizzazione più mirate e pertinenti. Ecco una query pronta per farlo.
Calcola decile in MySQL
Ad esempio, hai una tabella ordini che contiene tutti gli ordini di prodotti per ciascun utente. Vuoi calcolare il decile in MySQL.
order +-----------+------------+----------+ | user_id | product | sales | +-----------+------------+----------+ | 1 | Soap | 10 | | 4 | Perfume | 100 | | 1 | Noodles | 20 | | 3 | Deo | 200 | +-----------+------------+----------+
deciles +-----------+----------+---------+---------------+ | user_id | total | rank | decile | +-----------+----------+---------+---------------+ | 1 | 30 | 3 | 3 | | 4 | 100 | 2 | 7 | | 3 | 200 | 1 | 10 | +-----------+----------+---------+---------------+
Ecco una query che puoi utilizzare per calcolare il decile in MySQL in base ai totali. Basta sostituire le colonne – user_id, sales e table – order. Aggrega le vendite totali per ciascun utente. Quindi li classifica sulle vendite totali. Infine, calcola il decile usando rank.
select user_id,total,rank,round(10*(cnt-rank+1)/cnt,0) as decile from (SELECT user_id,total,@curRank := @curRank + 1 AS rank FROM (select user_id,sum(sales) as total from `order` group by user_id) p, (SELECT @curRank := 0) r ORDER BY total desc ) as dt,(select count(distinct user_id) as cnt from `order`) as ct
Se hai già vendite totali per ogni utente nella tabella e desideri utilizzare direttamente la tabella per calcolare il decile, ecco una query