← Coinbase Interview Insights

Coinbase·Data Scientist·Technical Phone Screen·Senior

SeniorPrefer not to say
Jul 2026Remote

Summary

This was a deep-dive technical screen for a DS role at Coinbase, basically a full experiment design case with a debugging twist. The questions were meaty and required actual math, not just framework recitation. Left feeling like I'd run a marathon.

Questions Asked (6)

Q1

Define a precise primary metric and two to three guardrail metrics for a personalized product email experiment. Assume intent-to-treat with user-level randomization, and explain how you'd handle eligibility rules and users who receive multiple emails.

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

I fumbled the multi-email part initially.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining a primary metric that directly measures the email's impact on user behavior, such as click-through rate or conversion rate, and then select guardrail metrics to monitor potential negative side effects like unsubscribes or spam complaints. Address eligibility rules by specifying criteria for who can enter the experiment and how to handle users who become ineligible, and explain how to manage multiple email exposures under intent-to-treat by analyzing at the user level and using techniques like clustering or mixed models.

Pro tip: Emphasize that guardrail metrics should be leading indicators of long-term harm, and that under intent-to-treat, you must analyze all randomized users regardless of whether they actually received the email, to avoid selection bias.

1. Define the primary metric

Choose a metric that directly reflects the email's goal, such as 7-day conversion rate or click-through rate, and ensure it is measurable and aligned with business objectives.

2. Select guardrail metrics

Pick 2-3 metrics that capture potential negative consequences, such as unsubscribe rate, spam complaint rate, or long-term engagement decline, to ensure the experiment doesn't harm user experience.

3. Establish eligibility rules

Define clear criteria for who is eligible (e.g., active users, opted-in to emails) and how to handle users who become ineligible during the experiment, such as excluding them from analysis or using intention-to-treat principles.

4. Handle multiple email exposures

Under intent-to-treat, analyze at the user level by aggregating outcomes across all emails received, and consider using methods like per-user averages or mixed-effects models to account for correlation.

5. Analyze and interpret results

Compare primary and guardrail metrics between treatment and control groups, check for statistical significance, and ensure guardrails are not violated before declaring success.

Key Points to Mention

  • Intent-to-treat analysis: include all randomized users regardless of actual email receipt to avoid bias.
  • User-level randomization: ensures independence and allows for user-level analysis.
  • Eligibility rules: define upfront and handle changes consistently, possibly using a fixed cohort.
  • Multiple emails: aggregate outcomes per user or use models that account for repeated measures.
  • Guardrail metrics: monitor for unintended harm, such as increased unsubscribes or complaints.
  • Statistical power: ensure the experiment is adequately powered to detect meaningful differences in primary and guardrail metrics.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

Given a baseline 7-day purchase conversion of 3.5%, calculate the sample size needed to detect a 10% relative lift at two-sided alpha 0.05 and 80% power with a 1:1 split. With 500,000 eligible users per day and 85% deliverability, how many calendar days does the test need to run including the full attribution window?

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

The formula part was fine.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

First, compute the required sample size per variant using the standard two-proportion z-test formula with the given baseline conversion, relative lift, alpha, and power. Then, translate the total sample size into calendar days by accounting for daily eligible users, deliverability, and the full attribution window, ensuring the test runs long enough to capture all conversions.

Pro tip: Always clarify whether the attribution window is included in the test duration or added on top; at Coinbase, it's typically added, so the test runs for the recruitment period plus the attribution window to avoid truncating conversions.

1. Calculate required sample size per variant

Use the formula for two-proportion z-test: n = (Z_{α/2} + Z_β)^2 * (p1(1-p1) + p2(1-p2)) / (p2 - p1)^2, where p1 = 0.035, p2 = 0.035 * 1.10 = 0.0385. With α=0.05 (two-sided), Z_{α/2}=1.96; power=80%, Z_β=0.84. Compute n per variant.

2. Compute total sample size needed

Since the split is 1:1, total sample size = 2 * n per variant. This is the total number of users that need to be exposed to the test.

3. Determine daily exposed users

With 500,000 eligible users per day and 85% deliverability, the number of users actually exposed per day is 500,000 * 0.85 = 425,000 users per day.

4. Calculate recruitment period in days

Divide the total sample size by daily exposed users to get the number of days needed to recruit the required sample. Round up to the nearest whole day.

5. Add attribution window to get total test duration

The test must run for the recruitment period plus the full attribution window (7 days) to ensure all conversions are captured. So total calendar days = recruitment days + 7.

