← Intuit Interview Insights

Intuit·Data Scientist·Technical Phone Screen·Senior

SeniorPrefer not to say
Jun 2026Remote

Summary

Intuit data scientist interview with a pretty gnarly SQL question on subscription churn metrics. The whole thing felt more like a take-home case than a live screen, lots of edge cases baked in and they clearly wanted to see if you'd actually think through the definitions rather than just write a query.

Questions Asked (3)

Q1

Given monthly end-of-month subscription snapshots, write an ANSI SQL query that computes logo churn count, logo churn rate, gross revenue churn, and net revenue retention for August 2025. Your query must handle users missing from one month via full outer join logic, deduplicate multiple snapshots per user per date using a load timestamp, and treat null MRR as zero.

Product Analytics & MetricsData ModelingTechnical Trade-offs
Author's notes

This is where I spent most of my time and still felt shaky at the end.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by deduplicating the snapshots to one row per user per month using the latest load timestamp, then perform a full outer join between July and August 2025 snapshots to capture churned, retained, and new users. Compute logo churn count and rate from the join, and calculate gross revenue churn and net revenue retention using MRR with nulls treated as zero.

Pro tip: Explicitly state your assumptions about the definition of churn (e.g., a user with MRR > 0 in July and either missing or MRR = 0 in August) and how you handle edge cases like reactivations or upgrades, as this demonstrates business acumen and prevents ambiguity.

1. Deduplicate snapshots

Use a window function like ROW_NUMBER() partitioned by user_id and snapshot_date, ordered by load_timestamp DESC, to keep only the most recent record per user per month.

2. Full outer join months

Join the deduplicated July and August snapshots on user_id using FULL OUTER JOIN to include users present in either month, ensuring churned and new users are captured.

3. Define churn and retention logic

Identify churned logos as users with MRR > 0 in July and (missing in August or MRR = 0 in August). Compute logo churn count and rate (churned / July active logos).

4. Compute revenue metrics

Calculate gross revenue churn as sum of July MRR for churned users, and net revenue retention as (sum of August MRR from retained/expanded users) / (sum of July MRR from all July users), treating null MRR as zero.

5. Handle nulls and finalize

Use COALESCE to replace null MRR with 0 in all calculations, and ensure the final output includes the four metrics for August 2025.

Key Points to Mention

  • Deduplication using load timestamp to handle multiple snapshots per user per date
  • Full outer join to capture users present in only one month (churned or new)
  • Definition of logo churn: user had MRR > 0 in prior month and either missing or MRR = 0 in current month
  • Gross revenue churn: sum of prior month MRR for churned users
  • Net revenue retention: current month MRR from retained/expanded users divided by prior month MRR from all users, with nulls as zero
  • Treatment of null MRR as zero using COALESCE or similar

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

Q2

Using the provided sample data, what are the exact numeric outputs your SQL query would return for logo churn count, logo churn rate, gross revenue churn, and net revenue retention?

Product Analytics & MetricsRoot Cause Analysis
Author's notes

Worked through this on paper after writing the query.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

First, clearly define each metric and the exact calculation logic (e.g., logo churn count = number of customers who canceled in the period; logo churn rate = churned customers / starting customers; gross revenue churn = lost MRR from churned customers; net revenue retention = (starting MRR + expansion - contraction - churn) / starting MRR). Then walk through the sample data row by row, applying the formulas to compute the numeric outputs, and state the final numbers explicitly.

Pro tip: Always state your assumptions about the time period and whether you're using beginning-of-period or average customer count for the denominator, as these choices can significantly change the churn rate and NRR. Also, double-check that you're not double-counting revenue from customers who both expanded and churned.

1. Define the metrics precisely

Write down the exact formula for each metric: logo churn count, logo churn rate, gross revenue churn, and net revenue retention. Clarify whether churn is measured over a month, quarter, or year, and whether the denominator uses starting customers or average customers.

2. Identify the relevant data points

From the sample data, extract the starting customer count, number of churned customers, starting MRR, expansion MRR, contraction MRR, and churned MRR. Ensure you understand which customers are considered 'churned' (e.g., fully canceled vs. downgraded).

3. Compute each metric step by step

Calculate logo churn count as the number of customers who canceled. Compute logo churn rate as churned customers divided by starting customers (or average, if specified). Calculate gross revenue churn as the sum of MRR lost from churned customers. Compute net revenue retention as (starting MRR + expansion - contraction - churn) / starting MRR, expressed as a percentage.

4. Verify and present the numeric outputs

Double-check your arithmetic and ensure the units are consistent (e.g., MRR in dollars, rates as percentages). Present the four numbers clearly, labeling each metric and rounding appropriately (e.g., two decimal places for rates).

Key Points to Mention

  • Definition of logo churn: number of customers who canceled or did not renew in the period.
  • Logo churn rate formula: churned customers / starting customers (or average customers).
  • Gross revenue churn: total MRR lost from churned customers, excluding expansion and contraction.
  • Net revenue retention formula: (starting MRR + expansion - contraction - churn) / starting MRR.
  • Importance of time period consistency (e.g., monthly vs. annual) and denominator choice.
  • Assumptions about what constitutes a churned customer (e.g., full cancellation vs. downgrade).

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

Q3

How would your churn measurement logic change if you were working with transactional cancellation events instead of monthly snapshots, and what considerations around grace periods and partial-month proration would you need to address?

Product Analytics & MetricsTechnical Trade-offsAdaptability & Ambiguity
Author's notes

Honestly the part I felt least prepared for.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by contrasting snapshot-based churn (monthly active/inactive flags) with event-based churn (transactional cancellation events), highlighting the shift from state-based to event-stream logic. Then walk through the key considerations: defining the churn event, handling grace periods, proration, and aligning with business definitions. Finally, discuss how to validate and operationalize the new logic.

Pro tip: Emphasize that event-based churn requires a clear event taxonomy and a well-defined observation window; without them, you risk double-counting or missing churn. Also, proactively mention that you'd align with Finance and Product to ensure the churn definition matches revenue recognition and customer success triggers.

1. Define the churn event and observation window

Clarify what constitutes a cancellation event (e.g., user-initiated, system-triggered) and set a consistent observation window (e.g., 30 days) to avoid ambiguity. This replaces the monthly snapshot's implicit period definition.

2. Handle grace periods and effective churn date

Determine whether churn is recorded at cancellation request or at the end of the grace period. Decide if grace periods should be treated as active or churned, and ensure consistency across segments.

3. Address partial-month proration and revenue impact

Decide how to attribute churn for partial months: count the customer as churned in the month of cancellation or the following month? Consider proration for revenue metrics and how it affects MRR/ARR calculations.

4. Adjust aggregation and reporting logic

Shift from counting active/inactive customers at month-end to aggregating events over time. Use event timestamps to compute churn rates, cohort retention, and survival analysis.

5. Validate and align with stakeholders

Compare event-based churn with snapshot-based churn to identify discrepancies. Socialize the new logic with Finance, Product, and Customer Success to ensure alignment with business definitions and reporting needs.

Key Points to Mention

  • Event-based churn requires a clear event taxonomy and deduplication logic to avoid double-counting.
  • Grace periods introduce ambiguity: churn date could be cancellation request date or end of grace period; choose based on business intent.
  • Partial-month proration affects revenue metrics; decide whether to prorate MRR or use full-month churn for simplicity.
  • Observation window must be consistent and aligned with reporting cadence (e.g., daily, weekly, monthly).
  • Event-based logic enables more granular cohort and survival analysis but may require more complex data pipelines.
  • Stakeholder alignment is critical: Finance may define churn differently than Product or Customer Success.

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