sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo calcular la tasa de conversión en MySQL?

Es importante calcular la tasa de conversión para cada negocio. Aquí se explica cómo calcular la tasa de conversión en MySQL. También puede usar esta consulta para el análisis de embudo en PostgreSQL, SQL Server y Oracle.

¿Cómo calcular la tasa de conversión en MySQL?

Digamos que tienes 3 mesas

registros (id_usuario, fecha_enlace) –  contiene todos los usuarios que se han registrado en su sitio web

carrito_de_la_compra (id_usuario,id_producto, fecha_agregado) –  contiene todos los usuarios que agregaron al menos 1 producto a su carrito de compras, junto con los artículos de su carrito.

compras (id_usuario,id_producto,fecha_de_compra,cantidad_de_la_compra) – contiene todos los usuarios que  haber comprado al menos 1 producto, junto con el precio de cada producto.

Para calcular la tasa de conversión, hemos mostrado solo las columnas necesarias en nuestras tablas, siempre pueden contener más columnas.

Queremos medir las tasas de conversión en 2 puntos de nuestro embudo de conversión

  1. Cuando los usuarios agregan al menos 1 artículo al carrito de compras:% de usuarios que agregaron al menos 1 artículo al carrito
  2. Cuando los usuarios compran al menos 1 artículo:% de usuarios que han comprado al menos 1 artículo

Lectura adicional:Cómo calcular la tasa de retención en MySQL

Primero, calculamos el número total de suscripciones, por ejemplo, en los últimos 30 días.

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

Lectura adicional:¿Cómo completar las fechas que faltan en MySQL?

A continuación, calculamos el número total de usuarios que agregaron al menos 1 artículo a su carrito en los últimos 30 días

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

Asegúrate de usar distinto en la consulta anterior, para contar solo usuarios únicos

A continuación, calculamos la cantidad de usuarios que compraron al menos 1 artículo en los últimos 30 días.

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

Lectura adicional:Cómo calcular las ventas mensuales en MySQL

Ahora que tenemos los 3 conteos, podemos usar estas consultas de varias maneras. Si desea calcular solo los porcentajes de la tasa de conversión, aquí está la consulta SQL para calcular la tasa de conversión para la creación del carrito de compras

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

y para compras

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

Lectura adicional:consulta SQL para comparar las ventas de productos por mes

Si desea crear un embudo de conversión, esta es la consulta combinada para obtener los 3 recuentos anteriores en una sola tabla

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

Para calcular la tasa de conversión, puede trazar fácilmente estos números en un gráfico de columnas o en un gráfico de embudo utilizando una herramienta de gráficos. Este es un ejemplo de los datos anteriores trazados en un gráfico de columnas usando Ubiq.

Aquí hay un ejemplo de los mismos datos trazados usando un embudo de conversión usando Ubiq.

Si desea crear gráficos, paneles e informes desde la base de datos MySQL, puede probar Ubiq. Ofrecemos una prueba gratuita de 14 días.