Key Points to Mention

  • Baseline conversion rate and relative lift: 3.5% baseline, 10% relative lift means absolute lift of 0.35 percentage points (p2 = 3.85%).
  • Statistical parameters: two-sided alpha 0.05, power 80% (beta 0.20), and the corresponding z-scores (1.96 and 0.84).
  • Sample size formula for two proportions and the assumption of equal variance or using pooled variance.
  • Adjustment for deliverability: only 85% of eligible users are exposed, so daily exposed users = 500,000 * 0.85.
  • Attribution window: the 7-day window must be added to the recruitment period to avoid censoring conversions.
  • Rounding up to the nearest whole day for practical scheduling.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Now power the same experiment for 7-day revenue per randomized user instead of conversion rate. Mean is $0.90, SD is $12.00, and you want to detect a $0.10 absolute lift. What per-arm sample size and run length does that imply?

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

This one humbled me a bit.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

First, recognize that this is a sample size calculation for a continuous metric (revenue per user) using a two-sample t-test. Use the formula n = 2*(Z_alpha/2 + Z_beta)^2 * sigma^2 / delta^2, plugging in SD=12, delta=0.10, and standard 80% power at 5% significance. Then compute run length by dividing the per-arm sample size by daily traffic per arm, and discuss practical considerations like variance reduction and business impact.

Pro tip: Revenue metrics are often skewed with high variance; mention that using a t-test is still valid due to CLT with large n, but consider capping outliers or using a more robust test if the distribution is extremely heavy-tailed. Also, always sanity-check the implied run length against business cycles (e.g., weekly seasonality) and avoid stopping early based on peeking.

1. Identify the metric and test

Recognize that the metric is continuous (7-day revenue per randomized user) and the appropriate test is a two-sample t-test for means. State the null and alternative hypotheses.

2. Gather inputs and formula

List the required inputs: baseline mean $0.90, standard deviation $12.00, minimum detectable effect (absolute lift) $0.10, significance level (typically 0.05), and power (typically 0.80). Write down the sample size formula for comparing two means.

3. Compute per-arm sample size

Plug values into the formula: n = 2*(Z_{1-alpha/2} + Z_{1-beta})^2 * sigma^2 / delta^2. With Z_{0.975}=1.96, Z_{0.80}=0.84, sigma=12, delta=0.10, calculate n. Show the arithmetic clearly.

4. Determine run length

Divide the per-arm sample size by the expected daily traffic per arm (or total daily traffic divided by 2) to get the number of days needed. If daily traffic is not given, state the assumption and express run length as a function of traffic.

5. Discuss assumptions and practical considerations

Mention assumptions: independence, normality (or large n), equal variances, no peeking. Discuss potential issues like skewed revenue distribution, outliers, and the need for variance reduction techniques (e.g., CUPED) to reduce sample size or run time.

Key Points to Mention

  • Use of two-sample t-test formula for continuous metrics
  • Standard values for alpha (0.05) and power (0.80), and corresponding Z-scores
  • Calculation: n = 2*(1.96+0.84)^2*(12^2)/(0.10^2) = 2*(2.8)^2*144/0.01 = 2*7.84*14400 = 225,792 per arm (approx)
  • Run length depends on daily traffic; if daily traffic per arm is T, run length = n/T days
  • Consideration of revenue skewness and potential need for outlier handling or robust methods
  • Mention of variance reduction techniques like CUPED to improve sensitivity

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

Compute the two-proportion z-test p-value and 95% confidence interval for each of the two experiment runs separately, then compute a fixed-effects meta-analytic pooled estimate across both. Based on that, should the team launch?

A/B Testing & ExperimentationRoot Cause Analysis
Author's notes

Run one is clearly significant with a big effect.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by computing the two-proportion z-test p-value and 95% confidence interval for each experiment run separately, then combine the results using a fixed-effects meta-analysis to obtain a pooled estimate and confidence interval. Finally, interpret the pooled results in the context of the business decision, considering both statistical significance and practical significance to recommend whether to launch.

Pro tip: Always check for consistency between the two runs before pooling; if they show conflicting directions or magnitudes, a fixed-effects meta-analysis may not be appropriate, and you should investigate heterogeneity or consider a random-effects model.

1. Compute per-run statistics

For each experiment run, calculate the conversion rates for control and treatment, the difference in proportions, the z-statistic, the two-sided p-value, and the 95% confidence interval for the difference.

2. Assess consistency

Compare the direction, magnitude, and confidence intervals of the two runs to check for consistency. If they are consistent, proceed with pooling; if not, investigate potential causes.

3. Perform fixed-effects meta-analysis

Compute the pooled effect size (difference in proportions) as a weighted average of the two run-specific effects, using inverse-variance weights. Calculate the pooled standard error, z-statistic, p-value, and 95% confidence interval.

4. Interpret results and decide

Evaluate whether the pooled effect is statistically significant and practically meaningful. Consider the business context, costs, and risks to make a launch recommendation.

