sql >> データベース >  >> RDS >> Mysql

MySQLでコンバージョン率を計算する方法は?

    すべてのビジネスのコンバージョン率を計算することが重要です。 MySQLでコンバージョン率を計算する方法は次のとおりです。このクエリは、PostgreSQL、SQL Server、Oracleのファネル分析にも使用できます。

    MySQLでコンバージョン率を計算する方法は?

    テーブルが3つあるとしましょう

    申し込み (user_id、date_joined)– あなたのウェブサイトにサインアップしたすべてのユーザーが含まれています

    Shopping_cart (user_id、product_id、date_added)– ショッピングカートに少なくとも1つの商品を追加したすべてのユーザーと、カートアイテムが含まれます。

    購入 (user_id、product_id、date_purchased、purchase_amount)のすべてのユーザーが含まれます 各製品の価格とともに、少なくとも1つの製品を購入している。

    コンバージョン率を計算するために、テーブルには必要な列のみを表示しました。これらの列には常により多くの列が含まれている可能性があります。

    コンバージョンファネルの2ポイントでコンバージョン率を測定したい

    1. ユーザーがショッピングカートに少なくとも1つのアイテムを追加した場合–カートに少なくとも1つのアイテムを追加したユーザーの割合
    2. ユーザーが少なくとも1つのアイテムを購入した場合–少なくとも1つのアイテムを購入したユーザーの割合

    ボーナスリード:MySQLで保持率を計算する方法

    まず、たとえば過去30日間の登録の総数を計算します。

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

    ボーナスリード:MySQLで欠落している日付を埋める方法は?

    次に、過去30日間にカートに少なくとも1つのアイテムを追加したユーザーの総数を計算します

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

    必ずdistinctを使用してください 上記のクエリでは、ユニークユーザーのみをカウントします

    次に、過去30日間に少なくとも1つのアイテムを購入したユーザーの数を計算します。

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

    ボーナスリード:MySQLで月間売上を計算する方法

    3つのカウントができたので、これらのクエリを複数の方法で使用できます。コンバージョン率のパーセンテージのみを計算する場合は、ショッピングカート作成のコンバージョン率を計算するためのSQLクエリを次に示します

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

    および購入の場合

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

    ボーナスリード:月ごとの製品売上を比較するSQLクエリ

    コンバージョンファネルを作成する場合は、上記の3つのカウントすべてを1つのテーブルで取得するための組み合わせクエリを次に示します

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

    コンバージョン率を計算するには、グラフ作成ツールを使用して、これらの数値を縦棒グラフまたは目標到達プロセスのグラフに簡単にプロットできます。これは、Ubiqを使用して縦棒グラフにプロットされた上記のデータの例です。

    これは、Ubiqを使用したコンバージョンファネルを使用してプロットされた同じデータの例です。

    MySQLデータベースからチャート、ダッシュボード、レポートを作成したい場合は、Ubiqを試すことができます。 14日間の無料トライアルを提供しています。

    1. OracleSQLステートメントでの値のコンマ区切りリストの作成

    2. データベース+Windows認証+ユーザー名/パスワード?

    3. MySQLの外部キーの基本?

    4. utf8_general_ciとutf8_unicode_ciの違いは何ですか?