Recommendation engines already proved its efficiency in various industries for many well-known companies like Google, Facebook, Netflix, eBay, Amazon, and Spotify. There are a lot of different benefits recommendation engine software can provide for all types of businesses no matter what size the company is.
Today we will answer one of the most commonly asked questions related to recommenders development: “How much does it cost to build a custom recommendation engine?”
We had already built several recommendation engines for small and medium companies and participated in several tenders and technological researches in this area. So today we will share our expertise in this topic pointing on main development phases that affect final costs.
Below we are going to cover the complete development roadmap and provide the fair estimation for every stage. Let’s start.
RECOMMENDER DEVELOPMENT ROADMAP
First of all, the recommendation system development cost depends on many factors. For example data complexity, the volume of data, business goals, etc. The development process is usually split into several phases.
Having a general understanding of the project phases helps us to make a rough estimation. We should note that application roadmap is quite useful during the development of a complex system. Moreover it leads to better project understanding both for the customer and for the development team.
At Azati we mainly specialized in recommendation engine software that are based on machine learning and artificial intelligence. But we also developed the recommenders that use the traditional methods and algorithms as well.
For now, we will describe and estimate the development process of the recommendation system powered by machine learning. By the way, it is similar to the AI development estimation.
1. DISCOVERY & ANALYSIS PHASE
Before the project starts, it is essential to set up business and project objectives. The primary goal of this phase is to conduct a feasibility study.
The work on every project starts with the analysis. We analyze current metrics, data assets, and customer goals and processes. During that stage, the team defines the growth points, determines the technological stack, timeline and budget, and develops all corresponding documentation.
At the end of this phase, our business analysts find out whether we should use machine learning or the traditional algorithms to reach customer goals. Finally, we determine the scope of work needed for the prototype or MVP development.
After all the requirements are gathered, problems and goals are analyzed, the data is digitized, we proceed to the second stage. By the way, the first project phase we do absolutely for free.
We should also note that often our clients request the raw estimation, so we provide the data according to our expertise and completed projects for other clients. Often such estimates are slightly inaccurate because we cannot calculate the risks accurately, what makes the raw assessment more expensive.
2. PROTOTYPE IMPLEMENTATION PHASE
During the second phase, we develop the simple prototype of the recommendation system according to the data gathered during the previous step to prove the hypothesis and show its efficiency. That phase is critical to calculate the final costs of AI-powered recommender development.
As we already said, the prototype is a business model created to test overall system feasibility and to demonstrate the proof of concept. It can be a text or drawing-based mock-up, or a more complex code-based prototype, depending on the project complexity. Each prototype is shown and discussed with the client.
Prototyping is a technique which allows us to confirm requirements and design choices. Prototypes are usually fast and cheap to build and easy to mend.
Before real development begins, it is mandatory to calculate the risks. As the primary requirements are already discussed in the early stage, we can provide a more accurate estimation for the final solution, taking into consideration the risks, software implementation, algorithm tuning, and long or short-term maintenance.
We are striving to make this step as quick and inexpensive as possible. The prototype price may vary depending on many factors, but usually, it is under $5.000 for the recommendation engine.
3. MINIMUM VIABLE PRODUCT (MVP) DEVELOPMENT
From the previous step, it may seem to you that the prototype is the alpha version of the recommendation system, but it is not.
The main difference between prototype and Minimum Viable Product: prototype proves the concept or idea – it is possible to extract insights from the data, and according to that insights generate suggestions and provide recommendations; MVP is an alpha version of a product, that solves the business goal – to increase the revenue or turnover.
MVP works with the client’s real data and is subjected to a group of real customers as the first version of the solution, collecting the relevant feedback. It is usually much cheaper to develop a Minimum Viable Product than a complex, robust solution.
We already mentioned in another our article, that one of the most common problems we face during the recommender development is unpredictable performance.
We cannot guarantee that the solution we develop will improve the return on investment (ROI) about 256%, but we can make predictions when we already have data after a small period. MVP is perfectly suitable in this situation: it helps us to collect the first data to make accurate predictions.
Another moment is cost reduction and ROI increase. Usually, the company wants us to develop a recommendation engine software is a young company without strict traditional management, so they are still agile.
Sometimes, when we present the recommendation system MVP to the customer, we see it solving another business goal. Of course, it is not the goal described in the specification but the most valuable one. Agile software development approach helps us to determine new goals every sprint. So we can continue to improve the existing code that already helps the customer while developing another product to solve the original issue.
Usually, the MVP of recommendation engine projects costs vary from $5.000 to $15.000, according to the number of data to process, and factors the algorithm should take into consideration while generating the suggestions.
4. RECOMMENDER RELEASE AND DEPLOYMENT
During the last phase, we do improve the prototype of the recommendation engine to match the clients’ needs and integrate it with the existing infrastructure.
The final release can be delayed or even postponed according to many different factors. Often our clients choose agile software development and prefer to launch the recommender prototype, improving it over time.
As we already mentioned, prototype deployment is the best idea if you want to prove the hypothesis. But not the best option if you’re going to use it as is for an extended period. Sometimes even good-working prototypes lack stability. We usually recommend thinking twice, before prototype deployment.
Usually, we deploy our solutions to the cloud due to the benefits it provides. But sometimes it happens that our engineers visit customers on-site to set everything up.
This project phase usually is not expensive, and costs under $5000. But the final recommendation engine deployment price may vary according to the previous steps and stages.
Summarizing our thoughts, the recommendation system development is the process that is not easy to estimate at first sight. It requires the personalized approach and the deep understanding and analysis of the clients business processes, goals and data.
Finalizing the development costs:
1) Analysis and raw estimation – free
2) Prototype development – $5000
3) MVP development (prototype included) – $10000
4) Deployment and Release – $5000
This way we would say that the usual development costs for the recommendation engine powered by machine learning are about $15.000.
For the recommendation engine powered by traditional algorithms, it is about 30% lower. But the system makes less accurate predictions in comparison to the smart recommendation engine.
Often the price varies according to several factors: the amount of data and its complexity, business goals and expectations, existing code base and technologies-in-use. So it can both increase or decrease accordingly to the specific project.