Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

メルカリの分析チームとは?その全ての疑問にひとつひとつ答えます

この記事はMercari Advent Calendar 6日目の記事です。
メルカリのBIチームのアナリスト/マネジャーの @hikaru が、メルカリの分析チームの事情についてお送りします。

※ BIチーム...メルカリ内の分析を一手に担うチーム。Business Intelligenceチーム。

この記事について

f:id:kuropanther:20171129201058p:plain:w200

イベントやカジュアル面談などでメルカリの分析チームの内幕についてよく聞かれる質問があります。
いえ、それどころか場合によっては社内であまり一緒に仕事する機会がない方々からも、チームに関して質問されることがあります。

※ カジュアル面談...メルカリでは、社内のポジションに興味ある方にオフィスに来ていただいて1on1でざっくばらんに話す会を頻繁に行っています。

正直、分析チームというのは外部から何をやっているか見えづらい面もあるため、理解できます。
よく頂く質問としては、

  • 組織的なこと
  • 仕事のやりかた、時間の使いかた
  • 使ってるツール
  • 機械学習との関わり
  • どんな分析をしているのか

などでしょうか。
なのでこの記事では、そういった疑問に応えるべく、メルカリのBIチームの内幕を可能な限り明かして行きたいと思います。

長い記事は読みたくない人向けの要約

  • 組織的なこと ⇛ 横軸組織、プロジェクト担当制
  • 仕事のやりかた、時間の使いかた ⇛ 上流から実作業まで、一人で全部こなす。企画に寄り添う。
  • 使ってるツール ⇛ BigQuery + Spreadsheetで割りとなんとかなる。あとChartio。
  • 機械学習との関わり ⇛ たまに必要な時に使う。ガチML勢のAIチームが別にある
  • どんな分析をしているのか ⇛ いろいろやってる

ざっくりいうとこんな感じです。
もう少し詳細に関して知りたい方、長文にお付き合いいただける方は、下記からどうぞ。

◆組織的なこと

◇どういうチーム体制なの? 社内の組織上での位置づけは?

これは分析に興味がある方であれば、どなたも持たれる疑問だと思います。
この点に関しては、以前私が寄稿したWebDB Press vol.100でも少し触れたので、そこから引用しつつ解説してみます。

※ WebDB Press Vol.100..メルカリ特集が組まれ、BIを含む社内の様々なチームの紹介記事が寄稿された

❝ メルカリでは、4半期ごとに経営目標を定め、それに沿ってプロジェクトチームの編成を行うという方針を採用しています。その中で、分析チームは個別プロジェクトチームから独立した横断チームとして存在しており、必要に応じて各案件のサポートをしていく形をとっています。
プロジェクトは、たとえばキャンペーン施策、新機能、UX向上、ユーザー獲得といった粒度のテーマごとで別れており、アナリストもそのテーマに沿って分析を展開していくことになります。❞

この文章にもある通り、メルカリではBIチームは組織横断的なチームと位置付けを取っており、そこに所属する各アナリストが開発プロジェクトを分析面で支えるという形式です。

わかりやすく図にしてみると、次のような形になっています

図:メルカリの組織体制とBIチームの位置づけ f:id:kuropanther:20171129200121p:plain

縦軸組織(プロジェクトチーム)は四半期ごとに特定のテーマを持った開発チームの単位です。
これらのチームは、『出品強化』『オンボーディング強化』『新規プロダクト』のような粒度でわかれており、

  • プロジェクトオーナー(PJO)
  • プロデューサー
  • エンジニア : クライアント/サーバサイド

で構成されています。

※ プロジェクトオーナー...各開発チームのリーダー的ポジションを担う。エンジニア出身、プロデューサー出身の両方が存在する

BIチームは、それらの各プロジェクトをデータ分析によって支え、強力かつ迅速な意思決定のPDCAサイクルを加速させる役割を担っています。
各アナリストは、基本的に1つのプロジェクトチーム(場合によっては複数)を専属的に担当し、BIチームという横軸組織に属しつつも日常業務の範囲では担当するプロジェクトチームの一員として動きます。

