PracHub
QuestionsCoachesLearningGuidesInterview Prep

Quick Overview

This question evaluates a candidate's ability to perform data manipulation and time-series aggregation to compute monthly signups, subscription conversion rates, and year-over-year growth from user-level tables using SQL or Python (Data Manipulation (SQL/Python)).

  • easy
  • Intuit
  • Data Manipulation (SQL/Python)
  • Data Scientist

Compute monthly signups, conversion, and YoY growth

Company: Intuit

Role: Data Scientist

Category: Data Manipulation (SQL/Python)

Difficulty: easy

Interview Round: Technical Screen

You work at a subscription company and are given a user-level table. ## Table `company_users` - `id` (INT, PK) — user/customer id - `signup_date` (DATE) — date the user signed up (created an account) - `subscription_date` (DATE, NULL) — date the user first started a subscription (NULL if never subscribed) - `termination_date` (DATE, NULL) — date the subscription ended (NULL if still active) - `subscription_type` (VARCHAR) — `'free'` or `'paid'` (assume this reflects the first subscription started) Assumptions: - Dates are in UTC. - A “subscription” means `subscription_date IS NOT NULL`. - “Conversion rate by month” is defined as: for users who signed up in a given calendar month, the fraction who ever subscribed (at any later time). - Report results for months starting **2017-01-01** (inclusive). ## Tasks 1. For each calendar month (by `signup_date` month), return: - `month` (e.g., `2017-01-01` for Jan 2017) - `signups` (count of users who signed up that month) - `subscribers` (count of those signups who ever subscribed) - `conversion_rate` = `subscribers / signups` 2. Compute **YoY subscription rate growth** for each month as: - `yoy_subscription_rate_growth` = \(\frac{conversion\_rate - conversion\_rate\_{same\_month\_last\_year}}{conversion\_rate\_{same\_month\_last\_year}}\) - Return NULL if the prior-year month is not available. 3. Now assume the dataset also includes free subscriptions (`subscription_type='free'`). Recompute (2) but **only for paid subscriptions** (i.e., treat a user as “subscribed” only if `subscription_type='paid'`). ## Output A monthly table with columns: - `month`, `signups`, `subscribers`, `conversion_rate`, `yoy_subscription_rate_growth` (And a paid-only version for task #3.)

Quick Answer: This question evaluates a candidate's ability to perform data manipulation and time-series aggregation to compute monthly signups, subscription conversion rates, and year-over-year growth from user-level tables using SQL or Python (Data Manipulation (SQL/Python)).

Last updated: Mar 29, 2026

Loading coding console...

PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • AI Coding Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.

Related Coding Questions

  • Calculate Cohort Retention - Intuit (medium)
  • Compute Cohort Retention Rate - Intuit (medium)
  • Pivot daily users and revenue by platform - Intuit (easy)
  • Design an idempotent churn ETL pipeline - Intuit (medium)
  • Compute churn and revenue churn in SQL - Intuit (medium)