Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để tính toán tỷ lệ chuyển đổi trong MySQL?

Điều quan trọng là phải tính toán tỷ lệ chuyển đổi cho mọi doanh nghiệp. Dưới đây là cách tính tỷ lệ chuyển đổi trong MySQL. Bạn cũng có thể sử dụng truy vấn này để phân tích kênh trong PostgreSQL, SQL Server &Oracle.

Cách tính tỷ lệ chuyển đổi trong MySQL?

Giả sử bạn có 3 bàn

đăng ký (user_id, date_joined) - chứa tất cả người dùng đã đăng ký trên trang web của bạn

shopping_cart (user_id, product_id, date_added) - chứa tất cả những người dùng đã thêm ít nhất 1 sản phẩm vào giỏ hàng, cùng với các mặt hàng trong giỏ hàng của họ.

mua hàng (user_id, product_id, date_purchased, buy_amount) - chứa tất cả người dùng đã mua ít nhất 1 sản phẩm cùng với giá của từng sản phẩm.

Để tính toán tỷ lệ chuyển đổi, chúng tôi chỉ hiển thị các cột cần thiết trong bảng của mình, chúng luôn có thể chứa nhiều cột hơn.

Chúng tôi muốn đo lường tỷ lệ chuyển đổi ở 2 điểm trong kênh chuyển đổi của mình

  1. Khi người dùng thêm ít nhất 1 mặt hàng vào giỏ hàng -% người dùng đã thêm ít nhất 1 mặt hàng vào giỏ hàng
  2. Khi người dùng mua ít nhất 1 mặt hàng -% người dùng đã mua ít nhất 1 mặt hàng

Phần thưởng đọc:Cách tính tỷ lệ giữ chân trong MySQL

Đầu tiên, chúng tôi tính toán tổng số lượt đăng ký, chẳng hạn như trong 30 ngày qua.

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

Phần thưởng Đọc:Làm thế nào để điền vào các ngày còn thiếu trong MySQL?

Tiếp theo, chúng tôi tính toán tổng số người dùng đã thêm ít nhất 1 mặt hàng vào giỏ hàng của họ trong 30 ngày qua

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

Đảm bảo rằng bạn sử dụng riêng biệt trong truy vấn trên, để chỉ tính những người dùng duy nhất

Tiếp theo, chúng tôi tính toán số lượng người dùng đã mua ít nhất 1 mặt hàng trong 30 ngày qua.

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

Phần thưởng đã đọc:Cách tính doanh số hàng tháng trong MySQL

Bây giờ chúng ta có 3 số đếm, chúng ta có thể sử dụng các truy vấn này theo nhiều cách. Nếu bạn chỉ muốn tính phần trăm tỷ lệ chuyển đổi, thì đây là truy vấn SQL để tính tỷ lệ chuyển đổi cho việc tạo giỏ hàng

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

và để mua hàng

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

Phần thưởng Đọc:Truy vấn SQL để so sánh doanh số bán sản phẩm theo tháng

Nếu bạn muốn tạo kênh chuyển đổi, thì đây là truy vấn kết hợp để lấy tất cả 3 số lượng ở trên trong một bảng duy nhất

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

Để tính toán tỷ lệ chuyển đổi, bạn có thể dễ dàng vẽ những con số này trên biểu đồ cột hoặc biểu đồ kênh bằng cách sử dụng công cụ biểu đồ. Dưới đây là một ví dụ về dữ liệu ở trên được vẽ trong biểu đồ cột bằng cách sử dụng Ubiq.

Dưới đây là một ví dụ về cùng một dữ liệu được vẽ biểu đồ bằng kênh chuyển đổi sử dụng Ubiq.

Nếu bạn muốn tạo biểu đồ, trang tổng quan và báo cáo từ cơ sở dữ liệu MySQL, bạn có thể thử Ubiq. Chúng tôi cung cấp bản dùng thử miễn phí 14 ngày.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tương đương của varchar (max) trong MySQL?

  2. Loại bỏ các hàng trùng lặp trong MySQL

  3. Cú pháp SQL TRUNCATE - Được DBMS liệt kê

  4. Lỗi MySQL 1436:Chạy tràn ngăn xếp luồng, với truy vấn đơn giản

  5. Kết nối với cơ sở dữ liệu MySQL từ xa thông qua SSH bằng Java