BIチームは、座席としてもまとまって座っているわけではなく、それぞれ各PJOの近くに座って仕事をするようにしています。

また、基本はプロダクト開発部門の中で働きますが、場合によっては広報・ファイナンスなどのコーポレート部門との仕事も存在します。
わかり易いひとつの例で言うと、インフォグラフィックのような調査広報的な仕事があります。

◇ この組織体制の意味は?

横断チーム型を採用することの一般的なメリットとしては次のようなことが挙げられます。

表:横断チームのメリット

観点 メリット
スキル育成・標準化 同様のスキルセットを持ったメンバー同士で集まることで、相互的なスキルの向上や、ベストプラクティスの交換などが進みやすい
人事評価 同職種同士であるゆえに、技術面の評価などが比較的フェアに行える。またキャリアパスなどの議論がしやすい
アサインメントの柔軟性 どのチームの範囲にも属さないような仕事、ボールを拾いやすくなる。一定スパンでの担当のシャッフルなどがしやすい

逆に、デメリットと言うか問題点として

  • プロジェクトへの帰属意識が薄れる。そのため実務上での成果につながる動きをしづらい
  • 特定のドメイン知識が身につかず、筋の良い仮説が作れない

などが言われています。
この対応策として、上記でも少し触れたとおり、メルカリではアナリストは四半期~半年スパンで特定のプロジェクトチームを担当してもらうスタイルを基本としています。

先程のWebDB Press vol.100から、別の文章を引用します。

❝ 必要なドメイン知識の確保と分析内容の一貫性の観点から、4半期内ではプロジェクトごとに分析メンバーを専属配置することを主流としています。❞

この手法を鑑みると、BIチームは組織図上は横軸組織として記載されていながら半分は縦軸の各チームに属していると言えなくもない、というのが実態かもしれません。

組織上の横軸 vs. 縦軸 の議論は非常に難しいところで、分析チームのあり方についても会社ごとで色々なやり方が試されているかと思いますが、現状のメルカリではこのやり方が比較的上手くワークしています。

◆仕事のやり方、時間の使いかた

◇ どういう人達と一緒に働くの?

実際のところ、BIチームのアナリストが共同戦線を張るカウンターパートはかなり多岐に渡ります。
最もおおいのはいわゆる『企画職』系の人ですが、色んなパターンがあるのでまとめてみましょう。

表:アナリストが一緒に働く職種のパターン

カウンターパート よく絡む度 仕事内容
プロデューサー/マーケター ★★★★ 企画の立案・評価・定点観測(ダッシュボード実装)、もろもろの相談に乗る
広報・IRなど ★☆☆☆ 外部に露出する数値データなどの企画・分析
開発エンジニア ★★☆☆ 新規テーブルや行動ログの設計の相談など
機械学習エンジニア ★☆☆☆ 機械学習施策の推進などでの協業。今後増える予定
経営陣 ★☆☆☆ 経営に関係する数値の分析、アドバイスなど

基本的には、プロデューサー/マーケターあたりと一緒に仕事をすることが多く、企画のMTGなどにも同席することが多いです。
経営陣との仕事は都度の発生ですが、参考までに以前BIチーム×経営メンバーで合宿を実施したときの記事を貼っておきます。

mercan.mercari.com

◇ どうやって仕事を進めるの?時間の使い方は?

これもよく聞かれる質問です。
気になりますよね、私も他社のアナリストがどのように時間を使っているのか大層気になります。

せっかくなので、分析のお仕事のステップを整理しつつ各ステップで何をしているか、また各ステップに1日のうちどれくらいの時間を使っているかをまとめてみます。

※作業比率.... わかりやすさのためにおおよそのイメージを書いています。人にもよりますし、一概には言えません。参考程度に。

図:分析のお仕事のステップと、大体のイメージ f:id:kuropanther:20171130214339p:plain:w720

比較的、分析の設計と実際の分析(コーディング含む)をしている時間が多いのではないかと思います。
メルカリのプロダクト開発チームは、ミーティングの数が必要最低限に抑えられており、各人が実務作業時間を最大限取れるように組織的な配慮・意識付けがなされています。

◇ 分析の結果をどうやって共有するの?

