ユニット・エコノミクス

ユニット・エコノミクスは1人の顧客を獲得したときに、獲得にかけたコストに対して、どの程度のリターンが得られるかを割合で表した指標となります。

そして、CLV(顧客生涯価値)CAC(顧客獲得コスト)で割ることで求めることができます。

一般的なSaaS企業において、3を超えることが望ましいと言われています。

ユニット・エコノミクスの計算方法

データの概要

今回は、2つのサンプルデータを使ってユニット・エコノミクスを計算していきます。

1つ目のデータはサブスクリプション型のビジネスの支払いデータです。データはこちらのページからダウンロードできます。

このデータは、一行が一人の顧客の月ごとの支払い履歴を表していて、列には以下の情報があります。

  • 顧客ID
  • 支払い日
  • 支払いプラン
  • 支払い金額

2つ目のデータは、このビジネスのコストに関するデータです。データはこちらのページからダウンロードできます。

このデータは、一行がとある月のコストに関する情報を表していて、列には以下の情報があります。

  • 製造原価
  • 販売管理費
  • 新規顧客の獲得コスト

ユニット・エコノミクスを計算するためのデータ。

今回は前述した2つデータから、以下のようなテーブルを作成します。

このようなテーブルを作成できれば、ユニット・エコノミクスを計算するために必要な情報が揃うので、まずは上記のテーブルを作成します。

MRR・顧客数・新規顧客数の集計

MRRを集計

MRR(月間定期収益)は、それぞれのユーザーが払った金額の月々の合計値になるため、月々の支払い金額を計算するだけで簡単に計算できます。

支払い日の列ヘッダーメニューから、「集計」を選択します。

集計のダイアログが表示されたら、グループに「支払い日」を選択し、日付の単位に「月」で切り捨てを選択します。

続いて値に、「支払い金額」を選択し、集計関数には合計値(SUM)を選択します。

最後に列名をMRRに変更して、プレビューボタンをクリックします。

これでMRRを集計するための設定ができました。

顧客数を集計

次に顧客数を集計します。

集計のダイアログの値に「顧客ID」を選択し、集計関数に「一意な値の数(UNIQUE)」を選択します。

続いて、編集アイコンをクリックして新しい列名を「顧客数」に変更のうえ、実行ボタンをクリックします。

MRRと顧客数を集計できました。

新規顧客数の集計

続いて新規顧客数を集計したいのですが、新規顧客数をどのように計算すればいいかと言うと、元のデータに支払い回数の情報があれば、支払い回数が1回の顧客の数を集計することで、新規顧客数を計算することが可能です。

そこで、支払いデータに支払回数の情報を計算するために、集計前のデータソースのステップに戻り、「支払い日」の列ヘッダーメニューから、「表計算」、「ランキング(隙間なし)」の「昇順」を選択します。

このとき、支払い日のランキングを計算するのは、顧客ごとに日付が古い順にランキングをつけることで、何回目の支払い回数かを計算できるからです。

なお、このとき「隙間なし」を選択するのは、アップグレードのための異なる支払いが同日にあったときに、別の支払いとして扱われないようにするためです。

表計算のダイアログが開いたら、今回は顧客ごとにランキングを計算したいので、グループに「顧客ID」を選択し、プレビューボタンをクリックします。

最後に値の列名を、「支払い回数」に変更し、実行します。

これで支払い回数の情報を支払いデータに追加できました。

最後に支払い回数をもとに、新規顧客の数を集計するために、集計のステップのトークンを開きます。

集計のダイアログが開いたら、値に「顧客ID」を選択し、集計関数に「条件に合った一意な値の数(COUNT_UNIQUE_IF)」を選択します。

条件を設定するための「列の設定」ダイアログが表示されるので、列に「支払い回数」、演算子に「等しい」、値に「1」と入力します。

この設定により、「支払い回数」が1回の「顧客ID」の「一意な値の数」を集計できます。

続いて新しい列名に「新規顧客数」と入力し、適用します。

プレビューボタンをクリックして、「新規顧客数」を集計できていることを確認したら、実行ボタンをクリックします。

MRR、顧客数、新規顧客数を集計することができました。

