カップリングユニオン発足から1年 統括責任者が語る今後の展望

サイバーエージェント2017年9月期通期決算説明会にて、新たな注力事業として「タップル誕生」をはじめとするマッチングサービスに力を入れていくことを発表いたしました。 昨年12月より、趣味でつながる恋活サービス「タップル誕生」を運営する株式会社マッチングエージェント代表合田が責任者となって、サイバーエージェントグループで運営している全てのマッチングサービスを集結させた横断組織「カップリングユニオン」を発足。グループ全体でマッチングサービスの成長を加速させいこうという動きもスタートしています。   今回は横断組織「カップリングユニオン」の統括責任者である合田に、組織発足1年の振りかえりと、今後の展望についてインタビューしました。   マッチングサービスに対する社会的変化 –カップリングユニオン発足から約1年が経過しましたが、この1年の手応えを教えてください 合田:2017年は大きな手応えを感じた1年でした。「タップル誕生」がApp Storeのトップセールスランキングで国内では業界No.1となり、位置情報を利用した、すれ違いを恋のきっかけにするサービス「CROSS ME(クロスミー)」、顔認証システムを活用して好みのタイプを探すサービス「mimi」も立ち上げから1年で軌道に乗ってきています。 今年の8月には、女性からはじまる恋活サービス「Torte(トルテ)」もリリースし、今後に向けた仕込みもできている状況です。 これら新たに立ち上げるサービスについては、タップル誕生で培ったノウハウ、主にサービス改善、広告運用、カスタマーサポートについて、より早いサイクルでPDCAを回すことが可能となり、横断組織ならではのシナジーが産まれているなと手応えを感じています。 また、マッチングサービス利用経験者の3人に1人が、 サービスを通じて恋人ができたという調査結果※1にもある通り、サービスの利用が一般化しているのを感じると供に、2017年はメディアにも沢山取り上げて頂ける機会にも恵まれ、マッチングサービスについて、世の中の見方も良い方向へと変化してきているなと感じています。   ※1オンライン恋活・婚活利用実態調査(2017年11月発表・Love Techラボ)https://www.cyberagent.co.jp/news/detail/id=20929     今後提供していくのは「新たな体験」 –「タップル誕生」が国内最大規模となりましたが、今後どういったことを目指していきますか? 合田:今以上に、サービスを利用していることを周りに堂々と公言出来るプロダクトにしていきたいと思っています。 現状だと、異性を選ぶ際に顔や年収などのステータスが重視されがちになってしまいますが、実際の恋愛では「趣味」などの「内面」がきっかけで、恋愛に発展するというケースが多いと思います。今後はよりその人の「内面」にフォーカスしてプロダクトをブラッシュアップしていく予定です。 マッチング精度の追求、マッチした後に会話を盛り上げる演出、お付き合いまでスムーズに発展していけるよう、インターネットでの出会いをより本質的な体験に寄せていきたいと思っています。   サイバーエージェントの新たな柱に –カップリングユニオンとしての今後の展望を教えてください。 合田:サイバーエージェントは、広告代理店事業、ゲーム事業、メディア事業と3つの事業の柱がありますが、マッチング事業が第4の柱となるよう成長させていきたいという気持ちは、1年前の立ち上げの時から変わっていません。 第4の柱となるには、カップリングユニオンのサービスそれぞれが新たなユーザー層を獲得し、市場全体を拡大していかなければなりません。新しいユーザー層を獲得するためには、それぞれのサービスがオリジナリティがあり、しっかりとユーザーのニーズを捉えていくことが重要です。 技術についても独自のマッチングアルゴリズムや、ユーザーの方に安全にご利用頂けるよう自動監視システムの開発にも注力し、業界特有の課題を解決していきたいと思っています。   2018年度もメンバー一丸となって、「インターネットで恋愛」を当たり前の世の中へを実現するべく、どんどんチャレンジしていきたいと思っています。  

2017.11.02

サイバーエージェントグループの4つのマッチングサービスが集結、Elasticsearchについての勉強会を開催

