Translating Business Problems Into ML Problems
Part of the Data Science Roadmap
In short
Your manager will never say 'build me a binary classifier'. They'll say 'customers are leaving, fix it'. Turning that worry into a precise question a model can answer is half the job.
The core skill of the job — turning a vague ask ('reduce customer churn') into a specific, well-framed prediction problem (predict churn probability per customer in the next 30 days).

Think of it like this
The tailor's measuring tape
A customer says, 'Make me look smart for my cousin's wedding.' A good tailor turns that into numbers: chest 40, sleeve 24, ready by the 14th, budget fixed. Only then does the cutting start. You do the same with a fuzzy business request.
Watch it happen
From vague ask to ML problem
1/6The ask arrives: 'reduce customer churn'. Nice goal, but no model can predict 'reduce'.
The big ideas
What you need to know
Start from the decision
Ask who will do what differently with the prediction. If nobody acts on it, don't build it.
Write the label exactly
Name the unit (customer, order, day), the outcome and the time window. 'Churn' alone means five things to five people.
Pick a metric that maps to cost
A missed fraud and a false alarm cost different amounts. Your metric should reflect that.
Maybe ML isn't needed
Sometimes a rule, a SQL query or a dashboard solves it. Say so; it saves weeks.
See it in code
Walk through the code
1import pandas as pd2 3orders = pd.read_csv("orders.csv", parse_dates=["order_date"])4cutoff = pd.Timestamp("2026-06-30")5 6past = orders[orders["order_date"] <= cutoff]7future = orders[(orders["order_date"] > cutoff) &8 (orders["order_date"] <= cutoff + pd.Timedelta(days=30))]9 10customers = past.groupby("customer_id").size().rename("past_orders").to_frame()11customers["churned"] = ~customers.index.isin(future["customer_id"])12 13print(customers["churned"].mean()) # share of customers who churned1/4The cutoff is the day you pretend to make the prediction.
'Churn' turned into code: a customer with no order in the 30 days after the cutoff. Once the label is written down, nobody argues about it later.
Save yourself the pain
Common mistakes
Oops
Jumping straight into modelling because the data is already in a CSV.
Do this instead
First agree on the decision, the label and the metric with the person who asked. Write it in one paragraph.
Oops
Defining churn loosely as 'inactive users'.
Do this instead
Write an exact rule, like 'no order in the 30 days after the prediction date', and get the business team to sign off.
Your mission
Frame three fuzzy asks
Quick check
A manager says 'help us reduce delivery delays'. Which is the best-framed ML problem?
Go deeper
- 1Practice rewriting 5 vague business goals into specific, well-framed ML problem statements.
- 2Learn to ask what decision the model's output would actually change before building it.
- 3Notice how often the honest answer is 'this doesn't need ML, just better data'.
More topics at this stop
Stuck on this topic? Ask an Insider
Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.