継続顧客数・キャンセル率の計算

続いてキャンセル率を計算するために、継続顧客数を計算します。

「顧客数」の列ヘッダーメニューから「計算を作成」、「標準」を選択します。

計算を作成のダイアログが開いたら、計算エディタに顧客数 - 新規顧客数と入力します。

続いて、「新しく列を作成」にチェックが付いていることを確認したら、列名を「継続顧客」に設定のうえ、「この列の後に作る」を「(最後の列)」に設定して、実行します。

「継続顧客数」の列を新たに作成できました。

続いてキャンセル率を計算します。

「継続顧客数」の列ヘッダーメニューから「計算を作成」、「標準」を選択します。

「計算を作成」のダイアログが表示されたら、計算エディタに継続顧客数 / lag(顧客数)テキストを入力します。

なお、lag関数は前の行の値を取得する関数になるため、継続顧客数 / lag(顧客数)という計算式で、前月の顧客のうち今月もサービスを継続した顧客の割合を計算できるわけです。

ただし、サービスを継続した顧客の割合はリテンション率になるため、リテンション率の逆のキャンセル率を計算するために、計算エディタの内容を1 - (継続顧客数 / lag(顧客数))に変更します。

次に「新しく列を作成」にチェックが付いていることを確認したら、列名を「キャンセル率」に設定のうえ、「この列の後に作る」を「(最後の列)」に設定して、実行します。

キャンセル率を計算できました。

ARPU・CLVの計算

続いてARPUとCLVを計算していきます。

MRRの列ヘッダーメニューから、「計算を作成」の「標準」を選択します。

計算を作成のダイアログが開いたら、計算エディタにMRR / 顧客数と入力します。

最後に、「新しく列を作成」にチェックが付いていることを確認し、列名を「ARPU」に設定のうえ、「この列の後に作る」を最後の列に変更し、実行します。

ARPUを計算することができました。

続いてCLVを計算していきます。CLVを正確に計算するためには、生存曲線を利用して、CLV(顧客生涯価値)を計算することが望ましいですが、今回は簡易的な以下の計算式を使って、CLVで計算していきます。(生存曲線を利用したCLVの計算方法の詳細や、以下の数式でCLVがなぜ計算できるかにつきましては、こちらから詳細をご確認ください)

そのため、「キャンセル率」の列ヘッダーメニューから、「計算を作成」の「標準」を選択します。

計算を作成のダイアログが開いたら、計算エディタに(1 / キャンセル率) * ARPUと入力します。

最後に、「新しく列を作成」にチェックが付いていることを確認し、列名を「CLV」に設定のうえ、「この列の後に作る」を最後の列に変更し、実行します。

CLVを計算できました。

コストデータの結合

続いて、先程集計したデータにコストの情報を結合します。

「支払い日」の列ヘッダーメニューから「結合(列を追加する/Join)」を選択します。

結合のダイアログが開いたら「結合先データフレーム」にもう一方のコストのデータを選択し、キー列には「日付」を選択し、実行します。

これでユニット・エコノミクスを計算するためのデータをつくることができました。

ユニット・エコノミクスの計算

最後にユニット・エコノミクスを計算します。

まずはCAC(顧客獲得コスト)を計算するために「新規顧客の獲得コスト」の列ヘッダーメニューから、「計算を作成」の「標準」を選択します。

計算を作成ダイアログが開いたら、計算エディタに新規顧客の獲得コスト / 新規顧客数と入力します。

続いて、新しく列を作成にチェックが付いていることを確認したら、列名を「CAC」に設定のうえ、「この列の後に作る」を「(最後の列)」に設定して、実行します。

CACを計算することができました。

最後に、ユニット・エコノミクスを計算します。CLVの列ヘッダーメニューから、「計算を作成」の「標準」を選択します。

計算を作成のダイアログが開いたら、計算エディタにCLV / CACと入力します。

最後に、「新しく列を作成」にチェックが付いていることを確認し、列名を「ユニット・エコノミクス」に設定のうえ、「この列の後に作る」を最後の列に変更し、実行します。

これで、ユニット・エコノミクスを計算することができました。

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio