Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment calculer le taux de conversion dans MySQL ?

Il est important de calculer le taux de conversion pour chaque entreprise. Voici comment calculer le taux de conversion dans MySQL. Vous pouvez également utiliser cette requête pour l'analyse de l'entonnoir dans PostgreSQL, SQL Server et Oracle.

Comment calculer le taux de conversion dans MySQL ?

Disons que vous avez 3 tables

inscriptions (user_id, date_joined) –  contient tous les utilisateurs qui se sont inscrits sur votre site Web

shopping_cart (identifiant_utilisateur, identifiant_produit, date_ajoutée) –  contient tous les utilisateurs qui ont ajouté au moins 1 produit à leur panier, ainsi que les articles de leur panier.

achats (user_id,product_id,date_purchased,purchase_amount) – contient tous les utilisateurs qui  avoir acheté au moins 1 produit, ainsi que le prix de chaque produit.

Pour calculer le taux de conversion, nous n'avons affiché que les colonnes nécessaires dans nos tableaux, ils peuvent toujours contenir plus de colonnes.

Nous voulons mesurer les taux de conversion à 2 points dans notre entonnoir de conversion

  1. Lorsque les utilisateurs ajoutent au moins 1 article au panier – % d'utilisateurs ayant ajouté au moins 1 article au panier
  2. Lorsque les utilisateurs achètent au moins 1 article :% d'utilisateurs ayant acheté au moins 1 article

Lecture bonus :Comment calculer le taux de rétention dans MySQL

Tout d'abord, nous calculons le nombre total d'inscriptions, par exemple, au cours des 30 derniers jours.

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

Lecture bonus :Comment remplir les dates manquantes dans MySQL ?

Ensuite, nous calculons le nombre total d'utilisateurs qui ont ajouté au moins 1 article à leur panier au cours des 30 derniers jours

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

Assurez-vous d'utiliser distinct dans la requête ci-dessus, pour ne compter que les utilisateurs uniques

Ensuite, nous calculons le nombre d'utilisateurs qui ont acheté au moins 1 article au cours des 30 derniers jours.

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

Lecture bonus :comment calculer les ventes mensuelles dans MySQL

Maintenant que nous avons les 3 comptes, nous pouvons utiliser ces requêtes de plusieurs façons. Si vous souhaitez calculer uniquement les pourcentages de taux de conversion, voici la requête SQL pour calculer le taux de conversion pour la création de panier

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

et pour les achats

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

Lecture bonus :requête SQL pour comparer les ventes de produits par mois

Si vous souhaitez créer un entonnoir de conversion, voici la requête combinée pour obtenir les 3 comptes ci-dessus dans un seul tableau

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

Pour calculer le taux de conversion, vous pouvez facilement tracer ces chiffres sur un histogramme ou un graphique en entonnoir à l'aide d'un outil graphique. Voici un exemple des données ci-dessus tracées dans un histogramme à l'aide d'Ubiq.

Voici un exemple des mêmes données tracées à l'aide d'un entonnoir de conversion utilisant Ubiq.

Si vous souhaitez créer des graphiques, des tableaux de bord et des rapports à partir de la base de données MySQL, vous pouvez essayer Ubiq. Nous offrons un essai gratuit de 14 jours.