診断系アプリのアルゴリズムを考える
今、個人的につくりたいと考えているWebアプリはズバリ「診断系」です。
よく、占いなどのアプリがツイッターに上がってきて話題になりますが、そんな感じです。
ただ、実際に作るとなるとその仕組み(アルゴリズム?)で悩んでしまいました。
よくある診断系アプリの選択肢について考える
診断系アプリの流れは、
- 設問に答える
- 結果が表示される
というシンプルなものだと思いますが、実際に設問部分を考えると中々難しいです。
個人的に、こういったアプリは手軽にできるのがいいと思うのですが、手軽さを追求すると結果が特定しにくいです。
ここで、選択肢の個数と結果の出しやすさの関係について考えてみようと思います。
選択肢が2択の場合
選択肢が2択だと、解答する側としては楽だと思います。
- 例:あなたはお米が好きですか? Yes/No
ただ、これだと結果を特定するまでにそれなりの工数が必要です。
まぁ、工数があるのはいいのですが、それよりも問題なのは結果を求めにくいところです。
2択の場合、例えばYesを選べばある変数に1点、Noを選べばさらに別の変数に1点入るとしましょう。
そして、その変数の大きさから結果を出すとしても、10問出題しただけでは合計で10点にしかなりません。
これで、正確な結果を表示できるでしょうか?
2択とはいえ、問題を30とか50とかにするのは少し気が引けます。
2択にする場合、Yesを選んだときに加算するポイントにもう少し工夫が必要だと思いました。
選択肢が複数の場合
選択肢が複数の場合、少ない問題数で結果が出しやすいと思います。
- 例:あなたが好きな動物は何ですか? 犬/猫/その他
ただ、この場合解答者の文を読む量が増えてしまうため、途中でめんどくさくなって離脱してしまう危険性が増えそうです。
選択肢を増やす場合、問題を減らすなどの工夫が必要になってくると思います。
楽にできるということと、結果をしっかり出すということの両立は難しい
このように考えていくと、ユーザーが利用しやすく、それでいて納得のいく結果を出すことができる診断系アプリを作るのがいかに難しいかが分かりました。
個人的に、これから作るアプリは「ユーザーが手軽にできる」というものにすることを第一目標にしようと思っています。
しかし手軽にできるものからそれなりの結果を表示することは非常に困難です。
これらの両立は難しいかもしれませんが、そういったことも考えて、これからアプリ作りに取り組んでいきたいと思いました。