こんにちは、ウォンテッドリーでデータサイエンティストをしている林 (@python_walker) です。この記事は夏のアドベントカレンダー16日目の記事です。
この記事では、推薦システムをUXの観点から見直してみることで得られた気付きや学びを紹介します。私は普段データサイエンティストとしてWantedly Visitの推薦システムの開発に携わっています。最近、データサイエンティストとしてよりユーザーを満足させられる推薦システムを作っていくために、個人的にUXデザインを学んでいました。この記事がデータサイエンティストはもちろん、広くプロダクト開発に携わっている方々の参考になれば幸いです。
目次
推薦システムとは何か
Wantedly Visit における推薦システムの役割
UXの観点から見た推薦システム
UX文脈で捉えるユーザーの目標
推薦システムでの良いUXの実現
まとめ
推薦システムとは何か
推薦システム実践入門という本の中での説明を引用すると、推薦システムは 「複数の候補から価値あるものを選び出し、意思決定を支援するシステム」と定義されます。
日常生活の中にも、様々な形で推薦システムは活用されています。ECサイトで商品を買うときには、あなたの過去の購買履歴から興味を持ちそうなアイテムを選び出しておすすめ欄で出してきたり、ネット上でニュースを見るときもあなたが読みそうな記事をページの上の方で出してきたり、などが典型です。
推薦システムは、UIデザインのようにサービスのユーザーが直接見てわかるようなものではなかったりしますが、ユーザーのサービス上での満足度といった、いわゆる「ユーザー体験 (UX)」にとても大きなインパクトを与えるシステムであることは間違いありません。
Wantedly Visit における推薦システムの役割
Wantedly Visitでは、ユーザーが仕事を探すときに見る募集の一覧ページや、企業の採用担当者が見る候補者の一覧ページで推薦システムが活用されています。
Wantedlyでは非常にたくさんのユーザーや企業がサービスを利用していただいているので、その中から例えばユーザーが自分の興味のある募集を探すことは容易なことではありません。これは企業目線で見ても同様です。こうした大量の企業やユーザーの中から、ユーザーや企業が価値を感じる相手を選び出し、意思決定(=ユーザー側なら「話を聞いてみたい」を押す、企業側ならスカウトを送信すること)を支援するのが我々の推薦システムの役割ということになります。
UXの観点から見た推薦システム
UX文脈で捉えるユーザーの目標
UXという言葉はとても曖昧な意味で用いられることが多い言葉です。「UX的に考えて~」ということが色々なところで言われていますが、中身が意味するところは不明確ということも多々あります。 正直自分が使うときにもそういった状況であることが多かったように思います。
UXをもっとちゃんと理解しようと思い UXデザインの教科書 という書籍を読んでいたところ、UXとユーザビリティーについての記述がありました。ユーザビリティーはサービス側の指標なので、ユーザー側の指標であるUXとは異なるものですが、両者には強い正の相関があるそうです。この関係は自分としても納得感があります。
そのためここからはUXをユーザビリティーに置き換えて考えてみます。ユーザビリティーにも様々な定義があるのですが、その中で「効率」、「有効さ」、「満足度」という3つの指標による定義が考えを進めていく上で扱いやすいと感じています。
これら3つの指標は、ユーザーが持っている目標をベースにしている指標です。ユーザーがサービスを利用するとき、必ずユーザーにはサービスを利用することで達成したい目標があるはずで、それをどれだけ効率的に・完全に・満足できる形で達成できるかがサービスのユーザビリティー、ひいてはUXの善し悪しになるというわけです。しかし難しいのが、ユーザーの持つ目標は一般的に階層構造を取っているという点です。下図はそれを模式的にあらわしたもので、上に行くほどユーザーの本質的な目標を表しています。ユーザーが自覚しやすい表面的な目標になるほど、目標には手段的な要素が強く入ってきます。
ここで重要なのが、サービス提供者側がユーザーに達成させてあげられる目標はごく一部で、それは普通表面的で手段的な目標であるという点です。そしてサービス提供者が触れられる部分が一部だけだといっても、本質的な目標の部分を無視して良いわけではありません。これらはユーザーのコンテキストとしてサービス上でのユーザー行動に影響する部分であり、UXを大きく左右します。
推薦システムでの良いUXの実現
ユーザーを上のように捉えなおしたときに推薦システムがどうあるべきかを、Wantedly Visitを対象として自分なりに整理してみます。上に挙げたように、推薦システムにはユーザーの目標を「十分に」、「効率的に」達成させ、結果としてユーザーを「満足」させる体験を提供することが求められます。そして、そのためにはVisit上でどのような目標を達成させてあげられるかに加えて、ユーザーの持つコンテキストを考慮することが重要です。
推薦システムの体験設計を考えていくにはまだ漠然としすぎていますので、スコープを少し絞ってみます。まず、Wantedly Visitはすぐに仕事を見つけたいユーザーが利用する用途だけではなく、他の企業の話を聞いてみたいだったり、自分のこれまでの経歴をプロフィールにまとめたいなど色々な用途があります。しかしここではシンプルにするために「仕事探し」の用途に絞って話を進めます。また、いくつかの軸で目標やコンテキストを分解して考えてみます。ここでは例として次の2つの軸を考えます。
- 時間軸:利用前・利用中・利用後
- ユーザー特性:以下の2軸でユーザー特性をSEPIA法で4象限に分ける
* SEPIA法:自己効力感(ユーザーが自身の目標の達成のためにどれだけ頑張れるか;Self-Efficacy)と製品関与(ユーザーがサービスに対してどれだけ関心があるか;Product Involvement)の2軸でユーザーを分類するフレームワーク。
新規ユーザーへの推薦の体験設計
Wantedly Visitに登録した直後のユーザーは Visit への期待感が強い傾向があります。そのためユーザー特性としては製品関与が強いことが推測され、またサービス利用前の期待が利用中のUXに及ぼす影響が強いことが考えられます。
あくまで一例ですが、このようなユーザーにはすぐにユーザーの目標を達成させることを目指すというよりも、「このサービスを利用してれば自分の達成したい目標が達成できそうである」という期待を感じてもらえる方が重要かもしれません。推薦システム側の話ですが、新規ユーザーは行動ログがまだ少ないセグメントですので、嗜好に合った推薦をすることが非常に難しいセグメントです (コールドスタート問題)。なので一旦効率性を劣後して、Visitを使って期待を持ってもらうことで継続的に利用してもらい、それによって集ったデータを利用してより本質的な目標の達成支援へとシフトしていき、「十分性」と「満足」を感じてもらうというパスを取ります。
この場合推薦システムとしては、マッチングの成立よりもユーザーが応募してくれることに重心を少しずらした学習をするという選択肢が考えられます。こうすることで、ユーザー側としては魅力的な募集をたくさん見つけられるという体験になり、Visitを継続的に利用しようというモチベーションにつながることが期待できます。しかし、期待ばかりではユーザーのモチベーションは長くは続きません。なので、効率性の低下をいかに最小限に抑えるかというのも推薦システム設計に求められていることです。これらの要求に対する答えの1つとしては、過去に我々が行なった下のような施策があります。
内容を簡単に説明すると、新規ユーザーがオンボーディング時に自分の興味のあるワードを選択できる機能を付けることで登録直後から良い募集を見つけられるようにしつつ、行動量に応じて行動情報を利用した推薦に切り替えるということをしています。今の視点から見返してみると、これは効率性の悪化を最小限にしてVisitへの期待を醸成しつつ、ユーザーが良い仕事を見つけたいという目標を将来的に十分に実現でき、満足できるようにするための施策だったと言えます。
受動的な傾向が強いユーザー
どのサービスにも言えることかと思いますが、サービスの利用ユーザーの中には製品関与は高いが自己効力感が低いユーザーセグメントが存在します。Wantedly Visitで言うと、例えば、企業に応募することにはあまり関心がないが、企業からスカウトが送られてくることを期待している受動的なユーザーがこれに当たると考えられます。このセグメントは活発に応募などをするユーザーと同様に「良い仕事に出会いたい」という目標を持っているが、より手段的な部分の目標が受け身なものになっていると解釈できます。
このようなユーザーに良いUXを届けるには、ユーザーに頑張って魅力的な募集を推薦しようとするよりも、企業側に目を向けてこのユーザーを魅力的に感じる企業に推薦するようにするという方針の方が良いかもしれません。ただし、ユーザーから見て魅力的でない企業からスカウトがたくさん送られてきてもUXは良くならないので、最適化すべき指標はスカウト受信後のユーザー返信などになると考えられます。
また、受動的なユーザーは自分から行動をあまりしないので行動データは少ないですが、自分のプロフィールなどのコンテンツデータは豊富にあることが予想されます。なので、推薦システムの学習に利用するデータとしてコンテンツデータの比重を上げることや、もしくは、企業が見る推薦への露出を一定増やしてスカウトが届くようにして、その反応を探ることで行動データを収集するということも場合によっては有効かもしれません。
まとめ
ここまで、データサイエンティストがUXデザインを学んでみて、その視点から推薦システムを見直してみたという内容を書いてみました。まだまだ自分のUXの理解は浅く、推薦システムとの関わりについても表層的な部分しか書けていないですが、確実に自分の推薦システムへの解像度はこれまでより上がったと感じています。
私たちと一緒に、推薦システムという技術活用を促進して人と会社の理想的なマッチングを追求するデータサイエンティスト・機械学習エンジニアの仲間を探しています。少しでも私たちの取り組みに興味を持っていただけたら、以下の募集から「話を聞きに行きたい」ボタンを押してくれたら嬉しいです