Tableau(タブロー)を使ってNPS(ネットプロモータースコア)を計算する
Tableau(タブロー)を使ってNPS(ネットプロモータースコア)を計算する
はじめに
今回は、NPS(ネットプロモータースコア)の素材をTableau(タブロー)で扱います。
頻出トピックなので細かい説明は省きますが、計算式をFIXEDとIIFとREGEXP_MATCHの合わせ技で処理をしてみます。また、単純な集計表で作成します。凝ったビジュアライズについては、Tableau Public で探してみてください。
最終アウトプットイメージ
引用 NPSについてはこちら
手順)
- ① 素材を用意する
- ② 推奨者、批判者、をカウント集計する計算フィールドを作成する
- ③ NPS(ネットプロモータースコア)を計算する計算フィールドを作成する
- ④ 可視化する
①素材を用意する
会員11名について、仕事のやりがいについてアンケートを実施。
0 – 10の11段階で評価いただいた。
② 推奨者、批判者、をカウント集計する計算フィールドを作成する
・推奨者
{ FIXED [会員ID]:MAX(IIF(REGEXP_MATCH(STR([評価スコア]), “9|10”),[評価スコア] ,NULL))}
→ 評価スコアを正規表現を使って、9 or 10 に該当するレコードをIIF関数を使って拾います。
→ FIXED関数を会員ID単位で集計します。MAXを使っている理由は、FIXEDが集計関数を要求するため、文字列に対して差し障りのないMAX(またはMIN)集計関数を使用していると、ざっくり理解いただければ構いません。
→ 推奨者のカウント自体は、集計表内で行います。MAXをCOUNTで実施する場合は、集計表内で合計すれば良いです。
・批判者
{ FIXED [会員ID]:MAX(IIF(REGEXP_MATCH(STR([評価スコア]), “^[0-6]$”),[評価スコア] ,NULL))}
→ 同様に、正規表現を使って、0から6の範囲で回答した会員IDをIIFを使って集計。
→ ^[0-6]$は、0から6のいずれか1文字に該当する正規表現です。^と$を使わない場合、10を批判者として拾ってしまいます。したがって、厳密に1文字で定義しております。
→ 批判者のカウント自体は、集計表内で行います。MAXをCOUNTで実施する場合は、集計表内で合計すれば良いです。
③ NPS(ネットプロモータースコア)を計算する計算フィールドを作成する
・NPS(ネットプロモータースコア)を集計
{FIXED :(COUNT([推奨者])-COUNT([批判者]))/COUNT([評価スコア])}
→ それぞれの割合を出した後に差をとるか、差をとったのち割合を計算するかで結果は変わりません。
→ FIXEDを使っておりますが、特にディメンションを定義しておりません。この場合は、全体での集計値がキープされます。結果、ディメンションの配置に依らず、常に同じ計算結果を保持できます。
→ ②推奨者、批判者の計算式でMAX→COUNTで変更した場合は、上記の式を下記に書き換えてください。
{FIXED :(SUM([推奨者])-SUM([批判者]))/COUNT([評価スコア])}
④ 可視化する
※②、③で式を変更した場合は、メジャーバリューの推奨者、批判者をカウント→合計に変更してください。
※②、③で式を変更した場合は、メジャーバリューの推奨者、批判者をカウント→合計に変更してください。
まとめ
今回は、FIXED、IIFそして、REGEXP_MATCHを使って手っ取り早くNPS(ネットプロモータースコア)を計算してみました。
特に目新しい内容はありませんでしたが、FIXEDのなかの集計式を少し工夫してみました。この処理方法は応用が聞きますので何かの参考になれば幸いです。
コメントを投稿するにはログインしてください。