分析結果の共有・報告などはかなりカジュアルな形で行われます。
分析の報告というと、例えばパワーポイントでレポートを作成してミーティングを...といった形式を想像するかもしれませんが、メルカリでの分析結果の共有というのは、極めて簡潔・スピーディに行われることが大半です。

一番多いのは、分析の結果(インサイト)がすぐに分かるようなグラフやwikiなどを作成して、Slackに投稿しておしまい、というパターン。そこから、

  • Slack上で議論が発展
  • 近席に座っているプロデューサーなどのチームメンバーとディスカッションに発展

といったように、分析を受けての考察や次アクションなどが進んでいきます。
分析の結果とは、『誰から見れるようになっている』『結果が出たら即時共有』というのがメルカリ内での基本的なスタンスです。それによって、Slack上で分析結果を見た人は誰でもオープンに意見が出来るし、またPDCAサイクルの高スピード化にもつながります。

Slack上でオープンにすることで、思わぬメンバーからアイディアや指摘が飛んできて、そこから色んな派生が起こることなどもよくあります。つい先日、広報向けに行った分析をSlackに投稿して議論していたところ、いきなり進太郎さんから鋭い指摘が入る、といった面白い展開もありました。

※ 進太郎さん...メルカリ創業者・CEOの山田進太郎。ご存知のかたも多いかもしれませんが...

分析の結果をわざわざレポートとしてまとめたり、共有のためにミーティングを設定したり、ということを行わないのはこういった背景が大きく作用しています。

◇ 評価基準・採用基準は?

基本路線としては、上図の各ステップに関する能力をベースに採用基準も人事評価も考えられています。

メルカリでは、図の①~④のどこかが突出して優れている(そのトレードオフとして苦手なステップがある)というタイプよりも、全能力がバランス良く高いという人材が多くなっています。

これは組織の話で見たように、各アナリストがそれぞれ独立してプロジェクトチームに入り込み、担当したプロジェクトの分析に関する業務を川上から川下まで言ってに引き受ける、という仕事スタイル上の必要性からです。

採用・人事評価でも、各ステップを遂行する能力を見つつ、全体のバランス感も重視している、という感じになっています。

◇ 分析は依頼ベース? 自発ベース?

これもかなりよく聞かれる質問です。 結論としてはどっちのパターンもあります。

メルカリでは(幸か不幸か)数値を愛するプランナーが多く、分析の依頼は沢山いただけます。
そういった期待に応えつつ、可能なものはなるべく自動化・効率化などを行って、なるべく自発ベースでの分析も出来るようにしていく、といった感じになっています。

以前にアナリストとプロデューサでパネルディスカッションをした時の内容から、少し抜粋をしてみましょう。

❝ また、設定したKPI以外に、BIチームが「実はこんな面白い数字もあるんだよ」という分析を上げてくれることがあるので、それを元に企画を進めるパターンもあります。これが意外といい結果に繋がったりしています。❞

◆使っているツール

◇ 分析にどんなツールを使っているの?

メルカリで利用している分析ツールに関しては、以前にこちらの記事でも取り上げたことがあります。
ここでは主に、Google BigQueryを中心とした分析エコシステムについての解説をしました。

tech.mercari.com

しかしこの際なので、改めてメルカリBIチームでの分析環境・ツールについて今一度まとめ直してみます。
主なところとしては下記のようになっています。

図:メルカリの主な分析用ツール f:id:kuropanther:20171129164807p:plain:w720

いくつか、かいつまんで解説をしてみます。

ツール名 用途 解説
BigQuery データの読出・演算 メルカリの大規模なデータが格納され高速で集計できる、SQLのスゴイやつ
Chartio ダッシュボード 指定のクエリを定期更新して、最新数字でチャートを描いてくれる
Google Sheets 分析・チャート作成 BigQueryで取ってきたデータを最終的に加工して分析&共有する場所
Python 複雑な分析・高度な可視化 複雑めの分析とか機械学習をやる時に活躍する
Zapier 自動化 色んなアプリと連携できてプロセスを自動化できる便利ツール
crowi 社内wiki 分析結果を記事として貯めておく。ちょっとした分析は記事にせず直でSlackに投げて終わることも。

