É 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
- Quando os usuários adicionam pelo menos 1 item ao carrinho de compras – % de usuários que adicionaram pelo menos 1 item ao carrinho
- 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.