Module 1 · Product Management Fundamentals
What product managers do
What a product manager is responsible for (outcomes, not just features), how product work differs from project work, how to pick a north star metric, and a first look at Paystream's new users.
About 20 minutes
The problem
Paystream, the mobile wallet from the AI courses, has a backlog of ten feature ideas, a sales team asking loudly for one of them, and a CEO who wants "more users". Eight thousand people signed up in the last eight weeks. Fewer than half of them ever sent money.
A product manager's job is to decide what to build next and why, using evidence about users, and then to check whether it worked. This course teaches that job with Paystream's real signup, feedback, interview and launch data.
The concept
Outcomes, not outputs
An output is something shipped: "savings goals launched". An outcome is a change in what users do: "more salary earners keep money in Paystream for a month". Product managers are measured on outcomes; shipping is only the means.
Product and project
| Project manager | Product manager | |
|---|---|---|
| Question | are we delivering what was agreed, on time and budget? | are we building the right thing, and did it work? |
| Timescale | a project's life | the product's life |
| Success | delivered as planned | users' behaviour and the business improve |
Most teams need both, and the Project Manager track teaches both.
A north star metric
One number that captures the value users get, which the whole team can move. For a wallet: weekly active users who make at least one transaction, not downloads or signups.
Example
Paystream's signups over eight weeks, and how far each new user got:
import pandas as pd
base = "https://academy.cloudtechanalytics.com/datasets/product/"
users = pd.read_csv(base + "users.csv")
print(len(users), "signups;", users["signup_week"].value_counts().sort_index().tolist(), "per week")
steps = ["phone_verified", "bvn_verified", "first_deposit", "first_transfer"]
print((users[steps].mean() * 100).round(1).to_string())8000 signups; [1023, 960, 1008, 1018, 1010, 1001, 970, 1010] per week
phone_verified 91.9
bvn_verified 62.8
first_deposit 50.5
first_transfer 42.8More than nine in ten new users verify their phone, but only about four in ten ever send money, which is the moment Paystream becomes useful to them. Celebrating signups would hide that. Now the users who matter most for the north star:
activity = pd.read_csv(base + "activity.csv")
week_two = activity[activity["week_since_signup"] == 2]["user_id"].nunique()
print("Signups:", len(users))
print("Made a first transfer:", int(users["first_transfer"].sum()))
print("Active in their second week:", week_two)Signups: 8000
Made a first transfer: 3422
Active in their second week: 2596Each step loses people. Lessons 4 and 5 find out where, and for whom.
Walkthrough
- Run the cells. Which step loses the most new users?
- Propose an alternative north star metric for Paystream, and say what it would miss.
- Rewrite "launch split bills" as an outcome.
- Write three outcomes for Paystream's next quarter (the task below).
Practice
Practice
What share of signups made a first transfer? As a percentage, one decimal place.
Task
5 minWrite three outcomes for Paystream's next quarter, one per line starting with a dash. Each must name a user group, a behaviour that should change, and a measure with a number. None may be a feature.
Your work is checked for
- Three lines starting with -
- User groups named
- A measure with a number on each
- No feature outputs (launch, build, ship, add)
Check your understanding
Answer every question to check.