Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como calcular a taxa de conversão no MySQL?


É importante calcular a taxa de conversão para cada negócio. Veja como calcular a taxa de conversão no MySQL. Você também pode usar essa consulta para análise de funil no PostgreSQL, SQL Server e Oracle.


Como calcular a taxa de conversão no MySQL?


Digamos que você tenha 3 tabelas

inscrições (user_id, date_joined) –  contém todos os usuários que se inscreveram em seu site

carrinho de compras (user_id,product_id, date_added) –  contém todos os usuários que adicionaram pelo menos 1 produto ao carrinho de compras, juntamente com os itens do carrinho.

compras (user_id,product_id,date_purchased,purchase_amount) – contém todos os usuários que  compraram pelo menos 1 produto, juntamente com o preço de cada produto.

Para calcular a taxa de conversão, mostramos apenas as colunas necessárias em nossas tabelas, elas sempre podem conter mais colunas.

Queremos medir as taxas de conversão em 2 pontos em nosso funil de conversão
  1. Quando os usuários adicionam pelo menos 1 item ao carrinho de compras – % de usuários que adicionaram pelo menos 1 item ao carrinho
  2. Quando os usuários compram pelo menos 1 item – % de usuários que compraram pelo menos 1 item

Bônus de leitura:Como calcular a taxa de retenção no MySQL



Primeiro, calculamos o número total de inscrições, por exemplo, nos últimos 30 dias.
mysql> select count(*) as signups from signups 
where date_joined > now() - interval 30 day;
+---------+
| signups |
+---------+
|    2130 |
+---------+

Bônus de leitura:Como preencher datas ausentes no MySQL?



Em seguida, calculamos o número total de usuários que adicionaram pelo menos 1 item ao carrinho nos últimos 30 dias
mysql> select count(distinct user_id) as carts from shopping_carts
 where date_added > now() - interval 30 day;
+---------+
|   carts |
+---------+
|     416 |
+---------+


Certifique-se de usar distinta na consulta acima, para contar apenas usuários únicos

Em seguida, calculamos o número de usuários que compraram pelo menos 1 item nos últimos 30 dias.
mysql> select count(distinct user_id) as purchases from purchases 
where date_purchased > now() - interval 30 day;
+----------+
|purchases |
+----------+
|      136 |
+----------+

Bônus de leitura:Como calcular vendas mensais no MySQL

Agora que temos as 3 contagens, podemos usar essas consultas de várias maneiras. Se você deseja calcular apenas as porcentagens da taxa de conversão, aqui está a consulta SQL para calcular a taxa de conversão para a criação do carrinho 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 |
+--------------------------+

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

Bônus de leitura:consulta SQL para comparar vendas de produtos por mês

Se você deseja criar um funil de conversão, aqui está a consulta combinada para obter todas as 3 contagens acima em uma única tabela
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 a taxa de conversão, você pode facilmente plotar esses números em um gráfico de colunas ou gráfico de funil usando uma ferramenta de gráficos. Aqui está um exemplo dos dados acima plotados em um gráfico de colunas usando Ubiq.





Aqui está um exemplo dos mesmos dados plotados usando um funil de conversão usando Ubiq.





Se você deseja criar gráficos, painéis e relatórios do banco de dados MySQL, experimente o Ubiq. Oferecemos um teste gratuito de 14 dias.