Du kan beräkna decil i MySQL för att identifiera de bästa kunderna. I grund och botten rankar och grupperar du kunder i 10 grupper baserat på total försäljning. Baserat på resultatet kan du komma med mer fokuserade, relevanta retentionsinitiativ. Här är en färdig fråga för att göra det.
Beräkna decil i MySQL
Du har t.ex. bordsbeställningar som innehåller alla produktbeställningar för varje användare. Du vill beräkna decil i MySQL.
deciler+------------+--------+--------+------------- --+| user_id | totalt | rang | decil |+-----------+-----------+--------+------------------- -+| 1 | 30 | 3 | 3 || 4 | 100 | 2 | 7 || 3 | 200 | 1 | 10 |+-----------+-----------+--------+------------------- -+
Här är en fråga du kan använda för att beräkna decil i MySQL baserat på totaler. Byt bara ut kolumnerna – user_id, sales och table – order. Den sammanställer den totala försäljningen för varje användare. Sedan rankar den dem på den totala försäljningen. Slutligen beräknar den decil med hjälp av rang.
välj user_id ,total,rank,round(10*(cnt-rank+1)/cnt,0) som decil från (SELECT user_id,total,@curRank :=@curRank + 1 AS rankFROM (välj user_id ,sum(försäljning ) totalt från `order ` grupp av user_id )p, (SELECT @curRank :=0) rORDER BY total desc ) som dt,(select count(distinct user_id ) som cnt från `order `) som ct
Om du redan har total försäljning för varje användare i tabellen och vill använda tabellen direkt för att beräkna decil, här är en fråga