The Basics of Estimating a Machine Learning Project
Let’s start by getting one thing straight. There’s no single way to estimate a machine learning project. After all, you’re asking people to create a program that can harness vast amounts of data in a way that generates huge value for your business. And that’s no easy task. But if you work with the right team, they will have a process that makes estimating the work as simple as possible.
The Basics of Estimation
No two businesses use the exact same workflows. And so, no two machine learning projects will share the exact same scope. Some will need little more than an AI feature built on top of existing software — whereas others might call for a standalone service that powers an entire platform. That’s why it’s always best to approach any estimation on its own merits.
A Simple Way To Estimate a Machine Learning Project
When estimating a machine learning project, it’s often best to forget everything you know about typical software estimation. There are so many unknowns, with so many possible data sources, that the only way to move forward is to accept a degree of uncertainty and let your business problem guide you towards the solution.
Step 1: Define Your Business Problem
Without a clear picture of the problem you’re trying to solve, there’s no way to find a suitable path forward. That’s why a comprehensive Discovery Process is so important. By keeping your mind clear of what the solution might look like and, instead, focusing squarely on your business, your industry, your world — it becomes much easier to answer the questions that will determine your next steps.
Step 2: Outline the Research ‘Blocks’
While every machine learning project is different, the early strategy is largely the same, which is why tasks like ‘exploratory data analysis’ and ‘research reviews’ follow next. Because research helps you zero in on possible paths forward. And as it’s possible to categorize such tasks into ‘blocks’ — using experience from past projects to know it takes ‘X weeks to do Block Y’ — you can quickly start to build an estimate.
Step 3: Outline the Development Time Frame
The simplest way to determine cost is to estimate the time frame. And when you develop a machine learning product, you should expect to work in one or two-week iterations (depending on the project scope). This is the time spent developing and testing the machine learning algorithms themselves. And again, past development experience can help you understand how many iterations your project will need, from which you can deduce the next set of costs.
Step 4: Define the Integration Approach
A significant portion of the final project cost will come from the integration approach; simply put, that’s whether you:
- Integrate the product into existing infrastructure
- Create a new SaaS service, mobile app, or website
The scope of the project often determines the path taken. But an experienced business analyst (BA) can help you decide if one option is better than the other.
Step 5: Determine the Infrastructure Costs
The integration approach isn’t the only significant cost factor. Your infrastructure requirements will impact the final estimate as well. That’s why there are several important decisions to make here, including:
- A cloud or on-premises solution
- Architecture scalability
- Computational resource requirements
- Data back-up policies
Again, a BA can work with you to find the optimal approach. And they should also flag where costs might vary between development and production.
Step 6: Agree on Maintenance Costs
The final cost to estimate is maintenance, which is somewhat down to you. The primary drivers here are aspects like contract duration and required response times. While if you think you’ll need updates to the machine learning model over time, it’s best to highlight them now.
Will the Final Estimate Cover Every Cost?
When you get your estimate, you should ask if the team that worked out the cost will also take charge of the project itself. If they will, you can have every confidence in the quality and integrity of the estimate itself, while you’ll know there’ll be no ambiguity once you get into the project. As a result, provided the scope doesn’t change, there’s little reason for the costs to creep.
Conclusion
In this article, we’ve explored the process of estimating a machine learning project. From defining your business problem to determining the infrastructure costs, we’ve outlined the steps to take to ensure an accurate estimate. By following these steps, you’ll be well on your way to a successful machine learning project.
FAQs
- What is the best way to estimate a machine learning project?
The best way to estimate a machine learning project is to define your business problem, outline the research ‘blocks’, outline the development time frame, define the integration approach, determine the infrastructure costs, and agree on maintenance costs. - How do I determine the cost of a machine learning project?
You can determine the cost of a machine learning project by estimating the time frame, outlining the development time frame, and determining the infrastructure costs. - What are the key factors to consider when estimating a machine learning project?
The key factors to consider when estimating a machine learning project are the business problem, research ‘blocks’, development time frame, integration approach, infrastructure costs, and maintenance costs. - How do I ensure an accurate estimate for my machine learning project?
To ensure an accurate estimate for your machine learning project, define your business problem, outline the research ‘blocks’, outline the development time frame, define the integration approach, determine the infrastructure costs, and agree on maintenance costs.