趣味でつながる恋活サービス「タップル誕生」(株式会社マッチグエージェント提供)や位置情報を利用した、すれ違いを恋のきっかけにするサービス「CROSS ME」、“タイプ(好み)” の異性を探せる恋愛・婚活サービス「mimi」、そして2017年8月28日(月)にリリースした女性からはじまる恋アプリ「トルテ」とサイバーエージェントグループでは様々なマッチングサービスを提供しています。 それら全てのマッチングサービスを集結させたのが、横断組織である「カップリングユニオン」です。2016年12月の発足以来、カップリングユニオン内で様々な運営ノウハウの共有を行なってきました。エンジニア同士の横断的な取り組みも盛んなのが特徴で、2017年9月11日(月) にはカップリングユニオンとしては初めての主催となる勉強会「マッチングサービスを支えるElasticsearch」を開催。当日は特性の異なる各サービスで得たElasticsearchの知見を、参加者の方々に共有いたします。   Developers Blogでは、カップリングユニオン横断の技術的な取り組みを推進する河野と、当日登壇を行うアントニオ、川田、中川、矢﨑にインタビュー。 勉強会当日の見どころや、カップリングユニオン内で行われている技術的知見の共有、各サービスの今後の展望について話してもらいました。 河野 智則 「タップル誕生」リードエンジニア 2011年サイバーエージェント中途入社。サーバーサイドエンジニアとして、コミュニティサービス「アメーバピグ」や「ピグライフ」の運用・開発を担当したのち、オンラインRPG「ピグブレイブ」、美少女バトルRPG「オルタナティブガールズ」等ゲーム事業の立ち上げに従事。 2016年7月に株式会社マッチングエージェントに出向後は、同社のリードエンジニアを担当 ヴァルヴェルデ・アントニオ 「タップル誕生」サーバーサイドエンジニア スペイン出身、現地の大学院を卒業後2013年サイバーエージェント新卒入社。入社後は基盤システムやソーシャルゲームの立ち上げ・運用に携わった後、2015年12月より株式会社マッチングエージェントに出向し、現職。 川田 浩史 「CROSS ME」エンジニアリーダー兼スクラムマスター 2011年サイバーエージェント新卒入社。入社後は、サーバーサイドエンジニアとして数々のコミュニティサービスやソーシャルゲームの立ち上げ・運用に携わる。2015年11月よりグループ会社の株式会社プレイモーションに出向し、現職。 中川 武憲 「トルテ」サーバーサイドエンジニア 2016年サイバーエージェント新卒入社。無料ホームページ作成サイト「Ameba Ownd」の運用に携わった後、2017年2月より株式会社トルテに出向し現職。 矢﨑 亮太 「mimi」プロジェクトマネージャー兼サーバーサイドエンジニア 2006年、サイバーエージェントのグループ会社、株式会社シーエー・モバイルへ中途入社。様々なWebサービスや課金基盤などの開発を担当した後、2016年7月より現職。 第1回目のテーマは、マッチングサービスを運営する上で欠かせないElasticsearch ーーカップリングユニオンはどういった組織なのでしょうか? 河野:カップリングユニオンは、サイバーエージェントグループで運営している全てのマッチングサービスを集結させた横断組織です。趣味でつながる恋活サービス「タップル誕生」(株式会社マッチングエージェント提供)、位置情報を利用した、すれ違いを恋のきっかけにするサービス「CROSS ME」、“タイプ(好み)” の異性を探せる恋愛・婚活サービス「mimi」、そして2017年8月28日(月)にリリースした女性からはじまる恋アプリ「トルテ」の4つのプロジェクトが所属しています。 サイバーエージェントグループ全体でマッチングサービスの成長を加速させ、市場No.1を目指していくことを目的に昨年12月に設立しました。カップリングユニオン全体では毎週月曜に全体で朝会を実施したり、各子会社社長や企画職メンバーで頻繁に運用ノウハウの展開や共有を行なっています。 カップリングユニオンには30名弱のエンジニアが所属していますが、我々エンジニア組織としては同じマッチングサービスを開発するエンジニア同士の交流や知見の共有、活性化を目的にカジュアルな社内勉強会や交流ランチを行なっています。カップリングユニオン全体で価値基準を決めるとか技術選定を統一するということはせずに、子会社の集まりなので各社の意向を優先させることを大切にしています。 これまでにサーバーサイドやiOS、Android、デザインといった技術軸に分かれた勉強会を不定期に開催してきました。勉強会ではテクノロジーレーダーを用いて各社がどういう技術をどのようなスタンスで使用しているのか発表し合ったり、最近こういう技術を使ってみましたといった内容をカジュアルに共有しています。 ーーどんなきっかけで今回の勉強会開催に至ったのでしょうか? 河野:これまで各社のメンバーがそれぞれ勉強会やイベントで登壇することはあったのですが、カップリングユニオンとして勉強会を主催したことはありませんでした。どこかのタイミングで対外的に技術アウトプットをしたいねという話をずっとしていて、今回「トルテ」もリリースしたのでぜひこの機会に実施しようということになりました。勉強会のテーマはマッチングサービスを運営する上で欠かせない、Elasticsearchです。 社内のメンバーでも、まだ他のサービスがどのように工夫をしているのかといった深い知見については知らないことも多いと思います。社外の方々に参加いただく勉強会ですが、今回はカップリングユニオンのメンバーたちにとっても実りある時間になるのではと考えています。 ーー登壇者のみなさん、今回の登壇内容と見所について教えてください アントニオ:「タップル誕生」はカップリングユニオン内の他のサービスと異なり、リリース以来検索機能にはElasticsearchではなくMongoDBを用いていました。2016年にElasticsearchに移行したのですが、結果的に検索機能のパフォーマンスも向上しましたし、おかげで様々な施策を試せるようになりました。今回は導入理由や方法について話したいと思います。 中川:「トルテ」は新規サービスで最初からElasticsearchを採用することを決めていたので、導入にあたってカップリングユニオンの知見を生かし、ロジック周りや検証実装を進めていった経緯をお話する予定です。 マッチングサービスなので、すでにマッチングしたユーザーをお互いの検索結果から除かなければいけないのですが、その方法が特に見どころかなと思います。 川田:「CROSS ME」は位置情報を用いたマッチングサービスなので、その特性を生かして「位置情報を用いたElasticsearchの活用事例」と題してお話させていただきます。 矢﨑:「mimi」ではタイプの異性を探す際に、ランダム表示されるカードで1枚ずつ探す方法とリストで一覧から探す方法があります。これまではランダム表示のアルゴリズム部分にしかElasticsearchを用いていなかったのですが、最近リスト表示にも導入しました。ランダム表示とリスト表示では検索できる項目が違うため、インデックスの構成を変える必要があったのですがそのあたりのお話ができればと思っています。 皆同じフロアで開発しているので気軽に相談しやすい環境 ーーマッチングアプリを開発するエンジニア同士で知見を共有し合える環境のようですが、具体的にはどんなメリットがありましたか? 矢﨑:「mimi」は、リリース当初からカップリングユニオンに所属していたのですが、オフィスは離れたところにありました。リリースから4ヶ月後に同じオフィスで働くようになってから、自分たちでは解決できなくてもやもやしていた点もカジュアルに聞くことができ、すごく助かっています。 たとえば新たな機能を開発するときに、こちらの実装が間違っているのかOS側の仕様上の問題なのかわからずに「mimi」メンバーだけで悩んでいたことがありました。「タップル誕生」など運営の長いサービスではそういった知見が既にたまっているので、彼らに質問するとすぐに解決しましたね。 河野:カジュアルに相談しやすい環境だと感じてくださっているのなら嬉しいです。「カップリングユニオンどうですか?」って普段面と向かってなかなか聞けないので(笑) 矢﨑:何かあった際に相談できるエンジニアがすぐ近くにいるというのは非常に心強いですね。「mimi」はサイバーエージェントのグループ会社 […]

