ほくそ笑む

R言語と統計解析について

PLAID KARTE の A/B テストページに統計情報を追加する Chrome 拡張作った

株式会社プレイドの運営する KARTE(カルテ)というツールは、顧客情報に基づいた通知機能(ポップアップ)を JavaScript タグの埋め込みだけで Web サイトに導入できるというものです。

KARTE には通知を出すか出さないかでユーザをランダムに振り分ける機能が備わっており、これを利用して通知の効果に対する A/B テストを行うことができます。

しかし、KARTE の A/B テストのページには、統計的検定を行う機能が備わっていません。

一応、通知を出した場合の CVR が、出さない場合の CVR よりも高いときは水色で強調されますが、この差は本当に意味のある差なのでしょうか?
これでは、せっかくの A/B テストなのに、効果があるのかないのかの判断ができません。


というわけで、作りました。

下図のように、KARTE の A/B テストのページに p-value と Power(検出力)、および信頼区間付き棒グラフが表示されるようになる Chrome 拡張です。

以前作成した PlanBCD に対するツールと同様の機能です。

使い方

このツールは、KARTE の A/B テストにおいて、通知の効果が「ある」か「ない」かの判断を支援します。

まず、p-value の値は、通知に効果が「ある」ことを判断する指標です。
もし、下図のように p-value が 0.05 よりも小さくなったら、通知の効果は「ある」と判断します。

注意してほしいのは、p-value が大きいからといって、通知に効果が「ない」という判断は下せないということです。
p-value が大きい理由として、「通知に効果がない」ことの他に、「十分に大きなサンプルが取れていない」ということが考えられるからです。
「十分に大きなサンプルが取れていない」場合には、A/B テストの期間を延長することによって、p-value が小さくなり、「効果あり」と判断できる可能性があります。

つまり、p-value が大きい場合は、「十分な大きさのサンプルが取れている」場合に限り、「通知に効果がない」という判断を下すことができます。


それでは、どうすれば「十分な大きさのサンプルが取れている」と言えるのでしょうか?
これに対する指標が Power(検出力) となります。
このツールでは、下図のように 4 つの Power が表示されます。

Power は、この A/B テストにどのくらいの効果を期待しているかによって値が変わります。
上図で表示される 4 つの Power の意味は

  • Power(20%):非常に大きな効果
  • Power(15%):大きな効果
  • Power(10%):中程度の効果
  • Power( 5%):小さい効果

に対する指標です。
この Power が 0.8 以上になった場合、「十分な大きさのサンプルが取れている」と言えます。
例えば、下図のようになったとしましょう。

この場合、「非常に大きな効果」「大きな効果」を検出するのに「十分な大きさのサンプルが取れている」と言えます。
なので、もし、テストしている通知に対して「大きな効果」を期待している場合は「効果なし」と判断して、A/B テストをやめてしまってよいでしょう。

もし、通知に対する効果として「中程度の効果」「小さい効果」でもいいという場合は、「十分な大きさのサンプルが取れている」とは言えないので、A/B テストを続行するという判断ができます。

期待する効果は、コンバージョンに対する売り上げの大きさによって判断してください。
たとえ小さな効果でも、売り上げに大きく寄与するということもありえます。

まとめ

PLAID KARTE における A/B テストページに統計的検定の情報を追加する Chrome 拡張を作りました。

これにより、KARTE の通知に効果があるかないかを判断することができます。

重要な注意点として、KARTE は JavaScript バリバリで動いているので、グラフがうまく表示されない場合はリロード(F5)してください。

以上です。

追記

いちいち計算するのが面倒なので、CVR 比も出すように変更しました。