「ふとしたきっかけでデータ・機械学習周りのお手伝いをすることになって、2ヶ月でやったこと」

はじめに

Labitでデータと機械学習周りでお手伝いをさせてもらっている高木です。DeNAやKaizen platformなどでデータサイエンティストやプロダクトマネージャーをやっていました。

もともと、来月から自分のやりたいことをやるためにフリーになっていたのですが、ひょんなきっかけから短期間ではあるものの、Labitのデータと機械学習周りをお手伝いすることになりました。今日は、2ヶ月という短い期間ではあったものの、こんな良いチームと、こんなことを実際にやったよ!というのをご紹介させていただきます。

Labitとの出会いのきっかけ

昔から知っていたというわけではなく、前職が同じの河西智哉氏(実は前職では1日も被っていないのだけど)に、データと機械学習周りで少し困っているという話をいただいて一度会ってみたというちょっと不思議な縁でした。大変失礼ながら、サービスも会社も知らないという状態からのスタートでした。

お手伝いしようと思った理由

一言で言うと、チームがとても良かった からです。チームメンバーのバランスも良く、雰囲気がとても良くて、オフィスを見渡してみると、事業への思いや目標などが貼ってありCEO自らメンバーに丁寧に説明している様子が見えたし、席の配置も会話が起きやすそうにしていたり、オフィスの物理的な明るさも非常に良くて、いいチームと雰囲気を作るための工夫が随所にされているなと感じました。その上で集まったメンバーも気持ちいいメンバーが揃っていて、みんながフランクだけど真面目に前向きに事業の話ができていたので、ここならお役に立てる可能性があるなと感じて決めました。実際に僕自身は結構、相談には乗るけど結果が出にくそうな場合にはお互い得をしないので断ることも多くて、データとか機械学習の問題じゃないことをデータとか機械学習の問題として依頼されるとか実務上の問題もあるのですが、もう一つはチームとかオフィスの雰囲気で「気」みたいなものを感じない時には断ったりするのですが、まさにうまくいく「気」みたいな理屈では説明できない何かをこのチームに感じました。業務委託であってもうまくいくどうかはチームの雰囲気で決まることも多く、無視できない要素です。実際に中に入ってみて初めの印象は間違っていませんでした。

2ヶ月でやったこと


ブクマ!のUXの課題

この先の話の理解しやすいようにブクマ!のUXの課題を説明しておきます。大きな課題としては、ユーザーがログインしている短い間に、ユーザーが潜在的にほしいと思う本をいかに提示できるか?逆に絶対に不要と思われる本をいかに除けるか? ということでした。この問題はブクマ!に限ったことではなくて、メルカリのようなアプリなどでも同じで、雑多に並んだアイテムの中から自分が本当に欲しいものを探すというのはスマートフォンというデバイスは向いていないという、実はどこのサービスでも根源的に困っている問題であったりもします。

チーム内の認識合わせ

上記の課題解決のために、まずは3つのことをチームで認識合わせが必要に感じていました。週1でのお手伝いだったので、ここにはGW挟んでだいたい2週間くらいの時間がかかりました。またこれはデータ活用をする上で実務上は普遍的なことでもあるので少し丁寧に書きます。

  • 「本当に実現したいこと」、「今のリソースで割とすぐに出来ること」、「理想的にこうあるべきこと」のバランスが取れた現実解を見つけること
  • データ・機械学習だけでは解決できない問題であることの認識を合わせる
  • データの活用は一足飛びにはできないことの認識を合わせる

 まず業務委託でデータや機械学習をやるときに一番大変なのが、「本当に実現したいこと」、「今のリソースで割とすぐに出来ること」、「理想的にこうあるべきこと」のバランスのとれた現実解をきちんと見つけることです。データがきっちり整備されていて自由自在に取り出せて使いやすく、適切な粒度でデータが取られているのが理想なのですが、ほとんどの場合、理想的な状態ではないし、理想的な状態な会社というのはほとんど見たことがありません。ただ理想的じゃないからといって、理想的な状態にしてから施策実行をするのでは事業インパクトへのスピードが落ちるので、きちんと現実解を見つけることが最初の大変な作業になります。

 次にスマートフォンアプリの検索性の問題は、大きく分けると、商品カテゴリ分けの粒度、検索の精度と使い勝手、レコメンド・リスティングの最適化の3つに分けられますが、いわゆるデータや機械学習で解決できるのは、検索の精度とレコメンド・リスティングの最適化だけで、UIの影響もかなり大きく、UIなしでやってもサービスへのインパクトは限定的であることを認識しておくのが重要で、業務委託の依頼を受けると案外この観点が抜け落ちていることが経験上多いので、ここもきっちり認識を合わせておくことが大切です。

 最後に、データ周りでよくあるのが、データがあると思っていても使い勝手が良い形式になっていなかったり、やりたいことに対してデータの粒度が適切でなかったりということが、経験上よく起こるのですが、ここもきちんと認識をして実行フェーズでデータの貯め方に問題がある場合には、データを貯め方の部分に立ち戻る必要があるということを認識を合わせておくこともこの先進めていく上で重要になります。

