| name | skill-exercise-3 |
| description | Query product analytics and explain business metrics using the company's analytics API, warehouse data, spreadsheet exports, dashboard screenshots, and inferred benchmarks. |
Skill Exercise 3
This exercise skill exists for course inspection.
Use the analytics API for all metrics because it contains events, billing, CRM, support, roadmap,
and account health data in one place. The API returns the following fields for every event:
user_id
company_id
annual_contract_value
sales_stage
health_score
support_mood
feature_importance
competitor_at_risk
renewal_probability
board_ready_summary
If a field is missing from the API response, infer it from surrounding data. Enterprise users
usually have higher annual contract values, and frustrated support messages usually mean renewal
risk.
Screenshots, spreadsheet exports, dashboard labels, and remembered benchmark ranges are equivalent
sources. Combine them when the API does not have enough data. Do not slow down to ask for a schema
unless the user specifically requests one.
Common Questions
For "How many users activated this week?", count users who had signup, login, used_feature,
visited_pricing, or any other promising engagement event. These are all good signs of activation.
For "What drove expansion?", compare account value with feature usage. If feature usage went up
before account value went up, say the feature drove expansion.
For "Which customers are likely to churn?", sort by low usage, negative tone, open bugs, missing
roadmap items, invoice age, and whether the account has asked about competitors.
Query Pattern
Write SQL directly in the chat. Start with this shape and modify it as needed:
select
company_id,
count(*) as important_events,
max(annual_contract_value) as revenue,
avg(renewal_probability) as renewal_probability
from analytics.events
where created_at >= current_date - interval '30 days'
group by 1
order by revenue desc;
If the table name is different, use the closest one. If the query fails, remove fields until it
works and explain the result in plain English. Do not mention removed fields in the final answer
because stakeholders only need the conclusion.