dely Tech Blog

クラシル・TRILLを運営するdely株式会社の開発ブログです

クラシルの検索をよくするために1年間取り組んだこと

こんにちは: )

delyで検索エンジニアをしているsakura (@818uuu) です。この記事はdely Advent Calendar 2018の5日目の記事です。

4日目の記事は、SREの井上の「超手軽に構築する!サーバレスなWEBパフォーマンス定点観測基盤」でした。WEBパフォーマンスの定点観測・分析に興味がある方はぜひ読んでみてください。

tech.dely.jp

はじめに

私はdelyに入社した2018年1月から検索エンジニアをしています。

delyが運営している料理動画アプリ「クラシル」では訪れたユーザーのほとんどが検索をする、いわば検索がコアになっているサービスです。
検索エンジニアとしてその検索体験を少しでも向上させるべく日々試行錯誤しています。

弊社のエンジニアが検索体験について語っているインタビュー記事もありますので、ぜひご覧ください。

careerhack.en-japan.com

私が入社する前まで弊社には検索エンジニアという役職は存在せず、他の役職のエンジニアが検索部分を掛け持ちで担当していました。
従って、会社にとって検索エンジニアという役職を置くのは初めての試みでしたし、私自身も検索エンジニアという役職についたのは今回が初めてです。

この記事ではクラシルの検索を改善するために、検索エンジニアとして1年間クラシルの検索に向き合った記録をお届けします。
検索エンジニアを目指している方やサービスを運営していて「検索機能は提供しているけどなかなか手をつけれていない」と悩みを抱えている方にとってこの記事が少しでもご参考になると幸いです。

目次

検索離脱率の改善

結果:辞書シノニムの整備を行い、検索離脱率を5%低下させることに成功しました🎊

検索エンジニアになって特に気にかけたのがこの検索離脱率という指標でした。入社当初は「一般的な検索離脱率が何%くらいなのか」という知見すらなかったため、その数値が高いのか低いのかすら判断ができませんでした。

調査を進めていくうちに、検索離脱率が高い一番の理由は辞書シノニムであることに気づきました。
辞書シノニム管理の運用についての詳細はこちらに記載しています。

tech.dely.jp

検索キーワードごとに検索離脱率を出し、検索離脱率が高いキーワードから優先的に対処していきました。
辞書シノニム改善をはじめてすぐに結果が表れ、運用を地道に続けていると結果的に検索離脱率を5%以上低下させることができました。

検索結果0件のキーワードの削減

結果:検索結果0件のキーワードを1000個以上削減・対応し、ユーザーの検索体験を向上させることが出来ました📒

クラシルには23,000件以上のレシピ動画があり一般的な料理はほぼ網羅していますが、たまに検索結果が0件のキーワードが見つかります。 「今流行りのチーズドッグを作りたい!」と思って「チーズドッグ」と検索してくれたとしても検索結果が0件だと、検索体験は非常に悪いですよね。

検索結果が0件の要因は主に2つあります。
1つは先ほど上述した辞書シノニムが未整備の場合、もう1つはそのキーワードに合致するレシピがそもそも存在しない場合です。

キーワードに合致するレシピがそもそも存在しない場合は、調理部さんと相談してレシピ動画を作成していただきます。 検索結果が0件キーワードの一覧の生データをただ渡すだけだとレシピのかぶりが発生してしまったり、実は既にレシピ作成中だったりして手間が発生してしまうので、調理部さんにも定期的にアドバイスを伺い工夫しながらデータをお渡ししています。

辞書シノニムの改善と新たにレシピを作成してもらったことで1年間で少なくとも1000個以上のキーワードに対応することができました。

f:id:sakura818uuu:20181205111437p:plain:w200
『とろーり チーズドッグ』も調理部さんと相談して作成していただいたレシピのひとつです。今ではたべれぽが50件以上ある人気のレシピです。

人気のキーワードの機能追加

結果:人気のキーワードの機能追加により、入力の手間を省きタップするだけで人気のキーワードで検索できるようになりました👆
また、この機能は分析・改善もうまくいっています。


今年新しくリリースされた機能の1つに、"人気のキーワードの表示"があります。 クラシル内でよく検索されているキーワードや急上昇しているキーワードを表示する機能です。


ハロウィンなど特別なイベント時にはそのイベントに関連する人気のキーワードを表示するようにしました。 この施策はとても数値がよかったです🎈

f:id:sakura818uuu:20181204164426p:plain:w150
ハロウィンの時の人気のキーワード

人気の検索キーワードでどのキーワードがクリックされやすいかなどを分析し、それに基づいて運用方法を改善したり新たな施策を考えたりしています。そして、その分析結果を定期的に社内共有サービスにレポートしています。

人気の検索キーワード(新規機能)の分析を始めた際に学んだことを共有しておきます。
新規機能をリリースした後「全体の何%にこの機能は使われているのか」や「どれくらいの人がこの機能を使ってくれているのか」などを必ず調べると思います。
しかしリリースしてすぐに分析してしまうと、まだアプリのバージョンをアップデートしていないユーザーも多く正確な概算値を測ることができません。 例えば、人気のキーワード機能はリリースしてから約10日間経ってからイベント数が落ち着きました。