図:Zapierによる自動投稿を使った施策分析Botの例

一定期間にわたる施策に関して、日次の結果をSlackに投稿してくれるBot
これにより、施策の効果の推移が順調かどうかが毎日、全員に共有できる
分析クエリを日次で更新して、Google Sheetに最新の数値を反映 ⇛ Zapier連携でSlackに自動投稿する
※数字はサンプルです

f:id:kuropanther:20171204132037p:plain:w720

図:Chartio(KPIダッシュボード)
サービスの主要なKPIを日次(場合によってはリアルタイム)で見れるようなダッシュボードを作っている
KPIの設計から実装、社内での普及・活用までBIチームが手動で行う
この数字を日々見てサービスの健康状態をモニタリングしながら日々運営を行うため、非常に重要な情報となる

※さすがに実際のダッシュボードは貼れないので、ここではサンプルです

https://blog.chartio.com/assets/images/blog/2014/03/cloudsql/default.png

◇Python/Rはどちらのほうがよい?

これは、採用に興味をもってくださる方によく聞かれる質問です。
結論としては、特にチーム内ではレギュレーションは無く、好きなものを使って分析すれば良いというスタンスです。
スクリプト言語はそれほど使わないというメンバーもいますし、Pythonを好むメンバーもいます。

実績ベースで言うと、現状はRよりはPythonを使うメンバーが多勢です。
Rも使ったことがある上で、Pythonを使うようになってPythonに寄せた、というパターンが多いかもしれません。

僕も両方使った経験がありますし、昔はRを使っていました。多くのRユーザ同様、Hadley Wickhamのファンでした。今はPythonの方がよく使っています。

◆機械学習との関わり

◇ 機械学習を使うチームは別にあるの?

これも非常に聞かれることが多い質問です。
世の中的にも機械学習に対する関心の高まりは強く、データに係る人であればここは興味があるところだと思います。

結論から言うと、メルカリには BIチーム とは別個に機械学習を専門としたチーム AIチーム が存在しています。
BIチームとAIチームは、データをビジネスに活用するという共通項は持ちつつも、そのミッションもアウトプットの内容も大きく違っています。

整理すると、次のようなイメージです。

表:BIとAIのチームとしての違い
ミッション アウトプット わかりやすいキーワード
BI データによる客観的な意思決定支援 意思決定のための情報・提言 KPI, ABテスト, 施策分析, 成長戦略 etc.
AI データを活用した機能の開発 実際に稼働するアルゴリズムとAPI 前処理, 画像認識, 確率推定, 違反検知 etc.

それぞれのチームの募集要項はこちらから見れます ⇛ 採用:データアナリスト (BI) / 採用:機械学習エンジニア (AI)
見ていただければ、求められるスキルセットは大分別物であることがわかるかと思います。

また、下のエントリーは以前にBI/AIチーム合同のMeetupイベントを行った際のものです。
各チームの業務内容の説明プレゼンを見れます。興味ある方は是非合わせて御覧ください。

tech.mercari.com

◇ BIチームは機械学習を使わないの?

これも非常によく聞かれる質問です。データを扱う仕事である以上、トレンド的にも機械学習を活用しているのかは気になるところかと思います。
これに対する回答はシンプルで、

  • 必要なら使えばいい
  • 必要なければ無理に使わなくても良い

というだけのことかな、と考えています。(身も蓋もない回答ですが)
直前の節でも触れたとおり、BIチームの仕事は

意思決定のための情報・提言をアウトプットすること

が重要なので、その目的のために機械学習を使うことが最適であれば場合によっては利用する、という事になります。

大抵の場合、意思決定のためにはそこまで複雑でない分析でも前に進めることが多く、スピード感を考えてもひとつひとつの分析にそこまで複雑な手法を使うことは主流ではありません。

ただ、もちろん必要性がある場合には機械学習を活用した分析を行うケースも存在します。

◇ どういう場合に機械学習を使うの?