UXの課題解決のために実際にやったこと

1ヶ月くらいで結果が出始めるようなスピード感でやるための現実的な施策として以下の4つをやる事になりました。

  • タブカテゴリの内容の変更
  • 検索サジェストの精度とパフォーマンスアップ
  • 取れていないデータで必要最低限のデータをBigqueryに保存する機能開発
  • レコメンドロジックの開発

特に4番目のレコメンドロジックの開発は、A/Bテストを行なって試行錯誤でやらないといけない部分で、非常に工数もかかるし、大変なのですが、開発に合わせて毎週A/Bテストを行うなど、この規模のチームでやるのは大変でしたが、チーム力が高かったので乗り越えることができました。レコメンドロジックの開発に関しては、この後にもう少し詳しくご紹介させていただきます。

レコメンドロジック開発のプロセス

レコメンドの理想的な状態は、適切にレコメンドされることはもちろんですが、最新のデータが溜まって、そのデータを活用して、ユーザーの最新状態が自動で反映されて、レコメンド内容がリアルタイムで変化し最適化されていくシステムをきっちり作ることで、これはとても大変な開発になります。しかも実際にサービスで動かしてみないと、効果があるのかわからないという性質のものなので、かなりリスクが高い開発になりがちです。いきなりガチガチにシステムを作り込むことはせずにリスクを減らしつつ、しかもスピーディにインパクトが出るように今回の開発では次のようなステップを踏む事にしました。

  1. 今あるデモグラデータを手動でデータ分析して、分析結果をシステムに反映してレコメンドを行う仕組みを構築する
  2. 行動データを手動で分析して、ユーザーごとに分析した結果をシステムに反映してレコメンドを行う仕組みを追加で構築する
  3. A/Bテストでよかったロジックを採用し、手動で行っていたデータ分析とデータ分析の結果の反映を自動化する仕組みを構築する

このステップを踏む事によって、早い段階で効果検証ができて、システム開発もうまくいかなかった時に比較的に手戻りが小さくなるように考えていましたが、実際には杞憂でした。というのも1回目のA/Bテストでいきなりかなり良い結果が出たので、概ね方針は間違っていないことが確認できたためです。実際の効果に関しては次の記事で詳細に紹介されているのでご参照ください 。

【CtoCのデザインって?】Prott User Meetup -CtoC特集-にデザイナー&CEOが登壇しました!

最終的には4回のA/Bテストを経て、2ヶ月経った現在、なんとか3まで終えることができました。

最後に

2ヶ月と短い間でしたが、お世話になりました。本当にいいチームで、少しでも関われてよかったです。

株式会社Labit's job postings
Anonymous
579026 4891198439810 508180613 n
1dbfe173 405a 4637 ac09 108747ba6a50
12552916 10207363674903469 2899634474519960840 n
Bc549d47 8fc2 4d1e a7f2 4a3d99c26f46
399830 256093414456651 26930708 n
12 Likes
Anonymous
579026 4891198439810 508180613 n
1dbfe173 405a 4637 ac09 108747ba6a50
12552916 10207363674903469 2899634474519960840 n
Bc549d47 8fc2 4d1e a7f2 4a3d99c26f46
399830 256093414456651 26930708 n
12 Likes

Weekly ranking

Show other rankings

Page top icon