Analytical Execution Interview (Data Analysis/Case Study)
Frameworks and practice for real-world case studies and data analysis problems.
What to Expect
This interview assesses your ability to conduct quantitative analysis, draw meaningful conclusions from data, and communicate your findings effectively. You'll typically be presented with a business problem or a dataset and asked to analyze it, focusing on hypothesis generation, quantitative analysis, goal setting aligned with business objectives, and adaptability to dynamic situations.
Key Areas
- Crafting Hypotheses and Statistical Knowledge: Formulating strong, testable hypotheses, particularly for new features or data-driven decisions. Understanding null (H0) and alternative (H1) hypotheses, framing hypotheses with quantifiable metrics, and prioritizing based on business impact.
- Proficiency in Quantitative Analysis: Quantifying trade-offs, understanding the impact of features on relevant metrics, and using data to support your arguments.
- Goal Setting Aligned with Business Objectives: Defining clear goals and success metrics that directly contribute to broader business objectives. Consider success metrics, counter metrics, and overall ecosystem stability metrics.
- Adapting Analytical Approaches in Dynamic Situations: Demonstrating flexibility when facing data challenges, changing requirements, or confounding factors.
How to Prepare
- Master Foundational Statistical Concepts: Focus on defining, applying, and explaining the limitations of statistical concepts.
- Practice with Case Studies: Focus on hypothesis generation, quantitative analysis, and structured problem-solving.
- Develop a Structured Approach to Trade-offs: Use a structured framework (see table below).
- Clear and Concise Communication: Explain the \"why\" behind decisions, provide context, and use visualizations.
- Share Behavioral Stories Demonstrating Adaptability: Use the STAR method.
- Familiarize Yourself with Meta's Context: Research Meta's products, user base, and business objectives.
- A/B Testing Deep Dive: Understand sample size calculation, statistical significance, power, metrics to track, and interpreting results.
- Asking Clarifying Questions: Practice asking clarifying questions to fully understand the problem.
Trade-off Evaluation Framework
| Option | Metric A | Impact on Metric A | Metric B | Impact on Metric B | Overall Assessment |
|---|---|---|---|---|---|
| A | CTR | +5% | Load Time | +20ms | Acceptable Trade-off |
| B | CTR | +10% | Load Time | +100ms | Unacceptable Trade-off |
Example Scenario (Brief)
Problem: A social media platform has seen a recent decline in user engagement. How would you investigate the cause?
Possible Approach:
- Clarifying Questions:
- What is the timeframe of the decline?
- Is the decline observed across all regions/markets?
- Is the decline observed across all user segments or only specific ones?
- Have there been any recent product changes or marketing campaigns?
- Have DAU and MAU metrics also been declining?
- Define Key Metrics and Business Objectives: Define \"user engagement\" with specific, measurable metrics (DAU, MAU, session duration, content creation rate, etc.).
- Craft Hypotheses: Formulate testable hypotheses about potential causes.
- Analyze Trends and Segment Users: Analyze trends, segmenting by demographics, behavior, and platform.
- Quantitative Analysis and Trade-off Evaluation: Use A/B testing, cohort analysis, or regression.
- Adapt to Dynamic Situations: Discuss how you'd adapt if data quality issues arose.
- Communicate Findings and Recommendations: Present findings clearly with visualizations.
📊 Full Worked Case Study: "Instagram Reels Engagement Drop"
Click to expand the complete case study walkthrough
🎯 The Prompt
Interviewer: "Reels watch time per user dropped 15% week-over-week. Walk me through how you'd investigate."
Step 1: Clarifying Questions (2-3 minutes)
Always ask before diving in. This shows structured thinking and prevents wasted effort.
| Question | Why You're Asking | Hypothetical Answer |
|---|---|---|
| "Is this global or specific regions?" | Localize the problem | "It's global, but worse in NA and EU" |
| "New users, existing, or both?" | Acquisition vs retention issue | "Existing users are driving the drop" |
| "Any product launches or bugs last week?" | Rule out obvious causes | "We launched a new recommendation algo" |
| "Is this just watch time, or also opens/sessions?" | Understand where in funnel the problem is | "Opens are flat; watch time per session is down" |
| "How are we measuring watch time?" | Rule out measurement issues | "Total seconds watched / DAU" |
What we learned: The issue is global, affecting existing users, watch time per session is down (not opens), and there was a new recommendation algorithm launch.
Step 2: Hypothesis Generation (2 minutes)
Generate multiple hypotheses, then prioritize.
| # | Hypothesis | How We'd Test | Priority |
|---|---|---|---|
| 1 | New algo is recommending less engaging content | Compare avg video completion rate pre/post launch | 🔴 High |
| 2 | New algo shows less variety, causing fatigue | Measure content diversity score per session | 🔴 High |
| 3 | Bug in video player (buffering, crashes) | Check error rates, buffer time metrics | 🟡 Medium |
| 4 | Seasonal effect (holiday week, exams) | Compare to same period last year | 🟡 Medium |
| 5 | Competition (TikTok launched new feature) | External research; less actionable | 🟢 Low |
Prioritization logic: Start with the algo change since it's the most likely cause given timing. Rule out bugs quickly. Seasonal and competition are backup hypotheses.
Step 3: Data Analysis (5-7 minutes)
Analysis 1: Algo Impact on Engagement
-- Compare key metrics pre/post algo launch
WITH weekly_metrics AS (
SELECT
CASE
WHEN event_date < '2025-12-15' THEN 'pre_launch'
ELSE 'post_launch'
END AS period,
user_id,
SUM(watch_time_seconds) AS total_watch_time,
COUNT(DISTINCT video_id) AS videos_watched,
AVG(completion_rate) AS avg_completion
FROM reels_events
WHERE event_date BETWEEN '2025-12-08' AND '2025-12-22'
GROUP BY 1, 2
)
SELECT
period,
COUNT(DISTINCT user_id) AS users,
AVG(total_watch_time) AS avg_watch_time,
AVG(videos_watched) AS avg_videos,
AVG(avg_completion) AS avg_completion_rate
FROM weekly_metrics
GROUP BY period;
Finding:
| Period | Avg Watch Time | Avg Videos | Completion Rate |
|---|---|---|---|
| Pre-launch | 420 sec | 28 | 45% |
| Post-launch | 357 sec (-15%) | 24 (-14%) | 38% (-16%) |
Insight: Completion rate dropped significantly—users are swiping away faster. The algo is showing content users don't want to finish.
Analysis 2: Content Diversity
-- Measure content diversity: unique creators per session
WITH session_diversity AS (
SELECT
period,
user_id,
session_id,
COUNT(DISTINCT creator_id) AS unique_creators,
COUNT(DISTINCT content_category) AS unique_categories
FROM reels_events
GROUP BY 1, 2, 3
)
SELECT
period,
AVG(unique_creators) AS avg_creators_per_session,
AVG(unique_categories) AS avg_categories_per_session
FROM session_diversity
GROUP BY period;
Finding:
| Period | Creators/Session | Categories/Session |
|---|---|---|
| Pre-launch | 18 | 6 |
| Post-launch | 12 (-33%) | 4 (-33%) |
Insight: New algo is over-optimizing for a narrow set of creators/categories. Users get bored faster.
Analysis 3: Segment Deep-Dive
-- Which user segments are most affected?
SELECT
user_tenure_bucket,
period,
AVG(watch_time_seconds) AS avg_watch_time
FROM reels_events
JOIN users USING (user_id)
GROUP BY 1, 2
ORDER BY user_tenure_bucket, period;
Finding:
| Tenure | Pre-Launch | Post-Launch | Change |
|---|---|---|---|
| 0-30 days | 380 sec | 350 sec | -8% |
| 31-180 days | 420 sec | 340 sec | -19% |
| 180+ days | 450 sec | 370 sec | -18% |
Insight: Veteran users are hit hardest. They have more refined tastes; the algo's lack of diversity bothers them most.
Step 4: Root Cause Identification (1 minute)
The Story:
The new recommendation algorithm is over-indexing on short-term engagement signals (e.g., "user watched 80% of this video, show more like it"). This creates a "filter bubble" that reduces content diversity by 33%. Users, especially veterans, experience content fatigue faster, leading to lower completion rates (-16%) and shorter sessions (-15%).
Step 5: Recommendations (2 minutes)
| Recommendation | Expected Impact | Effort | Priority |
|---|---|---|---|
| Immediate: Roll back to previous algo while we fix | Recover 15% watch time | Low | 🔴 Do now |
| Short-term: Add diversity constraint to algo (min 15 unique creators per session) | Improve completion rate | Medium | 🟡 This sprint |
| Medium-term: A/B test diversity parameter levels | Find optimal balance | Medium | 🟢 Next month |
| Long-term: Build content fatigue model | Proactive diversity adjustment | High | 🟢 Roadmap |
Trade-off Discussion
Interviewer: "But the new algo increased ad revenue per session by 5%. How do you think about that trade-off?"
Answer framework:
- Quantify both sides:
- +5% ad revenue per session
- -15% sessions per user (watch time proxy)
- Net impact: 0.95 × 1.05 = 0.9975... roughly breakeven short-term
- Consider long-term effects:
- Fatigued users may churn or reduce frequency
- Short-term ad revenue ≠ long-term DAU health
- Recommendation: The 5% ad revenue gain is likely a short-term boost at the cost of user experience. I'd prioritize watch time recovery to protect long-term engagement, and explore ad optimization separately.
Step 6: Summarize for Interviewer (30 seconds)
"To summarize: The 15% watch time drop is caused by the new recommendation algorithm reducing content diversity by 33%. Users, especially veterans, are completing fewer videos and ending sessions earlier. My recommendation is to roll back immediately, then add a diversity constraint before re-launching. I'd also run an A/B test to find the optimal diversity level that balances engagement and ad revenue."
🧠 More Practice Case Studies
Case 2: "Facebook Marketplace listing volume dropped 20%"
Clarifying Questions to Ask:
- Is this new listings, or total active listings?
- Is this sellers listing less, or fewer unique sellers?
- Is this specific to certain categories?
- Any changes to listing flow or policies?
Hypotheses to Generate:
- Listing flow has more friction (new verification step?)
- Sellers are migrating to other platforms
- Fewer buyers → sellers see less value
- Category-specific issue (e.g., auto listings down)
- Seasonality (post-holiday cleanup is done)
Analysis Approach:
-- Decompose: Is it fewer sellers or fewer listings per seller?
SELECT
date_trunc('week', listed_at) AS week,
COUNT(DISTINCT seller_id) AS unique_sellers,
COUNT(*) AS total_listings,
COUNT(*) / COUNT(DISTINCT seller_id)::float AS listings_per_seller
FROM marketplace_listings
WHERE listed_at >= CURRENT_DATE - 60
GROUP BY 1
ORDER BY 1;
Key Insight (Hypothetical):
Unique sellers is flat; listings per seller dropped. A new "enhanced photos" requirement is adding friction—sellers with phones that don't support it are dropping off.
Recommendation:
Make enhanced photos optional with a "recommended" badge; A/B test impact on buyer engagement.
Case 3: "WhatsApp message send failure rate increased"
Clarifying Questions:
- What's the failure rate now vs baseline?
- Is this specific to certain message types (text, media, voice)?
- Is this regional or global?
- Any infra changes or deployments?
Hypotheses:
- Server-side issue (deployment, capacity)
- Client-side issue (app update, device compatibility)
- Network issues (carrier, ISP)
- Media-specific issue (image/video sending)
Analysis Approach:
-- Segment by message type and region
SELECT
message_type,
region,
COUNT(*) AS attempts,
SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) AS failures,
SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) * 100.0 / COUNT(*) AS failure_rate
FROM message_events
WHERE event_date >= CURRENT_DATE - 7
GROUP BY 1, 2
ORDER BY failure_rate DESC;
Key Insight (Hypothetical):
Image messages in India have 25% failure rate (vs 2% baseline). A new image compression library in the latest Android app update is crashing on older devices.
Recommendation:
Rollback the library for devices below Android 10; push a hotfix within 24 hours.
Case 4: "LinkedIn connection acceptance rate dropped"
Clarifying Questions:
- Is this overall or for cold outreach specifically?
- Is the drop in sends, accepts, or both?
- Any changes to the connection request UI?
Hypotheses:
- New UI makes "Ignore" easier than "Accept"
- Increase in spam/recruiter requests
- People are more selective (behavior change)
- Measurement changed (definition of "accept")
Analysis Approach:
-- Funnel analysis: request → view → action
SELECT
week,
COUNT(*) AS requests_sent,
SUM(CASE WHEN viewed THEN 1 ELSE 0 END) AS viewed,
SUM(CASE WHEN accepted THEN 1 ELSE 0 END) AS accepted,
SUM(CASE WHEN ignored THEN 1 ELSE 0 END) AS ignored,
AVG(CASE WHEN accepted THEN 1 ELSE 0 END) AS accept_rate
FROM connection_requests
GROUP BY week;
Key Insight (Hypothetical):
View rate is flat; accept rate dropped 10%, ignore rate up 10%. New mobile UI made "Ignore" the default swipe gesture.
Recommendation:
A/B test reversing the swipe direction; if validated, ship the fix.
⚠️ Common Analytical Execution Mistakes
| Mistake | Why It Hurts | Fix |
|---|---|---|
| Diving into data without asking questions | You may solve the wrong problem | Always ask 3-5 clarifying questions first |
| Only one hypothesis | Shows narrow thinking | Generate 3-5 hypotheses, then prioritize |
| Complex analysis, no insight | Impressive SQL ≠ business value | End every query with "so what?" |
| No recommendation | Analysis without action is useless | Always propose next steps |
| Ignoring trade-offs | Real decisions have costs | Acknowledge what you'd give up |
✅ Self-Assessment Checklist
Before your interview, confirm you can:
- ☐ Ask 5+ clarifying questions before analyzing
- ☐ Generate multiple hypotheses and prioritize them
- ☐ Write SQL to segment and diagnose issues
- ☐ Summarize findings in one "so what" sentence
- ☐ Recommend actions with trade-offs acknowledged
- ☐ Discuss a case study for 15+ minutes without notes