2017.10.23

【技術勉強会レポート】CA.io #1「マッチングサービスを支えるElasticsearch」

河野 智則 「タップル誕生」リードエンジニア 2011年サイバーエージェント中途入社。サーバーサイドエンジニアとして、コミュニティサービス「アメーバピグ」や「ピグライフ」の運用・開発を担当したのち、オンラインRPG「ピグブレイブ」、美少女バトルRPG「オルタナティブガールズ」等ゲーム事業の立ち上げに従事。 2016年7月に株式会社マッチングエージェントに出向後は、同社のリードエンジニアを担当 みなさま、こんにちは。マッチングエージェントの河野です。 筆者は毎年かかさず夏フェスに行くのですが、今年は都合がつかずで参戦できず、”まだ夏が終わっていない”と感じてしまう今日この頃です。 さて、そんな中(?)、9/11(月)にCA.ioの第一回を実施いたしました。当日は100名を超える方に足を運んでいただき、ありがたいことに満員御礼となりました。 今回はこの勉強会の開催レポートを紹介したいと思います。 CA.ioとは CA.ioとは、サイバーエージェントのメディアサービスを運営しているエンジニアによる、エンジニアのための勉強会です。毎回特定の領域にテーマを絞って勉強会を実施する予定です。 第一回のテーマは”マッチングサービスを支えるElasticsearch”。 CAが運営しているマッチングサービスでのElasticsearchの活用ノウハウを発表しました。 また、当日はelastic社からDeveloper AdvocateであるJun Ohtani 様をゲストに迎えての開催となりました。 ゲストセッション Elasticsearch 6.0 is coming / Jun Ohtani ゲストのOhtani様からは現在(2017/09/22時点)、β版をリリース中のElasticsearch 6.0に関して発表をしていただきました。 _typeがDeprecatedになる。 5.xから6.xへのupgradeはこれまでと比べてかなり楽になる。 sort条件をindexのタイミングで設定が可能。 内部のLuceneが7にアップデートされている。 など、Elasticsearch 6.0の詳細について知ることが出来ました。 「これまで誤った使われ方をされることが多かった」という_typeがDeprecatedになり今後なくなる予定という話が特に印象的でした。 セッション タップル誕生がElasticsearchを導入した3つの理由 / Valverde Antonio なぜタップル誕生でElasticsearchを導入したのか、導入当時を振り返りながら発表してもらいました。 パフォーマンスの向上や複雑な検索の実現など、マッチングサービスとElasticsearchがいかに相性がよいかをわかりやすく説明してくれました。 位置情報を用いたElasticsearchの活用事例 / 川田 浩史 “すれ違い”機能が押しのCROSSMEからは、位置情報の活用事例についてです。 すれ違いをどう定義しているかからはじまり、緯度経度から住所を検索するための逆Geocoding、カバー画像を現在地によって変えるためのGeo Shapeの活用など、実践的な事例を紹介してくれました。 Elasticsearch活用&運用事例〜mimiの場合〜 / 矢崎 亮太 好きなタイプ(顔)で検索できるマッチングアプリ mimiからは、基本的な検索事例とインデックス再構築事例を発表してもらいました。 re_indexでは実現できなかったインデックス再構築を、アプリ側で同期ツールを用意して工夫するなど独自の運用をしているそうです。 […]

