DMMグループの一番深くておもしろいトコロ。
テクノロジー

データサイエンスを駆使した事業成長を手がける「Growth Scienceグループ」の正体とは?

DMMグループの一番深くておもしろいトコロ。

はじめに

はじめまして。DMMのGrowth Scienceグループでグループリーダーをしている森谷浩幸です。
DMMの各サービスには多くのユーザーがいらっしゃるため、日々膨大なトラフィックデータや購買データが収集されています。その一方、DMMにはデータサイエンスに特化した組織は存在していませんでした。私たちのグループは約2年前に発足し、DMMに眠っていた膨大なビッグデータを駆使したデータ分析・施策改善を行うことで、事業成長に貢献してきました。 しかしながら、DMMにおけるデータサイエンス系の取り組みはこれまで対外的に発表しておりませんでしたので、今回の記事では「DMMのデータサイエンスグループ」がどのようなチームで取り組みを行っているのかを紹介させていただきます。データサイエンスを駆使した事業成長に新しく取り組まれようとしている方・転職を考えている方の参考になれば幸いです。  

Growth Scienceグループの紹介

Growth Scienceグループでは「データサイエンスを駆使して、DMMの成長に貢献する」ことを目指しています。組織としては「検索改善チーム」「レコメンドチーム」「アナリストチーム」の3チームで構成されています。また、グループ付という形で、基盤を見るメンバーが所属しています(基盤メンバーは、特定のチームに属さず流動的に仕事をしています)。 各チームごとに、改善インパクトが大きいサービスを中心としてグロース施策の提案・実行・支援を行うことで、サービス売上の向上に貢献。継続的にABテストを実施・施策効果を定量的に測定することで、サイエンティフィックな事業成長を積み重ねています。

f:id:dmminside:20220228153705p:plain

ここからは各チームの紹介になるので、ご興味のあるポジションがある方は下記の目次より対象のチーム名をクリックし、ご覧ください。

また、記事後半は便利に活用できる分析手法として、差異分析の紹介をしております。そちらに興味ある方も下記目次リンクよりご覧ください。

検索改善チーム

機械学習を駆使した検索システムの改善・検索体験の向上を目指しているチームになります。 何年も前にDMMに検索システムが導入されてから、検索システムのロジックはそれほど改修されて来ませんでした。しかし、「機械学習を使えばより良い検索体験ができるのではないか?」と考え、機械学習での本気の検索改善に取り組みはじめました。 われわれが目指しているのは、検索結果のパーソナライズ化です。ユーザーの過去の購買履歴から嗜好性を分析して、ユーザ毎に最適化された検索結果が返ってくるシステムを目指しています。 検索改善チームには検索改善のABテストを気軽に行える環境が整っているため、考えたアイディアをスピーディにいろいろと試しております。スピーディに施策改善を続けられる環境が整っている点が非常に魅力的なポジションです。 

f:id:dmminside:20220228153734p:plain

 

レコメンドチーム

各サービスに導入されているレコメンドロジックを改修・新規開発することによるレコメンド体験・ユーザ体験の向上を目指しているチームになります。 DMMにはレコメンドが導入されている多くのサービスがあるものの、データ量の大きさや開発環境の兼ね合いから、これまではSparkベースのレコメンドアルゴリズムでの推論しかできていませんでした。そのため、レコメンドに使えるアルゴリズムに制限がある点が課題となっていました。 しかしながら、弊グループのEKS cluster上でGPUを動かせるようになったため、現在、PyTorch、tensorflowなどを使って幅広いレコメンドアルゴリズムを試しているところです。さまざまなアルゴリズムをいろいろと試していくフェーズなので、非常にやりがいがあると思います。また、緻密な分析を元に、レコメンドの改善点を探すことにも真剣に取り組んでいるため、分析を通してレコメンド改善したい方にもオススメです。検索改善チームと同様、レコメンドチームもABテストを気軽に行える環境が整っているため、スピーディに施策を回し続けられる点が非常に魅力的なポジションです。

f:id:dmminside:20220228153754p:plain

 

アナリストチーム

データに基づく施策提案と施策の効果測定を担当するチームになります。 「どうすれば売上を向上できるのか?」という観点から仮説出しとデータ分析を行い、見えてきたボトルネックに対する施策を考えます。事業部サイドに分析結果と考えた施策の説明を行い、施策実施することになった場合、システム開発・ABテストの実施・効果測定を行います。 仮説検証・分析・システム開発・ABテスト・効果検証と、かなり幅広い業務に取り組める点が魅力です。また、施策がうまくいって売上に貢献ができた時の達成感は非常に大きいと思います。

基盤エンジニア

弊グループでは、EKS cluster上にデータ分析基盤・アプリケーション実行基盤を構築。flux / flaggerなどを利用することで、手動オペレーションを排除したGitOps / DevOps環境が整っています。基盤を見るメンバーはグループ付で所属しています(特定のチームに属さず流動的に仕事をしています)。 優秀なエンジニアと働きたい方にオススメ出来る、刺激が大きいポジションです。kubernetes運用・MLOps・GitOps・DevOpsなどに興味がある方がいらっしゃいましたら、是非ご応募ください。

