Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL Cohort Monthly Conversion Rates

HardSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is SQL Cohort Monthly Conversion Rates. Start with the requirements and the two tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Elevate Credit wants to measure how quickly loan applications convert to an approved loan. Write a PostgreSQL query that reports approval conversion by application-month cohort from January through April 2024.

An application belongs to the month of its submitted_at timestamp. An application converts in the month of its first approved status event. Multiple approval events for one application must count only once. Applications without an approval event remain in the cohort denominator but contribute no conversions.

Requirements

  1. Create one row for each cohort month and each reporting month from the cohort month through April 2024.
  2. Return the cohort size, number of applications first approved in each reporting month, and conversion rate as a percentage.
  3. Use the total applications in the cohort as the denominator, including applications with no status history or no approval.
  4. Exclude approval events after April 2024 and sort by cohort month, then reporting month.

Schema

loan_applications
ColumnTypeDescription
application_idPKINTUnique loan application identifier
customer_idINTCustomer associated with the application
submitted_atTIMESTAMPApplication submission timestamp
channelVARCHAR(30)Acquisition channel
product_nameVARCHAR(40)Elevate Credit loan product
loan_status_history
ColumnTypeDescription
status_event_idPKINTUnique status event identifier
application_idINTRelated loan application identifier
statusVARCHAR(20)Status recorded at the event
changed_atTIMESTAMPStatus change timestamp
Tablesloan_applicationsloan_status_history
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results