Repro株式会社

モバイルアプリとWebサイトを使うユーザーの行動を知り、適切なマーケティングの一手をスピーディーに投じることができるプラットフォーム「Repro」

商品やサービスの情報入手や比較検討など、私たち生活者の購買行動の多くがインターネット上で行われている今、スマートフォンやPCは生活者と企業との重要な接点となり、アプリやWebサイト上で、ユーザーにいかに期待した行動を取ってもらうかが、企業が存続、発展するための生命線となっている。これはネットビジネスだけでなく既存の企業にとっても当てはまる。
東京都渋谷区にあるRepro株式会社では、これら企業にアプリとWebサイト上のユーザーの振る舞いを見ることができる「Repro(リプロ)」を提供し、従来、勘に頼っていたマーケティング活動をデータに基づいた科学的な活動とするサービスを提供している。
このReproにRubyが活用されていると聞き、Repro株式会社のCTO・橋立友宏氏にお話を伺った。

ユーザーの動きを見える化し、アプリやWebサイトを成長させるRepro

Reproの顧客ターゲットは、アプリやWebサイトを提供している企業や組織に所属しているマーケターや企画者だ。従来、ユーザーに特定の行動を促すキャンペーンやリコメンド広告などのマーケティング施策は、社内の開発者たちへ、施策を実装する開発を依頼しながら行ってきた。Reproは、自分たちのアプリやWebサイトがユーザーにどういう風に使われているのかを画面のダッシュボード上で確認し、それに合わせて施策を打つことができるプラットフォームを提供する。社内の開発者の手を借りることなく施策を実施することができ、迅速にその施策の効果も見ることができる。こうしたPDCAサイクルを回していくことでサービスを成長させていくことができるのが特長だ。

(Repro株式会社のCTO 橋立友宏 氏)

スピード感のあるマーケティング支援を実現

モバイルアプリの例を挙げると、よく使われている機能にプッシュ通知機能とアプリ内メッセージ(ポップアップ)がある。Reproを使うと広告や時限的・時期的な情報などを最適なタイミングでプッシュ通知を配信したり、アプリ使用中にポップアップ表示させることができるため、キャンペーンの訴求効果を高めることができる。マーケター達は、このReproの管理画面をみるだけでサービスの利用者に広告や宣伝を実施できることが大きなメリットだ。
また、マーケティング施策に対してその効果を適切に測る仕組みをReproはサービスとして提供している。だからReproを使えば、勘に頼って成果が出たのか検証できていないまま物事を進めるのではなく、効果が得られる形で施策を計画的に実施できるのだ。

「僕は人間が重複して同じことをしているのは無駄だと思っています。細かいニーズに対してはそれぞれ仕事していくことが必要ですが機械に任せられるところは機械に任せて人間は楽に生きて行けばいいと思っています。」(橋立氏)

Reproのサイトでは、ECや不動産、マッチング、メディアやゲーム、動画コンテンツなど、実に様々な業種での活用事例が多数掲載されている。まさにスマホ時代のマーケティングをエンパワーするサービスだ。

Reproの構成の中でのRuby

Reproのダッシュボード自体はRuby on Railsでベースが構築されている。ユーザーの動きは、モバイルアプリ・WebサイトにSDKで組み込まれたエージェントからクラウド上に送信されたデータとして一度キューに貯められ、分析しやすい形に加工してデータストレージに蓄積しているが、ここにもRubyのworkerが存在し、データの取得と加工を並列で行っている。Treasure DataがRubyで開発したfluentdというログ転送ミドルウェアも活用している。すごく時間のかかる大量のデータを処理する部分はJavaに任せていて、依存関係のある処理順番の整理やクエリーの組み立てなどハンドリングの部分はRubyでコントロールしている。
初期開発時の開発効率の良さやRubyGemsの成熟したエコシステムがRubyの魅力であるという。

Repro自体を成長させるために必要だったこと

Rubyの使い手として以前からRubyの地域コミュニティで活躍されてきた橋立氏はRubyだけでなく様々なオープンソースソフトウェアを使ってReproを育ててきた。
「僕が入った当時、RubyとRuby on Railsで書かれていたReproのシステムは、まだ規模も小さかったのですが、将来的にこの会社が成長するのなら、もっと大量のデータをさばいて扱って行けるような仕組みを作らないと持たないだろうと予測できました。それを解決するために、サーバのインフラ周りの改善や自動でスケールできるような仕組みを改めて入れたり、外部の分散処理やクラウドサービスを積極的に活用するようにコンポーネントをばらして入れ替えたり、アーキテクチャを切り替えたりと段階的にやってきました。」

(Repro株式会社のCTO 橋立友宏 氏)

「システム規模が大きくなってくると、Rubyの柔軟さよりも静的型付言語を利用して開発の安全性を高めるということが必要になる場合もあります。弊社でもgolang等の採用が増えてきました。
一方で、ソフトウエアを開発しているとメインシステム以外に色々と作らなければならないものがあります。規模が大きくなればそういったサブシステムの要求も同時に大きくなっていきます。
運用時に生じるちょっとしたメンテナンススクリプトやインフラのコントロールコード、データ処理に使っているワークフローエンジンなんかもそうですが、“こういうのが必要だなあ”と思って、すぐに形にしたいものを作るときにRubyは向いていて、かなりスピード感を持って対応できています。」

「Rubyは、人間にフォーカスした言語で、それなりの時間触ってきて僕も実感しているところですが、書いていて気持ちいい。こう書けば動きそうだなとか、配列を操作するときに、こうゆうメソッド多分あるよなと思うと大抵あって、気持ちよく処理が終わったなという爽快感も得られる。
日本発の言語ということで、言語開発のコアな人たちとも近所にいる人のような感覚で気楽に話せるのがいい。開発者にいい影響を与えていると思う。」

未来のマーケティングをアップデートするReproの展開

Reproは、今回事例を伺ったモバイル環境でのサービスに加えて、すでに一般的なWebサイトの対応サービスもリリースしている。さらにデータ収集で蓄積されたログ資産を機械学習や統計処理を活用して、人間が働くことなくマーケティング支援していくという研究を拡大していくという。今後のマーケティングの概念をも変えていこうとしているようで、展開が楽しみだ。

<CTO・橋立友宏氏からのメッセージ>
  • 「RubyKaigi 2019」でスピーカーとして登壇予定です。ぜひ聴きにいらしてください。
  • Repro株式会社ではRubyやRuby on Railsで難しい問題に立ち向かいたい人材を常に募集しています。
    開発者に限らず採用募集しているので興味がある方は是非Reproの採用ページにアクセスください。

※本事例に記載の内容は取材日時点(2019年2月)のものであり、現在変更されている可能性があります。