Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Measure Customer Health for SaaS

EasyMetrics00:00
Practice interviewer
In session
5 left
00:00

Your question is Measure Customer Health for SaaS. Take a moment with it on the right.

Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).

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

Problem

Business Context

NimbusHR is a B2B SaaS platform for payroll, time tracking, and employee onboarding used by 4,800 small and mid-sized companies. Over the last two quarters, gross revenue retention fell from 91% to 86%, and the Head of Customer Success wants a clear framework to measure customer health and predict which accounts are at risk before renewal.

Metric Scenario

NimbusHR sells annual contracts, but product usage is weekly. In the most recent quarter, 18% of accounts logged in fewer than 2 times per week, support tickets per active account rose from 1.8 to 2.6 per month, NPS dropped from 42 to 31, and 90-day logo churn increased from 6% to 9%. Expansion revenue remained flat at 3% quarter-over-quarter. Leadership is asking for a customer health score that combines product adoption, engagement depth, support friction, and commercial outcomes.

Requirements

  1. Define a Customer Health Score for NimbusHR, including which inputs are leading vs. lagging indicators.
  2. Specify how you would calculate the score at the account level and how often it should refresh.
  3. Identify the minimum set of KPIs you would monitor alongside the score to measure customer success.
  4. Explain how you would decompose poor health to diagnose whether the issue is onboarding, feature adoption, support experience, or renewal risk.
  5. Propose thresholds for green/yellow/red accounts and what actions Customer Success should take for each tier.

Data Available

  • account_contracts: account_id, ARR, contract_start_date, renewal_date, plan_tier, seats_purchased, seats_used
  • weekly_product_usage: account_id, week_start, active_admins, active_employees, payroll_runs, time_entries_submitted, onboarding_workflows_completed, login_days
  • support_tickets: account_id, created_at, ticket_type, priority, first_response_hours, resolution_hours, CSAT
  • nps_responses: account_id, survey_date, nps_score, respondent_role
  • crm_health_notes: account_id, CSM_id, risk_flag, executive_sponsor_present, QBR_completed