← Upstart Interview Insights

Upstart·Data Scientist·Technical Phone Screen·Senior

SeniorPrefer not to say
May 2026Remote

Summary

Upstart data science interview that went deep on marketing analytics. One big multi-part case covering everything from funnel math to incrementality testing. It was a lot to hold in your head at once and I don't think I nailed all of it.

Questions Asked (5)

Q1

Given a marketing dataset with daily channel-level data (spend, visits, form starts, form completions, loans funded, revenue), build a conversion funnel showing stage-to-stage rates and customer acquisition cost at each meaningful milestone.

Product Analytics & MetricsData Modeling
Author's notes

Felt pretty comfortable here.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining the funnel stages from spend to revenue, then compute stage-to-stage conversion rates and cumulative CAC at each milestone. Emphasize that CAC should be calculated as cumulative spend divided by the number of customers reaching each stage, and discuss how to handle channel-level granularity and time-based aggregation.

Pro tip: Always clarify whether CAC should be based on spend up to that stage or total spend, and consider using incremental CAC to isolate the cost of moving from one stage to the next—this shows you understand the business nuance beyond basic funnel math.

1. Define the funnel stages and metrics

Identify the sequential stages: spend → visits → form starts → form completions → loans funded → revenue. Clarify that spend is a cost input, not a funnel stage, and decide how to handle revenue as the final output.

2. Calculate stage-to-stage conversion rates

For each consecutive pair of stages, compute the conversion rate as (next stage count / current stage count) * 100. Aggregate across channels or keep channel-level depending on the question.

3. Compute cumulative and incremental CAC

Cumulative CAC at stage X = total spend / number of customers at stage X. Incremental CAC from stage A to B = (spend up to B - spend up to A) / (customers at B - customers at A).

4. Visualize the funnel and CAC trends

Create a funnel chart showing counts and conversion rates, and a line or bar chart showing CAC at each milestone over time or by channel.

5. Validate and interpret results

Check for data quality issues (e.g., missing values, inconsistent definitions), and interpret which stages have the highest drop-off or cost inefficiency.

Key Points to Mention

  • Distinguish between cumulative CAC (total spend / customers at stage) and incremental CAC (cost to move from one stage to the next).
  • Handle channel-level data by either aggregating or comparing channels; consider weighting by spend or volume.
  • Account for time lags between stages (e.g., visits may convert to form starts days later) and decide on attribution windows.
  • Define 'meaningful milestone' clearly—likely form completion and loan funded, but also consider form start as an early indicator.
  • Use revenue to compute ROI or LTV:CAC ratio at the final stage, but focus on CAC as requested.
  • Ensure consistent denominators: use unique users or sessions, and avoid double-counting across stages.

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

Q2

Compute ROAS and payback period under both last-click and 7-day first-touch attribution. If you only had raw click and impression logs, how would you re-attribute conversions?

Product Analytics & MetricsData Modeling
Author's notes

Last-click ROAS is straightforward.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining the attribution windows and the conversion event, then compute ROAS and payback period under each model using the appropriate revenue and cost allocations. For re-attribution from raw logs, explain how to reconstruct user journeys by joining clicks and impressions to conversions, then apply the attribution rules programmatically.

Pro tip: When re-attributing, be explicit about how you handle multiple touches within the window (e.g., first-touch means the earliest touch in the 7-day window, not the first ever) and how you treat conversions with no touches. Also, mention that payback period should be calculated on a cohort basis to account for time to recoup CAC.

1. Define metrics and attribution rules

Clarify ROAS (revenue / ad spend) and payback period (time to recover CAC) and specify the attribution models: last-click (100% credit to last touch) and 7-day first-touch (100% credit to first touch within 7 days before conversion).

2. Compute under last-click

For each conversion, identify the last click before conversion (within a reasonable window, e.g., 30 days) and assign full revenue to that campaign. Then aggregate revenue and cost per campaign to compute ROAS and payback period.

3. Compute under 7-day first-touch

