Deconstructing Machine Learning Problem Framing
“A problem well stated is a problem half solved.” Before you touch a single model, you need to know what problem you’re actually solving.
Every Machine Learning Project Starts With a Problem, Not a Model
When most people think about machine learning, they think about algorithms.
Linear Regression, Decision Trees, Neural Networks, XGBoost.
But before any of that comes a much more important question.
What problem are we actually trying to solve?
The ability to frame a problem correctly is one of the most underrated skills in machine learning. A well-framed problem makes the rest of the pipeline almost obvious. A poorly framed one can make even the best model completely useless.
Let’s walk through what that actually looks like, using a real example: Netflix.
Step 1: Understand the Business Problem
Every machine learning project starts with a business problem, not a machine learning one.
Sometimes a business already knows the problem it wants to address. Other times, all it knows is that something isn’t working the way it should. Your job is to sit with that and understand the issue underneath it.
Say the objective handed to you is: increase the company’s revenue.
That’s not a machine learning problem yet. It’s not even specific enough to be a problem you can act on. At this stage, you’re not thinking about models at all, you’re just trying to understand what the business actually wants.
There are a few obvious levers for increasing revenue:
- Bring in new customers
- Increase the price of existing subscription plans
- Stop existing customers from leaving, in other words, reduce the churn rate
Bringing in new customers on a platform the size of Netflix is genuinely hard, and raising prices is a fast way to push people out the door. That leaves the third lever, reducing churn, as the one worth focusing on.
Notice what just happened. A vague goal, “increase revenue,” has narrowed into something specific: reduce the churn rate. That’s real progress. But it’s still a business problem, not a machine learning one.
Step 2: Decide Whether Machine Learning Is Actually Needed
Before going any further, it’s worth pausing on a question people skip too often.
Can machine learning actually solve this problem?
Not every business problem needs it. Some are better solved with a simple business rule, a process change, or a product tweak. Machine learning should only enter the picture when it genuinely earns its place, forcing it into every problem just adds complexity without adding value.
In this case, though, it holds up. Predicting which customers are likely to leave isn’t something a static rule can do well, it depends on patterns across behavior, usage, and history that a model is actually suited to learn.
Step 3: Frame the Machine Learning Problem
Since the goal is reducing churn, the real task becomes identifying which customers are about to leave. But identifying them is only half the job, you also need a plan for what to do once you know.
Two options come to mind:
- Offer the customer a discount on their plan
- Try to understand what problem they’re actually facing, are they unable to find content they want to watch, and fix that directly
The second option is more precise, but it’s slow and hard to act on before the customer actually leaves. So the practical choice becomes the first one: give at-risk customers a discount. This now becomes a machine learning classification problem.
This is the moment the business problem finally becomes a machine learning problem. You’re no longer just asking “who is leaving,” you’re asking a model to learn who is likely to leave and act on it.
Step 4: Identify the Type of Problem
In the last section we categorised our problem to be a classification problem, but is this true?? Let’s see where more thinking leads us.
Handing out discounts to every customer who might leave isn’t sustainable. Some customers feel strongly about leaving, others are lukewarm about it. Treating them all the same wastes money and goodwill.
So instead of a blunt yes-or-no label, it makes more sense to score each customer on how likely they are to churn. The higher the score, the higher the risk, and the more that customer’s retention is worth investing in.
With that one shift, from a label to a score, the problem quietly changes shape. What looked like classification is actually regression.
This is easy to miss if you don’t slow down and think it through. The type of problem you’re solving isn’t something you decide upfront, it’s something you arrive at by reasoning through what the output actually needs to look like. Here, that chain of reasoning, objective to action to output, is what tells you this is a regression problem, not a classification one.
Step 5: Look at What Already Exists
Before building anything from scratch, it’s worth asking what solutions are already out there. Maybe there’s an existing model, a heuristic, or even a rough rule of thumb the team has been relying on. Iterating on something that already works is almost always faster and more grounded than starting with a blank page.
Step 6: Understand the Data
Now that the machine learning problem is defined, the next question is whether you actually have what you need to solve it.
Do we have the information required? What features are available? Is the data complete and reliable?
For the churn example, you’d need data like:
- Watch time
- Searches that didn’t lead to a click
- Content abandoned midway
- Clicks on recommendations, and which recommendation slot was clicked
Sometimes the data you need simply doesn’t exist yet. Other times it exists but needs serious cleaning before it’s usable. This is also usually the step where collaboration matters most, you’re rarely pulling all of this alone, you’re relying on data analysts and data engineers to fetch and structure it for you. Understanding your data is just as important as understanding the problem itself.
Step 7: Decide How Success Will Be Measured
Once you have a model, the real question is whether it’s actually solving the problem you framed all the way back in step one.
This means defining metrics upfront and tracking them consistently, so you can tell if you’re moving in the right direction. If the goal is reducing churn, what metric actually tells you the model is working, not just that it’s technically accurate?
Without a clear success metric, it’s difficult for anyone involved to know whether the machine learning solution is creating real value. And if the metrics say you’re off track, that’s not a failure, it’s information. The process is meant to be iterative.
Step 8: Check Your Assumptions
The last step is the one that’s easiest to skip, and probably shouldn’t be.
Every step before this one was built on assumptions. You assumed you’d have access to certain data. You assumed a single model would generalize well across every region you serve. Before you consider the problem framed and move on, those assumptions need to be checked and confirmed, not left as background noise you forgot you were carrying.
A Caveat
This isn’t a rigid, foolproof checklist that guarantees a correctly framed problem every time. It’s a way of thinking, a lens for approaching an ambiguous problem the way a data scientist would, rather than jumping straight to models and metrics before you even know what you’re optimizing for.
The Actual Takeaway
This won’t help you become a better data scientist, but it will help you become a better thinker, which will be helpful for your career in the long run.
Machine learning is not just about building models. It’s about understanding problems, asking the right questions, and knowing how to translate a business objective into something a model can actually learn from.
The better you get at framing the problem, the easier every step after it becomes.