最近、ネット・プロモーター・スコア - Wikipedia という言葉を耳にする機会が多くなりました。
Web ページを巡回しているとたまにダイアログが出てきて、NPS 調査っぽいアンケートが表示されることがあり、普及を実感します。
しかしながら全面に押したツールやライブラリを見ないので、エンジニア目線で、NPS 調査の Web 上で実施する際に必要な技術要素と実現するためのツールについて調べてみました。
結果を以下に記載します。
そもそも全面に出したツールがないのは何故か?
NPS tool
、Net Promoter Score tool
等で検索すると、Customer Feedback Tool
や Survey Tool
がヒットします。
もともとこの文脈のマーケティングツールは存在していて、それらが NPS Survey もできる
になっているような気がします。1
Web 上で実施する際に必要な技術要素
前提
必要な技術要素を考える前に以下の前提を置きます。
- 必要なアンケート項目は事前に考えてあること
- アンケート項目数は、1ページ、1ダイアログに収まる量であること
- Web アプリケーションとは別にアドオンとして追加できること
技術要素
上記前提のもと、以下のような技術要素があると考えました。
- Web 上に Form を表示する。
- Web 上の Form のデータを取得、保存する。
- NPS のスコアを計算する。
調べた結果
All in One で 実施可能なツール、ライブラリ、技術要素ごとに使えそうなツール、ライブラリについて記載します。
All in One
一気通貫で1.2.3
の実施ができそうなツールについて記載します。
参考
日本語の記事で以下が見つかりました。
* NPS®️計測におすすめのツール3選 - サポートタイムズ
見つかったツール
-
SurveyMonkey
SurveyMonkey は、アンケート項目として NPS があり、スコア計算まで行ってくれるようです。
ネットプロモータースコア(NPS)アンケート | SurveyMonkey -
Hotjar
Hotjar も ポップアップダイアログで アンケートを表示でき、NPS のスコア計算まで行ってくれるようです。
Introducing the new NPS timeline -
LimeSurvey
LimeSurvey には スコア計算を行う機能がありません。質問の項目として、5点尺度 、10点尺度があるのでこれを使ってアンケートは作成が可能です。
LimeSurvey: the online survey tool - open source surveys
少し古いですが、forum で NPS アンケートの テンプレートについての質問がありました。
Net Promoter Score Survey Template ? - LimeSurvey forums 以下の記事から スコア計算を行う Google スプレッドシートのテンプレートを取得できるので LimeSurvey からデータを取り出して、自分で計算をするのかよいかと思います。
How to calculate Net Promoter Score [excel template & formula] -
Google Form
Google Form でも NPS 調査のアンケート作成はできるかと思います。
LimeSurvey と同様に 単純な集計までしか実施してくれないので、そこからは自身で計算を行う必要があります。
スプレッドシートに結果のエクスポートができるので、エクスポートした後にスコア計算するとよいかと思います。
技術要素ごとに使えそうなツール、ライブラリ
1. Web 上に Form を表示する。
メインサイトに対して アドオンで追加できるようなツール、ライブラリとして以下が見つかりました。
動的にフォームを生成する
以下、動的フォーム生成ツールで Form の生成が可能です。
エンジニアとしては、直接実装して作成するのが早いですが、マーケターと分業を考えると必要な場面があるのかもしれません。
ダイアログを表示する
気になったものを幾つか記載します。
-
vex
Hubspot の モーダルダイアログライブラリです。 テーマの切り替えで画面の表示位置がコントロールでき、ダイアログ内の入力項目のコントロールも可能です。 -
sweetalert2
Github の repository 検索で多くスターがついていたライブラリです。
sweetalert2/sweetalert2: A beautiful, responsive, highly customizable and accessible (WAI-ARIA) replacement for JavaScript’s popup boxes. Zero dependencies.
個人的に以下 3 点 気になったので調べて見ました。- 表示位置のコントロール
position の記載で表示位置のコントロールが可能です。
Swal({ position: 'top-end', type: 'success', title: 'Your work has been saved', showConfirmButton: false, timer: 1500 })
- ポップアップのアニメーション変更
後、若干ポップアップのアニメーションが気に入らなかったのでコントロールできるのか確認しましたが、これもできるようです。
Animate.css
というクラスでアニメーションの css を指定できます。
Swal({ title: 'Custom animation Nothing', animation: false })
- POST はできるのか
肝心なことを記載していなかったですが、ダイアログのボタンクリックのタイミングで POST することができます。
- 表示位置のコントロール
position の記載で表示位置のコントロールが可能です。
-
nps-widget
これは、NPS 調査そのものを実施する ダイアログを表示できます。Vue.js に依存しているので Vue.js を使用している場合、使うのはありかもしれません。
satismeter/nps-widget: Net Promoter Score widget -
ffrating.js
NPS 調査 の スコアを記録できる JQuery プラングインです。
Net Promoter Score Rating Plugin With jQuery - ffrating.js | Free jQuery Plugins
2. Web 上の Form のデータを取得、保存する。
ここは正直なんでもいいかと思います。
CSRF の対策を考えると、Web アプリケーション内に POST 可能なエンドポイントを作るのが良いかと思いますが、アドオン的に作り、セキュリティレベルがそこまで高くない情報であれば Google Apps Script を使うのがお手軽でいいのかと思います。以下、参考リンクを記載します。
- 【Google Apps Script】その15 Execution APIを使い、外部からAPIとして叩く - Qiita
- Google Apps ScriptのdoPostでJSONなパラメータのPOSTリクエストを受ける - Qiita
3. NPS のスコアを計算する。
Github や Gist を見て気になったものを記載します。
Github を眺めて気になったもの
Github を net promoter score
で検索すると以下のような結果が取得できます。
Search · net promoter score
眺めていて気になったものを記載します。
-
nps
ruby で NPS スコアを計算するライブラリです。
murraysum/nps: Net Promoter Score Calculator -
net-promoter-score
JavaScript で NPS スコアを計算するライブラリです。
samcus/net-promoter-score -
sms-net-promoter-score
Twilio の SMS の テキストメッセージを解析して NPS スコアを出すというライブラリ (アプリケーション) です。
テキストのネガポジ分析みたいなことをするのでしょうか。
mattmakai/sms-net-promoter-score: Capture and calculate Net Promoter Score for an event via text messages from the audience.
Gist
計算だけしたい時もあるかと思いますので、実装されたコード片がないか探してみました。
-
Python での計算方法
以下の Gist を見つけました。
A little python function to calculate the net promoter score from a list of ratings. Also wanted to practice doctests. -
JavaScript での計算方法
以下の Gist を見つけました。
Calculate Net Promoter Score
一般的な計算方法について
実装コードを見ていて、スコア計算に流派がありそうに思いましたので、一般的な計算方法 について調べてみました。
NPSランキング&アワード - NPSソリューション | NTTコム オンライン や ネット プロモーター® スコアの定義と計算式 | SurveyMonkey を見る限り以下が一般的な式のようです。
- 計算式
ランクが、0~6の人達を批判者、7~8 を中立者、9~10 を推奨者 として、(推奨者数 — 批判者数) / (回答者数) x 100
が NPS スコア。
SUS (System Usability Scale)
NPS を調べる過程で知りました。
満足度の指標 で、NPS と併用すると相関があるので、合せて使えるなら使うのが良いのかと思いました。
以下、SUS に言及した日本語の記事になります。
-
BtoBのUXの効果測定に使えそうなNPS・SUSとは?〜UX Bridgeに参加してきました〜 | DevelopersIO
-
SUSだと思う? システムユーザビリティスケールのほとんど知られていない事実 User Experience Magazine
以下は、Python の system usability scale (SUS)
と、creativity-support index (CSI)
のスコア計算を行うためのツールです。
参考
調べていた際に見た記事へのリンクです。
NPS調査は、10段階だと思っていたのですが、正しくは11段階だと知れたのが個人的に良かったことです。
以上です。
-
必要な技術要素もそんなに変わりはないように思います。 ↩
コメント