BIチーム内で機械学習を使うケースで、わかりやすいものとしては

  • 決定木などの樹木モデルで、重要な変数が何かを突き止める
  • ロジスティック回帰などで、クラス分類に対して関連性の深い変数を探る
  • k-meansのような非階層クラスタリングでユーザを分類する

などが挙げられます。これらはクロス集計などの簡単な分析では、突き止めることが難しい規則や傾向を発見するのに役に立ちます。

mercan.mercari.com

また、別のケースとしては「データの内容に詳しい・分析が得意」 + 「機械学習も理解している」 という職能を活かして、機械学習を用いた施策の推進役としてAIチームメンバーと共同で動くという関わり方もあります。

このように機械学習のエキスパートであるAIチームほどで無くても、機械学習のリテラシーがあることで分析の幅・扱えるプロジェクトが広がるという意味で、機械学習の適正を持っていることはBIメンバーとしても意味を持つことが多いのが実態です。
(ただし、前述の通りあくまで無理に使う必要は無いという考えが大前提です。)

◆どのような分析をしているのか

◇ 普段どんな分析の仕事をしているの?

これに答えるために、まず分析(というかデータをビジネスに活用する方法)にも幾つかの種類があることを説明するのがよいかな、と思います。

簡単のために「今よりも痩せて、よい体型になりたい人」というケースを考えてみましょう。
私は決してダイエットのプロではないのですが、その目的のためにはざっくり考えると次のようなステップを踏むと効率が良いのではないかと思えます。

図:『痩せるためのステップ』をビジネス的に考える
f:id:kuropanther:20171202115241p:plain:w720

データ分析は主に①と②のステップに力を発揮します。ステップ③は機械学習を含めた、色々なユーザ向け施策が力を発揮します。 この時、①・②のステップが適切に行われていないと、ステップ③は的はずれなものになるというのは容易に納得してもらえると思います。何を食べれば痩せるか分かってない状態でやみくもに食生活を組み立てても意味無いよね、ということです。

ということで、BIチームはメルカリの成長に役立つ何かを①認知する こと及び ②発見・理解する ために日々仕事をしています。わかりやすさのために少し具体的な例を書いてみましょう。

図:メルカリのデータ分析でやること概要
f:id:kuropanther:20171202122156p:plain:w720

ここで強調したいのは、①認知する のための仕事の重要性です。
『データ分析』という言葉に関して言うと、割りと②発見・理解するの方がイメージしやすいかと思います。誰も知らなかった新しい傾向や特徴、法則性を掴んで、施策を大成功に導く...

そんなイメージがあるかもしれませんし、そういった場面があるのも事実ですが、①認知するのステップも地味に見られがちながら非常に重要で、かつ日々のビジネスオペレーションでは極めて有効にワークします。

①と② + ③をバランス良く出来るのがアナリストとしての理想の姿かと思います。

そして、扱う分析のテーマの幅はかなり広いです。
下記はその一部を整理したものです。

図:メルカリのプロダクト分析に関するテーマの一部
f:id:kuropanther:20171202122945p:plain:w720

このあたり、もう少し詳細な内容や実際にやっている分析をご紹介したかったのですが、大分文章が長くなってきたこともありますので、これ以上については割愛します。
もっと詳しいことが聞きたい!という方は是非とも気軽にオフィスの方に遊びにいらしてください。書ききれなかった、分析に関する諸々をお話できると思います。

◆ おまけ

◇ メルカリのBIチームのメンバーはどんな本を読んでいるの?

分析の仕事をする上で役に立った本を、チームメンバーに聞いてみました。
その一部をここで紹介してみたいと思います。

結構雑多ですが、色々な角度のスキルが必要であるということだと思います。

まとめ

本記事ではメルカリのBIチームについて様々な角度からお伝えしました。
データ分析チームに対する理解や、分析チームについて考える上での参考になれば幸いです。

メルカリでは、データを使ってサービスを成長させることに興味がある仲間を大募集しています。 こちらの記事を読んで、

  • メルカリの分析チームに少しでも興味が湧いた方
  • もっと色々な話を深くきかせて欲しいと思った方

お気軽に下記からコンタクトをお待ちしています。

採用に応募したい方はこちら
まずはカジュアルに話を聞いてみたい方はこちら