sql >> Databasteknik >  >> RDS >> Mysql

Hur man beräknar omvandlingsfrekvens i MySQL?

Det är viktigt att beräkna konverteringsfrekvens för varje företag. Så här beräknar du konverteringsfrekvens i MySQL. Du kan också använda den här frågan för trattanalys i PostgreSQL, SQL Server och Oracle.

Hur beräknar man omvandlingsfrekvens i MySQL?

Låt oss säga att du har 3 bord

registreringar (user_id, date_joined) –  innehåller alla användare som har registrerat sig på din webbplats

shopping_cart (user_id, product_id, date_added) –  innehåller alla användare som har lagt till minst en produkt i sin kundvagn, tillsammans med sina varukorgsartiklar.

köp (user_id,product_id,date_purchased,purchase_amount) – innehåller alla användare som  har köpt minst 1 produkt, tillsammans med varje produkts pris.

För att beräkna omvandlingsfrekvensen har vi endast visat nödvändiga kolumner i våra tabeller, de kan alltid innehålla fler kolumner.

Vi vill mäta konverteringsfrekvensen vid två punkter i vår konverteringstratt

  1. När användare lägger till minst en vara i kundvagnen – % av användare som har lagt till minst en vara i kundvagnen
  2. När användare köper minst 1 vara – % av användare som har köpt minst 1 vara

Bonus Läs:Hur man beräknar retentionsgrad i MySQL

Först beräknar vi det totala antalet registreringar, till exempel de senaste 30 dagarna.

mysql> select count(*) as signups from signups 
where date_joined > now() - interval 30 day;
+---------+
| signups |
+---------+
|    2130 |
+---------+

Bonusläsning:Hur fyller man i saknade datum i MySQL?

Därefter beräknar vi det totala antalet användare som lagt till minst en vara i sin kundvagn under de senaste 30 dagarna

mysql> select count(distinct user_id) as carts from shopping_carts
 where date_added > now() - interval 30 day;
+---------+
|   carts |
+---------+
|     416 |
+---------+

Se till att du använder distinkt i ovanstående fråga, för att endast räkna unika användare

Därefter beräknar vi antalet användare som har köpt minst en vara under de senaste 30 dagarna.

mysql> select count(distinct user_id) as purchases from purchases 
where date_purchased > now() - interval 30 day;
+----------+
|purchases |
+----------+
|      136 |
+----------+

Bonus Läs:Hur man beräknar månadsförsäljning i MySQL

Nu när vi har de tre siffrorna kan vi använda dessa frågor på flera sätt. Om du bara vill beräkna procentandelar för konverteringsfrekvens, är här SQL-frågan för att beräkna konverteringsfrekvens för att skapa en kundvagn

mysql>select 
     (select count(distinct user_id) from shopping_carts 
      where date_added > now() - interval 30 day)
       /
     (select count(*) as signups from signups 
      where date_joined > now() - interval 30 day) * 100 
     as 'Shopping Cart conversion';
+--------------------------+
| Shopping Cart conversion |
+--------------------------+
|                    19.53 |
+--------------------------+

och för inköp

mysql> select 
      (select count(distinct user_id) as purchases from purchases 
       where date_purchased > now() - interval 30 day)
       /
      (select count(*) as signups from signups 
       where date_joined > now() - interval 30 day) * 100
      as 'Purchase conversion';
+---------------------+
| Purchase conversion |
+---------------------+
|                6.38 |
+---------------------+

Bonusläsning:SQL-fråga för att jämföra produktförsäljning per månad

Om du vill skapa en omvandlingstratt, så här är den kombinerade frågan för att få alla 3 ovanstående räkningar i en enda tabell

mysql>select 'signups' as `funnel stage`, count(*) as `number of users` 
from signups
where date_joined > now() - interval 30 day
UNION
select 'carts' as `funnel stage`,count(distinct user_id) as `number of users` 
from shopping_carts 
where date_added > now() - interval 30 day
UNION
select 'purchases' as `funnel stage`,count(distinct user_id) as `number of users` 
from purchases 
where date_purchased > now() - interval 30 day

+-------------+-----------------+
|funnel stage | number of users |
+-------------+-----------------+
|  signups    |      2130       |
|  carts      |       416       |
|  purchases  |       136       |
+-------------+-----------------+

För att beräkna konverteringsfrekvens kan du enkelt rita dessa siffror på ett kolumndiagram eller trattdiagram med hjälp av ett diagramverktyg. Här är ett exempel på ovanstående data plottad i ett kolumndiagram med Ubiq.

Här är ett exempel på samma data plottad med hjälp av en konverteringstratt med Ubiq.

Om du vill skapa diagram, instrumentpaneler och rapporter från MySQL-databasen kan du prova Ubiq. Vi erbjuder en 14-dagars gratis provperiod.

  1. ORA-12514 TNS:listener känner för närvarande inte till tjänst som efterfrågas i anslutningsbeskrivningen

  2. Jobbkö som SQL-tabell med flera konsumenter (PostgreSQL)

  3. Uppdatera data i en MySQL-databas

  4. Hur man kontrollerar storleken på alla tabeller i en databas i MySQL