Puede calcular el decil en MySQL para identificar a los mejores clientes. Básicamente, clasifica y agrupa a los clientes en 10 grupos según las ventas totales. Con base en el resultado, puede idear iniciativas de retención más enfocadas y relevantes. Aquí hay una consulta preparada para hacerlo.
Calcular Decil en MySQL
Por ejemplo, tiene una tabla pedidos que contiene todos los pedidos de productos para cada usuario. Quiere calcular el decil en 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 | +-----------+----------+---------+---------------+
Aquí hay una consulta que puede usar para calcular el decil en MySQL en función de los totales. Simplemente reemplace las columnas:ID de usuario, ventas y tabla:orden. Agrega las ventas totales de cada usuario. Luego los clasifica en ventas totales. Finalmente, calcula el decil usando el rango.
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
Si ya tiene las ventas totales de cada usuario en la tabla y desea usar directamente la tabla para calcular el decil, aquí tiene una consulta