クイック・レシオはビジネスの成長の効率性を測る指標です。
新規顧客から得られるニューMRRとプランのアップグレードによるエクスパンションMRRを足したものを、チャーン(解約)によって生じるMRRとプランのダウングレードによるコントラクションを足したもので割ることで計算されます。
例えば、以下のような推移をしているビジネスにおける3月の収益を例に考えてみます。
このビジネスには、プロ(1万円)とスタンダード(2万円)という2つのプランが用意されており、2月には3人顧客がいて、3月に1名の顧客がサービスをキャンセルしています。
しかし、3月には1名のプランのアップグレード(エクスパンション)が生じたため、既存顧客から得られたMRRは、前月のMRRと変わらず3万円のため、チャーンMRRは0円だと思うかもしれません。
ですが、実際にはスタンダードプランの顧客1名がキャンセルをしているので、チャーンMRRは1万円ということなります。
このように前月のMRRと既存顧客からのMRRを比べるだけでは正確なチャーンMRRを計算することができず、エクスパンションによる増収による影響を取り除いたうえで、前月のMRRと既存顧客からのMRRを比較することで、はじめてチャーンMRRは計算できるのです。
このことを踏まえて、クイック・レシオを計算していきます
今回のはサブスクリプション型のビジネスの支払いデータを利用します。データはこちらのページからダウンロードできます。
このデータは、一行が一人の顧客の月ごとの支払い履歴を表していて、列には以下の情報があります。
今回は以下のようなテーブルを作成して、MRRリテンション率を計算していきます。
また、上記のテーブルを作成するために、今回は支払いデータに、支払い回数、エクスパンション/コントラクションの情報を2-4番目のステップで追加した状態から、MRRリテンション率を計算していきます。
なお、支払い回数の計算方法はこちらから、エクスパンションとコントラクションの計算方法はこちらから確認いただけます。
今回は、MRR、既存顧客からのMRR、エクスパンションを集計したいので、「支払い日」の列ヘッダーから「集計」を選択します。
集計のダイアログが開いたら、グループに「支払い日」を選択し、丸め処理に「月」を選択します。
MRR(月間定期収益)は、それぞれのユーザーが払った金額の月々の合計値になるため、値に、「支払い金額」を選択し、集計関数には合計値(SUM)を選択します。
続いて、列名をMRRに変更します。
続いて、新規顧客からのMRRであるニューMRRを集計します。
新規顧客から得られるMRRは支払い回数が1回の顧客から得られるMRRになるため、支払い回数が1回の顧客の支払い金額の合計値を集計します。
そのため、値に「支払い金額」を追加し、集計関数に「条件付き合計値(SUM_IF)」を選択します。
すると、条件を指定するためのダイアログが表示されるため、列に「支払い回数」、演算子に「等しい」、値に「1」と入力します。
続いて列名を「ニューMRR」に設定し適用します。
これで、ニューMRRを集計できるようになりました。
続いて、既存顧客からのMRRを集計します。
既存顧客から得られるMRRは、支払い回数が2回以上の顧客から得られるMRRになるため、支払い回数が2回以上の顧客の支払い金額の合計値を集計します。
値に「支払い金額」を追加し、集計関数に「条件付き合計値(SUM_IF)」を選択します。
すると、条件を指定するためのダイアログが表示されるため、列に「支払い回数」、演算子に「以上」、値に「2」と入力します。
続いて列名を「既存顧客からのMRR」に設定し適用し、実行します。
これで、既存顧客からのMRRを集計できるようになりました。
最後に値に「エクスパンション」と「コントラクション」を選択し、集計関数に合計値(SUM)を選択し、実行します。
クイック・レシオを計算するための準備ができました。
続いて、ニューMRRの列ヘッダーメニューから、「計算を作成」「標準」を選択します。
計算を作成のダイアログが開いたら、計算エディタに(ニューMRR + エクスパンション) /((lag(MRR) - (既存顧客からのMRR - エクスパンション)) - abs(コントラクション))
と入力します。
lag関数は前の指定した列の前の行の値を取得するため、lag(MRR)
という計算によって前月のMRRを取得しています。そのため、(lag(MRR) - (既存顧客からのMRR - エクスパンション))
という計算では、チャーンMRRを求めているわけです。
また、abs関数は、指定した列の値の絶対値を返す関数です。abs(コントラクション)
という計算によって、プランのダウングレードに伴う減収を表すコントラクションに、今回のデータのようにマイナスの符号がついていたとしても、正の数値として扱えるようにしています。
最後に新しく列を作成にチェックがついていることを確認したら、列名を「クイック・レシオ」に設定して、「この列の後に作る」に「最後の列」を選択して実行します。
これで、「クイック・レシオ」を計算できました。