Key Points to Mention

  • Two-proportion z-test assumptions: independence, random assignment, and sufficiently large sample sizes.
  • Calculation of the standard error for the difference in proportions using pooled or unpooled variance.
  • Fixed-effects meta-analysis: inverse-variance weighting and the assumption of a common true effect.
  • Interpretation of confidence intervals and p-values in the context of multiple testing and decision-making.
  • Practical significance vs. statistical significance: consider effect size and business impact.
  • Potential heterogeneity between runs and the need for sensitivity analysis or random-effects model if heterogeneity is present.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q5

List at least six plausible reasons why the first and second experiment runs produced such different results. For each, describe the specific data checks or queries you'd run to investigate.

Root Cause AnalysisA/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

Got most of the obvious ones: seasonality, novelty effect wearing off, promo concurrency, population drift.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Structure your answer by categorizing reasons into data quality, experimental design, and external factors. For each reason, specify the exact data checks or queries you would run to confirm or rule it out, demonstrating a systematic root cause analysis.

Pro tip: Prioritize reasons by likelihood and impact, and mention how you would use statistical tests (e.g., t-test, chi-square) to validate differences. Also, emphasize the importance of checking data pipeline integrity before diving into experiment metrics.

1. Clarify the context and metrics

Ask clarifying questions about the experiment setup, primary metrics, and what 'different results' means (e.g., direction, magnitude, statistical significance).

2. Brainstorm potential causes

List plausible reasons across categories: data quality, experiment design, user behavior, and external events. Aim for at least six distinct reasons.

3. For each cause, define data checks

Specify the exact queries, metrics, or statistical tests you would run to investigate each cause. Include both SQL queries and analytical methods.

4. Prioritize and plan investigation

Rank causes by likelihood and impact, and outline a step-by-step investigation plan, starting with the most probable and easiest to check.

5. Communicate findings and next steps

Summarize how you would present findings to stakeholders and recommend actions, such as re-running the experiment or fixing data issues.

Key Points to Mention

  • Sample Ratio Mismatch (SRM): Check if the traffic split between variants deviates from expected proportions using a chi-square test.
  • Data pipeline issues: Verify data completeness, freshness, and correctness by comparing row counts, null rates, and metric distributions across runs.
  • Seasonality or external events: Analyze time series of metrics to detect anomalies or trends that coincide with the experiment period.
  • Novelty or primacy effects: Examine user behavior over time (e.g., first-day vs. later days) to see if effects diminish or amplify.
  • Metric definition changes: Confirm that metric definitions, filters, and joins remained consistent between runs.
  • Statistical power and significance: Recalculate p-values and confidence intervals, and check for multiple testing corrections.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q6

Propose a full re-analysis plan covering pre-registration, covariate adjustment, heterogeneity of treatment effects, sequential monitoring corrections, and a holdout strategy for ramp. What decisions would you make if the pooled lift lands between zero and five percent?

A/B Testing & ExperimentationProduct StrategyRoot Cause Analysis
Author's notes

This is where I ran long.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Structure your answer as a sequential re-analysis plan that addresses each component (pre-registration, covariate adjustment, HTE, sequential monitoring, holdout) while emphasizing the trade-offs and decisions at each stage. For the pooled lift between 0-5%, focus on decision-making under uncertainty: consider practical significance, segment-level effects, and risk management for ramp.

Pro tip: Acknowledge that a 0-5% lift may be practically insignificant depending on the metric and business context; propose a decision framework that weighs statistical significance, effect size, and business impact, and suggest a phased ramp with holdout to mitigate risk.

1. Pre-registration and Analysis Plan

Outline a pre-registration document that specifies primary and secondary metrics, analysis populations, and statistical tests before re-analysis. This prevents p-hacking and ensures transparency.

2. Covariate Adjustment and Heterogeneity

Use covariate adjustment (e.g., CUPED) to increase power, and pre-specify subgroups for heterogeneity analysis (e.g., user tenure, region). Apply multiple testing corrections for subgroup analyses.

3. Sequential Monitoring and Corrections

If data was peeking, apply sequential testing corrections (e.g., alpha spending, group sequential boundaries) to control Type I error. Consider always-valid inference methods.

4. Holdout and Ramp Strategy

Design a holdout group (e.g., 5-10% of users) to measure long-term effects during ramp. Plan a phased rollout with clear go/no-go criteria at each stage.

5. Decision Framework for 0-5% Lift

Evaluate practical significance: if lift is small but positive, assess confidence intervals, segment-level lifts, and cost of implementation. Consider a limited ramp with holdout to gather more evidence.

Key Points to Mention

  • Pre-registration prevents bias and ensures credibility of re-analysis.
  • Covariate adjustment (e.g., CUPED) can reduce variance and increase power.
  • Heterogeneity of treatment effects: pre-specify subgroups and correct for multiple comparisons.
  • Sequential monitoring corrections (e.g., O'Brien-Fleming, alpha spending) control false positives.
  • Holdout strategy during ramp enables long-term effect measurement and risk mitigation.
  • For 0-5% lift, consider practical significance, confidence intervals, and business impact before full rollout.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.