For each conversion, find the first touch (click or impression) within 7 days prior to conversion and assign full revenue to that touch. Aggregate similarly to compute ROAS and payback period.

4. Re-attribute from raw logs

Join raw click and impression logs with conversion logs on user ID, sort by timestamp, and for each conversion apply the attribution rule (last-click or first-touch within window) to assign credit. Handle edge cases like multiple conversions per user and missing user IDs.

5. Validate and compare

Check for discrepancies, ensure total attributed revenue equals total revenue, and compare ROAS and payback across models to discuss implications for budget allocation.

Key Points to Mention

  • Attribution window definition (e.g., 7-day for first-touch, 30-day for last-click) and how it affects results.
  • Handling of impressions vs. clicks: impressions may not have a direct cost per impression, so cost allocation may differ.
  • Treatment of conversions with no preceding touch (organic/direct) and whether to exclude or assign to a 'direct' bucket.
  • Cohort-based payback period calculation: group users by acquisition date and track cumulative revenue over time.
  • Data quality issues: deduplication of logs, bot filtering, and time zone consistency.
  • Limitations of each model: last-click overvalues lower-funnel, first-touch overvalues upper-funnel; consider multi-touch as an alternative.

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

Q3

Using a simple response curve like a log or Hill function, recommend how to shift next month's budget across channels and estimate marginal ROAS for each.

Product Analytics & MetricsPricing & Monetization
Author's notes

This is the part I wish I'd practiced more.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem as a budget allocation task using response curves to model diminishing returns. Explain that you would fit a log or Hill function to historical channel spend and ROAS data, then compute marginal ROAS at current spend levels. Finally, recommend reallocating budget toward channels with the highest marginal ROAS until they equalize, providing an estimate of the expected lift.

Pro tip: Emphasize that marginal ROAS, not average ROAS, should guide budget shifts, and mention that you would validate the model with a holdout test or incrementality experiment before fully committing the budget.

1. Understand the objective and data

Clarify the goal (e.g., maximize total ROAS or revenue) and identify available data: historical spend, revenue, and other channel-specific factors. Ensure data is at the right granularity (e.g., daily or weekly).

2. Fit response curves

For each channel, fit a log or Hill function to model the relationship between spend and ROAS (or revenue). Use regression techniques and validate the fit with metrics like R-squared or by checking residuals.

3. Compute marginal ROAS

Calculate the derivative of the fitted curve at the current spend level for each channel to estimate marginal ROAS. This represents the incremental return from the next dollar spent.

4. Optimize budget allocation

Reallocate budget from channels with low marginal ROAS to those with high marginal ROAS until marginal ROAS equalizes across channels (subject to constraints like minimum spend). This maximizes total return.

5. Estimate impact and validate

Estimate the expected change in total ROAS or revenue from the reallocation. Recommend a validation plan, such as a geo holdout test, to confirm the model's predictions before full rollout.

Key Points to Mention

  • Diminishing returns: response curves like log or Hill capture saturation effects.
  • Marginal ROAS vs. average ROAS: marginal is the correct metric for budget decisions.
  • Equalizing marginal ROAS across channels is the optimal allocation condition.
  • Consider constraints: minimum/maximum spend per channel, strategic importance.
  • Validate with experiments (e.g., incrementality tests) to avoid model overfitting.
  • Communicate uncertainty: provide confidence intervals or sensitivity analysis.

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

Q4

Design an incrementality test (geo-based or time-based holdout) to validate your budget recommendations. Cover unit of randomization, sample size, contamination risks, and success criteria.

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

Geo holdout felt like the right answer here since time-based has too much confounding with seasonality for a lending product.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the business objective and the budget recommendation being tested, then propose a geo-based holdout design with randomization at the geographic level (e.g., DMA or state) to avoid contamination. Outline sample size calculation using historical variance and minimum detectable effect, and define success criteria that tie directly to the budget decision (e.g., incremental profit or ROI).

