sql >> Database >  >> RDS >> Mysql

Hoe de conversieratio berekenen in MySQL?

Het is belangrijk om de conversieratio voor elk bedrijf te berekenen. Hier leest u hoe u de conversieratio in MySQL kunt berekenen. U kunt deze query ook gebruiken voor trechteranalyse in PostgreSQL, SQL Server en Oracle.

Hoe de conversieratio in MySQL berekenen?

Laten we zeggen dat je 3 tafels hebt

aanmeldingen (user_id, date_joined) –  bevat alle gebruikers die zich hebben aangemeld op uw website

shopping_cart (user_id,product_id, date_added) –  bevat alle gebruikers die ten minste 1 product aan hun winkelwagen hebben toegevoegd, samen met hun winkelwagenitems.

aankopen (user_id,product_id,date_purchased,purchase_amount) – bevat alle gebruikers die  ten minste 1 product hebben gekocht, samen met de prijs van elk product.

Om de conversieratio te berekenen, hebben we alleen noodzakelijke kolommen in onze tabellen weergegeven, deze kunnen altijd meer kolommen bevatten.

We willen conversieratio's meten op 2 punten in onze conversietrechter

  1. Als gebruikers ten minste 1 artikel aan het winkelwagentje toevoegen – % gebruikers dat ten minste 1 artikel aan het winkelwagentje heeft toegevoegd
  2. Als gebruikers minimaal 1 item kopen – % gebruikers dat minimaal 1 item heeft gekocht

Bonus Lezen:Retentiepercentage berekenen in MySQL

Eerst berekenen we het totale aantal aanmeldingen, bijvoorbeeld de afgelopen 30 dagen.

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

Bonus lezen:hoe vul ik ontbrekende datums in MySQL in?

Vervolgens berekenen we het totale aantal gebruikers dat de afgelopen 30 dagen ten minste 1 artikel aan hun winkelwagentje heeft toegevoegd

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

Zorg ervoor dat u distinct . gebruikt in bovenstaande zoekopdracht, om alleen unieke gebruikers te tellen

Vervolgens berekenen we het aantal gebruikers dat de afgelopen 30 dagen ten minste 1 item heeft gekocht.

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

Bonus lezen:maandelijkse verkoop berekenen in MySQL

Nu we de 3 tellingen hebben, kunnen we deze zoekopdrachten op meerdere manieren gebruiken. Als u alleen conversiepercentages wilt berekenen, dan is hier de SQL-query om de conversieratio voor het maken van winkelwagentjes te berekenen

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 |
+--------------------------+

en voor aankopen

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 |
+---------------------+

Bonus lezen:SQL-query om productverkopen per maand te vergelijken

Als u een conversietrechter wilt maken, volgt hier de gecombineerde zoekopdracht om alle 3 bovenstaande tellingen in één tabel te krijgen

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       |
+-------------+-----------------+

Om de conversieratio te berekenen, kunt u deze cijfers eenvoudig plotten in een kolomdiagram of trechterdiagram met behulp van een grafiektool. Hier is een voorbeeld van de bovenstaande gegevens in een kolomdiagram met Ubiq.

Hier is een voorbeeld van dezelfde gegevens die zijn geplot met behulp van een conversietrechter met Ubiq.

Als u grafieken, dashboards en rapporten wilt maken vanuit de MySQL-database, kunt u Ubiq proberen. We bieden een gratis proefperiode van 14 dagen aan.

  1. Externe verbindingen Mysql Ubuntu

  2. MySQL - Voorwaardelijke beperkingen voor externe sleutels

  3. DATEADD() Voorbeelden in SQL Server

  4. Maak een database-e-mailprofiel in SQL Server (T-SQL)