Uberビジネスアナリスト面接体験記:SQL・ビジネスインサイト・戦略出力の完全評価
2年のビジネス分析経験でUberに面接。3ラウンドの完全振り返り:SQL&Python技術、ビジネスケース&戦略出力、データドリブン意思決定マインドセット、実際の質問と準備のヒント付き。
背景紹介
まず私の状況をお話しします。2年のビジネス分析経験があり、以前はO2O企業でビジネスアナリストとして、主にユーザー行動分析とビジネス戦略の出力を担当していました。メルカリのビジネスアナリストポジションはずっと私の目標でした。メルカリはマーケットプレイス分野のデータのベンチマークであり、膨大な実際のビジネスデータにアクセスできるのは、アナリストにとってまさに天国です。今年ついに面接の機会を得ました。最終的には合格しませんでしたが、面接プロセス全体から多くを学びましたので、皆さんにシェアします。
面接プロセスは3ラウンドでした:1次面接はSQL+Python、2次面接はビジネスケース+戦略、3次面接はデータドリブン意思決定でした。各ラウンドは約1〜1.5時間で、かなりの強度でした。詳しく振り返ります。
面接プロセスの振り返り
1次面接:SQL+Python
1次面接は技術面接で、面接官はデータ分析チームのシニアアナリストでした。挨拶もなく、すぐにSQLが始まりました。
最初のSQL問題:注文テーブル(order_id, user_id, order_time, amount, status)が与えられ、過去30日間の各ユーザーの累計消費額と注文数を求め、消費額上位100人のユーザーのみを残してください。この問題はそれほど難しくなく、ウィンドウ関数を使ってすぐに書けました。しかし面接官はすぐに条件を追加しました:ユーザーに返金注文がある場合、返金額を累計消費から差し引くにはどう変更しますか?statusに対するCASE WHEN条件を追加して返金を処理しました。
2番目のSQL問題はより挑戦的でした:ユーザー行動テーブル(user_id, event_type, event_time, page_id)が与えられ、各ユーザーのセッション数(セッションの定義:2つの行動の間隔が30分を超えると新セッションとする)と、各セッションの平均時間を求めてください。これはセッション分割のロジックをテストする問題でした。LAG関数を使って隣接する行動の時間差を計算し、累積和でセッション番号をラベル付けし、最後にセッション数と時間を集計しました。面接官はロジックが正しいと言いましたが、SQLのパフォーマンスを最適化するよう求めました。パーティションテーブルとインデックスを使ってクエリを高速化することを提案しました。
Pythonのセクションでは、いくつかのデータ処理の質問がありました:pandasで欠損値をどう処理しますか?ピボットテーブルをどう作りますか?2つのDataFrameをどうマージしますか?これらは基本的な操作で、スムーズに答えられました。しかし最後の質問はより高度でした:データ量が大きすぎてpandasで処理できない場合、どうしますか?DaskやPySparkを使ってビッグデータを処理するか、チャンク読み取りを使う方法を提案しました。彼は頷き、それ以上追及しませんでした。
1次面接の全体的な感想はまあまあでした。SQLはよくできましたが、Pythonは平均的でした。面接官はSQLの基礎がしっかりしていると言いましたが、ビッグデータ処理ツールについてもっと学ぶことを勧めました。
2次面接:ビジネスケース+戦略
2次面接はビジネス面接で、面接官はビジネスラインのデータ責任者でした。このラウンドが最も難しかったです。技術ではなく、ビジネス理解と戦略出力能力をテストするものでした。
最初のケース:メルカリのリピート率が3ヶ月連続で低下しています。原因をどう分析しますか?私はいくつかの次元から分解しました:まず全体の低下か特定のカテゴリの低下かを確認(次元分解)、次にユーザーセグメンテーション(新規vs既存、高頻度vs低頻度)、次に外部要因(競合のキャンペーン、季節性)、最後に内部要因(出品体験、商品品質、価格変動)。面接官は私の分解アプローチを評価しましたが、追及しました:既存ユーザーのリピート率が低下しているが、新規ユーザーのリピート率が変わっていない場合、さらにどう分析しますか?既存ユーザーの購入頻度の変化、平均取引額の変化、カテゴリ嗜好の変化、競合への流出の有無を確認できると答えました。
2番目のケースはよりオープンでした:メルカリが新しい地域に進出するとしたら、その地域が進出価値があるかどうかをどう評価しますか?市場規模、競争環境、供給側(出品者の数と品質)、需要側(ユーザー密度と消費力)、運用コストの5つの次元から分析しました。面接官は追及しました:データが不十分な場合はどうしますか?代替指標と類推法を使えると答えました。例えば、地域のGDPと人口密度を使って市場規模を推定し、類似地域のデータで比較するなど。彼はこの回答に満足したようでした。
戦略出力のセクションで、彼は聞きました:分析が終わり、あるカテゴリのGMV成長が主に割引に駆動されており、割引をなくすとGMVが大幅に下がる場合、どう勧めますか?まず割引のROIを見る必要があると答えました。ROIがプラスなら割引は効果的で、継続できるが最適化が必要。ROIがマイナスなら、段階的に割引を減らしながら自然コンバージョン率を向上させる必要があると。彼は追及しました:自然コンバージョン率をどう向上させますか?供給の最適化(出品者の品質向上)、需要のマッチング(レコメンドアルゴリズムの最適化)、ユーザー体験(取引の迅速化)の3つの角度から答えました。
3次面接:データドリブン意思決定
3次面接はディレクターとの面接で、データドリブン意思決定のマインドセットに重点を置いていました。
まずマクロな質問がありました:ビジネスアナリストの最大の価値は何だと思いますか?私は「データを決定に変えること」と答えました。アナリストはレポート作成やデータ抽出だけでなく、データからビジネスインサイトを発見し、意思決定の実行を推進することがより重要です。彼は追及しました:データ分析とビジネス意思決定が一致しない状況に遭遇したことはありますか?どう処理しましたか?あるキャンペーンの分析でROIがマイナスだったのに、ビジネスチームがブランド価値があると主張して実施を坚持した経験を共有しました。私のアプローチは、ブランド価値を定量化し(ブランド検索指数とNPSを使用)、ビジネスチームと一緒に再評価し、最終的に合意に達したというものでした。
また非常に実践的な質問もありました:分析の結論が上司の直感と矛盾する場合、どう処理しますか?少し考えてから答えました:まず自分の分析に問題がないことを確認し、次に権威や感情ではなく、データとロジックで説得する。上司がそれでも坚持する場合は、小規模な実験で検証することを提案する。彼はこの回答を評価してくれたようでした。
最後にメルカリのビジネスに対する理解を聞かれました:メルカリのコア競争優位性(モート)は何ですか?ネットワーク効果(出品者と購入者の両面ネットワーク)、データ蓄積(膨大な取引と行動データ)、運用能力(効率的なマーケットプレイスシステム)の3つの角度から答えました。彼は1点追加しました:メルカリのモートは組織能力と企業文化にもある — これは以前深く考えていなかった点でした。
質問まとめ
1次面接:
1. 過去30日間の消費額上位100人のユーザーを求める(SQL)
2. 返金額を累計消費から差し引くSQLをどう変更するか?
3. ユーザーのセッション数と平均セッション時間を計算する(SQL)
4. pandasで欠損値をどう処理するか?ピボットテーブルをどう作るか?
5. データ量が大きすぎてpandasで処理できない場合どうするか?
2次面接:
1. リピート率が3ヶ月連続で低下 — 原因をどう分析するか?
2. 既存ユーザーのリピート率が低下しているが新規ユーザーは変わらない — さらにどう分析するか?
3. 新しい地域への進出価値をどう評価するか?
4. データが不十分な場合どう分析するか?
5. GMV成長が割引駆動 — どう勧めるか?
3次面接:
1. ビジネスアナリストの最大の価値は何か?
2. データ分析とビジネス意思決定が不一致の場合どう処理するか?
3. 分析結論が上司の直感と矛盾する場合どうするか?
4. メルカリのコア競争優位性は何か?
5. アナリストとしての最大の強みと弱みは何か?
学びとアドバイス
1. SQLは基本 — 確実に身につけましょう。メルカリのSQL面接は単純なCRUDではなく、ウィンドウ関数、セッション分割、マルチテーブル結合などの高度な操作をテストします。LeetCodeのSQL問題や専門的なSQL練習を推奨します。
2. ビジネスケースには分解フレームワークが必要。すぐに答えを出さず、まず問題を分解しましょう。次元分解、ユーザーセグメンテーション、内部分析/外部分析 — これらのフレームワークに習熟しましょう。
3. 戦略出力はクローズドループに。分析は最初のステップに過ぎません。より重要なのは、分析から戦略、実行までの完全なループです。面接官は実行可能な推奨が出るまで追及します。
4. データドリブンはデータ至上主義ではない。3次面接はデータドリブン意思決定のマインドセットをテストするもので、データ教条主義をテストするものではありません。ビジネスを理解し、人を理解する — データは意思決定を支援するツールに過ぎません。
5. 企業のビジネスを深く理解する。面接前に、対象企業のビジネスモデル、コアメトリクス、競争環境を徹底的に研究しましょう。2次・3次面接で必ず聞かれます。
FAQ
Q:メルカリのビジネスアナリスト面接でPythonはテストされますか?
A:1次面接でテストされますが、主にpandasの基本操作で、アルゴリズム問題は出ません。重点はSQLです。
Q:IT業界の経験がなくても合格できますか?
A:難しいですが、不可能ではありません。少なくとも1〜2つのデータ分析プロジェクトを準備し、分析アプローチと結論を明確に説明できるようにしましょう。
Q:SQL面接の環境は何ですか?
A:オンラインSQLエディタ — 具体的なプラットフォームは異なります。様々なSQL構文に慣れておくことをお勧めします。
Q:ビジネスケースに標準的な答えはありますか?
A:ありません — 分析フレームワークとロジックをテストします。結論よりもプロセスが重要です。
Q:面接結果はどのくらいで出ますか?
A:通常、各ラウンド後3〜7日。全体のプロセスは2〜4週間です。