これから実現したいこと

DMMには多くのサービスがあります。しかし、それらの各サービスの全てが等しくユーザに認知されているわけではありません。また、各サービスに多くの商品情報がある中で、ユーザが適切な商品を見つけられているかというと、そんなことはありません。我々は、データサイエンスを活用することで、ユーザが本当に欲しいサービスや情報を提供できる仕組み作りに貢献したいと考えています。

分析手法の紹介

これだけだと我々のグループの紹介に終始してしまいますので、我々なりにお役立ち情報を読者の皆様にお届けしたいと考えました。データサイエンス業界で言及されることは少ないですが、便利に活用できる分析手法として、差異分析の紹介をさせていただきます。検索エンジンの改善例や、レコメンドエンジンの改善例についても、シリーズとして執筆予定ですので、ぜひご期待ください!

ユースケース

「2つの時点の売上変化の差分のうち、各KPIの変動が売上にどれだけ寄与したのか?」を測定したい状況で非常に役立つ手法になっています。 売上 = ARPPU * 購買UUとKPI分解した上で、分析を行います。 時点1(11月)では、売上 = 1,000,000円、ARPPU = 1,000円、購買UU = 1,000人でした。 時点2(12月)では、売上 = 1,920,000円、ARPPU = 1,600円、購買UU = 1,200人でした。 時点1→2において、売上・購買UU・ARPPUが増加しています。時点1→2での売上差分は920,000円です。 では、このうち、ARPPUの変化が売上に与えた影響と、購買UUの変化が売上に与えた影響は、それぞれどの程度だったと見積もれば良いでしょうか?

 f:id:dmminside:20220228153826p:plain

差異分析の考え方

時点1の売上をX1、ARPPUをa1、購買UUをb1とします(X1 = a1 * b1)。 時点2の売上をX2、ARPPUをa2、購買UUをb2とします(X2 = a2 * b2)。 この時、2つの時点の売上差分(X2 - X1)を、ARPPUの変化、課金UUの変化の2つの要素から説明できる形で式変形します。 X2 - X1 = a2 * b2 - a1 * b1 = a2 * (b2 - b1) + b1 * (a2 - a1) と表されます。この式を見ると、ARPPUの変化a2 - a1と、課金UUの変化b2 - b1がそれぞれ数式の項に現れていることがわかります。 よって、ARPPUの変化による売上増加幅をb2 * (a2 - a1)、課金UUの変化による売上増加幅を a1 * (b2 - b1)と見積もることで、売上の変化を要素ごとに分解できます。この式に基づいて今回のケースにおけるARPPU、購買UUの変化による売上への影響を計算すると、 ARPPUの変化による売上への影響 = 1,200 * (1,600 - 1,000) = 720,000円 購買UUの変化による売上への影響 = 1,000 * (1,200 - 1,000) = 200,000円 と計算されます。すなわち、時点1→2においては、ARPPUが増加したことによって720,000円の売上増加が起こり、購買UUが増えた(200,000円の増加)ために、総合してみると、時点1→2で920,000円の売上増加が起こったと解釈出来ます。 f:id:dmminside:20220228153844p:plain

メリット

式変形が非常にシンプルで計算が容易であることは、大きなメリットです。 KPI分解の式に現れる項が増えた場合にも、同様の式変形を行っていけば、各項の変化による売上への影響が見積れるなど、応用の幅が大きいこともメリットと考えています。

デメリット

式変形によっては、 X2 - X1 = a2 * b2 - a1 * b1 = a1 * (b2 - b1) + b2 * (a2 - a1) という変形もできるため、変形の仕方によって多少結果がブレることは欠点として挙げられます。精緻な議論をしたい場合には不適なケースもあると考えています。

応用例

大型キャンペーンなど、ABテストを実施出来ないケースにおいて、各KPIの変動による売上影響を見積もりたい場合には、差異分析は非常に有効な手段であると考えています。

総括

差異分析はいかがだったでしょうか? 機械学習や統計をゴリゴリ使った分析も素敵ですが、会計分野で古典的に知られる差異分析という手法でも、ユニークな分析を行うことができます。各KPIの変化を見積もりたい場合に使ってみてもらえると幸いです。 余談ですが、各企業が出すIRスライドに差異分析が用いられていることがあるなど、社会で利用されている場面は意外なほど多くあります。応用幅も大きいので、差異分析は地味だが良い分析手法だと思っています。

最後に

まずは軽い気持ちでカジュアル面談・イベントにご参加いただけると嬉しいです。ご興味ある方は下記リンクよりぜひ採用のご応募ください。また、今後もシリーズ物として執筆予定ですので、ご期待ください!

シェア

一緒に働く仲間を募集しています!