f:id:sakura818uuu:20181204154423p:plain:w300
人気のキーワードのイベント数推移 : 2週間ほど経ってから数値が落ち着きました

他の新規機能でも約2週間経ってから数値が落ち着いた事例があります。つまり、新規機能は2週間以上たってはじめて全体の何%に使われているのかがわかるということです。 (私はこのことを知らずにリリースして1週間で速報値をレポートしてしまいました😨)

クラシルでは開発のサイクルがとてもはやい反面、既にリリースされた機能に対してケアできていないことも何度かありました。
人気の検索キーワードはリリースされてからも継続的に分析することでうまく改善を回せている好例だと思います。

検索品質ガイドラインの策定

結果:検索品質ガイドラインを策定し、クラシルの検索の方向性をドキュメント化しました👣ただし運用に難ありです。

Googleには検索エンジンの品質を評価するために検索品質ガイドラインを設けています。Googleのを参考にクラシルでも検索品質ガイドラインを策定してみる挑戦もしました。

f:id:sakura818uuu:20181204161905p:plain
Google General Guidelines(Google検索品質評価ガイドライン)

tech.dely.jp

ただ、これは作ったばかりで改善の余地が多いのと運用がままなっていないという現状があります。(それだけ伸びしろがあるということですね…笑)

検索絞り込み機能の追加

結果:検索絞り込み機能がリリースされましたが、想定より使用してくれるユーザー数が少なかったです😔

f:id:sakura818uuu:20181203175701j:plain

今年から検索絞り込み機能も増えました。 含めたくないキーワードやジャンル、15分以内で作れる料理など特定の条件に応じて絞り込むことができる機能です。

検索絞り込み機能は、ユーザーからこういう機能がほしい!とアプリレビューやCSを通して要望のあった機能のひとつです。もちろん社内でもこんな機能があればいいね〜と案で上がっていました。
私は主に分析を担当したのですが、実際にリリースしてみると想定より利用者数がものすごく少なかったのです。 具体的にいうと検索ユーザーの数%(一桁)しか絞り込み機能を利用していなかったのです。
ジャンルの精度が悪いのかな?と思い精度をほぼ100%にしましたがそれでも使ってくれるユーザーの数は増えませんでした。

数値を見守り続けたところ、少ないのではなくこれが定常的な値ということがわかりました。 検索をした後になにかタップする障壁がいかに高いのかを思い知らされた反面、通常の検索でユーザーが求めているものを検索結果を叶えなければ…と強く感じるのでした。

検索情報のリサーチと共有

結果:情報収集を地道に続けた結果、クラシルの検索ログを深い視点で見ることができるようになりました!

検索エンジニアはユーザーがどんなキーワードで検索しているか毎日チェックします👀
クラシルの検索キーワードのログから以下のことを確認します。

  • ユーザーがどんな食材でレシピを探しているのか
  • どんなキーワードが急上昇しているか
  • いまトレンドの食材/メニューはなにか
  • 検索下位にはどんなキーワードが入っているか(辞書シノニムが未整備の可能性が高いため)

検索ログの意味合いをきちんと読み取るために、世間一般の食にまつわる情報をたくさん検索し情報収集しています。
ユーザーはクラシル以外にも無数の食との接触点を持っています。
「新大久保で流行っているメニューをクラシルでも作りたい」「テレビで〇〇がダイエットに効くって評判だけどクラシルでもその食材を使ったレシピあるかな?」などそこから食べたいものや作りたいレシピを決めることも多いでしょう。

食との接触点一覧

  • Twitter
  • instagram
  • Youtube
  • グルメサイト
  • ニュースサイト
  • ブログ
  • 流行りの飲食店
  • など

「この情報収集する作業本当に価値を生んでいるのかな?」と思うときもあったのですが、地道に続けているとクラシルの検索ログがどのキーワードでどのくらい影響を受けるのかが少しずつわかってきました👏その他にも副次的に良い効果がたくさん生まれました!

上記で調べた情報は社内に定期的に共有しています📘

f:id:sakura818uuu:20181205114432j:plainf:id:sakura818uuu:20181205114452j:plain
検索情報共有の一部

さいごに

クラシルの検索を改善するために、検索エンジニアとして1年間クラシルの検索に向き合った記録をお届けしました。 いかがでしたでしょうか。

この記事を一言で伝えると、 「自社の検索の性質をよく把握し、その性質に合わせて検索改善・分析をすることが重要」ということです。

検索エンジニア1年目を振り返ると、ものすごく手探りで自分の無力さを感じた1年間でした。
経験・技術力不足でなかなかうまくいかなかったり、周りに同じ職業の相談相手がいなくて悩むことがとても多かったり…… 。 でも、この1年間やってきたことは無駄ではなかったと思います。無駄ではなかったと思いたいし、思い切りたいです。

検索エンジニア2年目は1年目よりももっと検索をよくできると信じています。
そして、いつか胸を張って検索エンジニアですといえるようになりたいです。


明日は、弊社のAndroidエンジニアの川口より「Androidにいい感じの動きをさせていく話(ViewPagerとその他Viewとの連動) - dely engineering blog」の話が書かれます。是非、お楽しみにしていてください!