Pro tip: Emphasize that geo experiments require careful matching or synthetic control to account for regional differences, and that time-based holdouts are better for measuring long-term effects but risk seasonality confounds. Mention that you'd pre-register the analysis plan to avoid p-hacking.

1. Define Objective and Hypothesis

Clarify the budget recommendation (e.g., increase spend in channel X by Y%) and state the null and alternative hypotheses. Specify the primary metric (e.g., incremental conversions or profit) and guardrail metrics.

2. Choose Randomization Unit and Design

Select geo-based randomization (e.g., DMAs) for marketing budget tests to minimize spillover, or time-based holdout if geo is not feasible. Justify the choice based on contamination risks and practical constraints.

3. Calculate Sample Size and Power

Use historical data to estimate baseline variance and determine the minimum detectable effect (MDE) that is business-relevant. Calculate required number of geos or time periods for adequate power (e.g., 80%) and significance level (e.g., 5%).

4. Address Contamination and Validity Threats

Identify potential contamination (e.g., users crossing geos, ad spillover) and mitigate via buffer zones, intent-to-treat analysis, or using synthetic control. Discuss seasonality and external factors for time-based designs.

5. Define Success Criteria and Analysis Plan

Pre-specify success criteria: statistically significant lift in primary metric with no degradation in guardrails, and practical significance (e.g., ROI > threshold). Outline analysis method (e.g., difference-in-differences, CausalImpact) and sensitivity checks.

Key Points to Mention

  • Geo-based randomization (e.g., DMA, state) reduces contamination compared to user-level randomization in marketing budget tests.
  • Sample size calculation must account for intra-cluster correlation (e.g., design effect) when randomizing geos.
  • Contamination risks include ad spillover across geos and users traveling; use buffer zones or intent-to-treat.
  • Time-based holdouts are susceptible to seasonality and external events; use matched control periods or synthetic control.
  • Success criteria should include both statistical significance and practical significance (e.g., incremental profit > cost).
  • Pre-register the analysis plan to avoid multiple testing and p-hacking; consider sequential testing if peeking.

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

Q5

Which channels might look effective in attribution reports but are actually non-incremental due to retargeting or brand spillovers? How would you diagnose this?

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

Retargeting is the obvious one since you're mostly capturing people who were already going to convert.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by identifying channels that typically appear effective in attribution but are prone to non-incrementality, such as retargeting and branded search. Then, outline a diagnostic strategy that combines experimental designs (e.g., geo holdouts, ghost ads) with causal inference methods to isolate incremental lift. Emphasize the importance of validating attribution models against these experiments to quantify and correct for non-incremental effects.

Pro tip: When diagnosing non-incrementality, focus on channels where users have already expressed intent (e.g., retargeting) or where brand equity drives conversions (e.g., branded search). These are classic cases where attribution overstates impact, and experiments often reveal minimal true lift.

1. Identify suspect channels

List channels likely to be non-incremental, such as retargeting, branded search, and email to existing customers. These often capture demand rather than create it.

2. Design incrementality tests

Use randomized controlled trials (e.g., ghost ads, PSA controls) or geo-based holdout experiments to measure true incremental lift for each channel.

3. Compare with attribution data

Contrast experimental lift with attribution-reported conversions to quantify the gap and identify over-attribution.

4. Apply causal inference methods

When experiments are infeasible, use techniques like synthetic control, difference-in-differences, or instrumental variables to estimate incrementality.

5. Adjust attribution models

Incorporate experimental results to calibrate or de-bias attribution models, ensuring future budget allocation reflects true incremental value.

Key Points to Mention

  • Retargeting and branded search are common culprits due to selection bias and brand spillover.
  • Ghost ads and PSA (public service announcement) controls are gold-standard for measuring ad incrementality.
  • Geo holdout tests are useful when user-level randomization isn't possible.
  • Attribution models (last-click, MTA) often over-credit lower-funnel channels.
  • Causal inference methods like synthetic control can supplement experiments.
  • Regular calibration of attribution with experiments ensures accurate measurement.

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