2017.09.22

位置情報を使った「すれ違い」機能の実装 [server]

川田 浩史 「CROSS ME」エンジニアリーダー兼スクラムマスター 2011年サイバーエージェント新卒入社。入社後は、サーバーサイドエンジニアとして数々のコミュニティサービスやソーシャルゲームの立ち上げ・運用に携わる。2015年11月よりグループ会社の株式会社プレイモーションに出向し、現職。 CROSS MEというアプリのサーバーサイドを担当している川田です。 iOSの記事の続編的立ち位置で書かせていただきます。 サービス概要 CROSS MEは、すれ違いを恋のきっかけにしてもらうためのカップリングサービスです。 このアプリでは、すれ違いがサービスのキモなので、極力ユーザーにストレスのないすれ違い体験をしていただけるように設計しています。 本記事では、CROSS MEのメイン機能のすれ違い機能の概要を紹介させていただきます。 CROSS MEにおける「すれ違い」の定義 まずはCROSS MEにおける「すれ違い」の定義を説明します。 CROSS MEではすれ違い機能を実現するためにGPSを採用しています。 一般的にすれ違いと聞くと、2ユーザー間の、時間軸に連続的な位置の情報を使って、一定距離の幅を持たせたときにぶつかった場所をすれ違ったポイントとすることを想像します。 一般的にすれ違いというと、上記のようなイメージを持つのではないでしょうか。 UserAとUserBにそれぞれ幅を持たせて、ぶつかった場所(赤い部分)がすれ違いポイントとなります。 しかしGPSのデータは常に送信されているわけではなく、特定の間隔で送信されるので、時間・緯度・経度がセットになった点のデータになります。 点のデータのみでは上記方法は実現できないため、別の方法を採用する必要があります。 いくつかやり方が考えられますが、CROSS MEでは、最後に送った位置情報の地点に一定時間滞在しているものとし、時間、距離の2軸について一定の幅を持たせてすれ違い判定をしています。 CROSS MEにおけるすれ違いのイメージは上の図のようになっています。 UserCとUserDはそれぞれ、特定のタイミングで位置情報を送信します。 UserCは15:30以降位置情報を送信していませんが、しばらくその地点に居続けると推定し、15:45にUserDが位置情報を送ったタイミングですれ違い発生としています(時間は分かりやすく入れただけなので、実際の挙動は例とは異なります)。 すれ違い処理概要 それではCROSS MEのすれ違い処理の概要を説明していきます。 構成としては、大きく3つのフェーズに分かれています。 位置情報取得: Kinesisで位置情報を受け取る すれ違い判定: Lambdaですれ違ったかどうか判定 すれ違い履歴の保存: DBにすれ違った履歴を保存 という構成ですれ違い判定を行っています。 すれ違い処理部分を簡素化した図です。 それぞれをもう少し詳しく説明します。 位置情報取得: Kinesisで位置情報を受け取る クライアントから、特定のタイミングで位置情報を送信してもらっています。 Kinesisは複数シャードで運用しており、CROSS MEアカウントとKinesisシャードの紐付きは変わらないように設計しています。 シャード分割について、投げるデータと割り当てられるシャードの関係が分かりづらかったので、別の記事で自分なりにまとめてみました。興味がある方は見てみてください。 Kinesisの役割は、クライアントに投げてもらった位置情報を時系列に保持しておくだけです。 以下はKinesisで受け取ったレコード数を時系列に並べたグラフです。 平日にKinesisが受け取ったレコードと、 休日にKinesisが受け取ったレコードです。 CROSS […]

2016.12.12