Anatomy of a chatbot — how much does it cost to build one?
Building a chatbot as an alternative to mobile apps is becoming a viable option as developer tooling for chatbots matures in 2017, but how much does it cost to build one?
Enterprises are tempted by the idea to create chatbots that do not require sophisticated UI design, support for multiple mobile platforms, long development cycles with the app store reviews, and expensive acquisition strategies to draw users into apps.
But building a chatbot still, requires a careful planning to ensure meaningful return on investment beyond the bells and whistles associated with owning an intelligent chatbot. In this article, I will highlight the 6 components required to build an intelligent chatbot at the average market price at $60 per hour using the available developer tools today.
Your chatbot will need a backend to handle messages from different channels and process them with NLP services such as Wit.ai, Api.ai or LUIS. Further, your backend will also hold all of your business logic and integrations with existing systems and will be used to build your conversational intelligence, so that you know how to lead the conversation with the user. The majority of the platforms support both .NET and Node.js server-side SDKs, so you can safely choose the language based on your preferences.
Once you have your backend setup, you will need to create endpoints for integrating with each specific channel. Every channel integration is different, but in general, they follow the practice of setting up an endpoint in your backend for sending and receiving messages that rely on access tokens authorization. Further, you will need to implement some channel specific UI in the form of quick reply buttons, or visual cards that guide the user during his conversation.
Natural Language Understanding
As soon as you are able to receive messages from your specific channel, you are most likely to use some of the Natural Language Processing (NLP) services to extract intents and entities out of the user messages. Example of such services are Wit.ai, Api.ai and Luis that all support both .NET and Node.js SDKs.
Setting up an NLP service and processing the messages using an SDK for the service is straightforward. However, training the NLP intents and entities that might be already existing in an external system is not trivial, since the NLP services provide UI for inputting the entities and their values manually. In reality, you will need to understand entities that map to specific objects that already exist in an existing system such Products, Contacts, Employees etc.
As with any user input, you will need to implement some business logic validation rules on top of the extracted data. It can range from simple validation such as regular expressions, or custom validation calling a web service to check the validity of a pin code.
This is where things start to get really complicated. Designing an intelligent conversation based on the NLP intents and entities is a journey that can be as deep as a black hole for your expenditure. You have to develop an algorithm for each conversation, and a simple navigation, so that the user can start over. You can use simple decision trees, state workflows, slot-based algorithm or some advanced deep learning algorithms to control the conversation.
Since the main purpose of your chatbot is to execute some business process such as ordering items, purchasing products, or booking appointments, you will need to integrate with an existing system. The integration will involve business logic validation and rules, a persistence of data and any other operations that might be required as part of your business process. If you already have a backend with good service layer, you can easily realize some savings here.
Control Panel (optional)
Once your chatbot is deployed and your users are actively using it, you might need a backend for exploring your chatbot conversation history (for channels that don’t support it out of the box), users, error logs. You can also add a simple analytics metrics to understand your bot’s performance.
Total cost of a chatbot
The back of the napkin estimate for an intelligent chatbot that uses Natural Language Understanding and is integrated with an existing set of systems deployed in Facebook Messenger comes to about $35,040 based on our experience.
You can use our Chatbot cost calculator to check the cost of a chatbot.
How can you do it 16 times faster and twice cheaper?
In our history at Progress, we are known for building the industry leading developer productivity tools, and we couldn’t get settled with the complicated process and services you need to develop an intelligent chatbot today. That is why, with our incubation project Darvin.ai, we set a goal to cut this cost significantly. This is the result in numbers:
Everything being equal, you are able to implement a chatbot on top of an existing system in 19 hours instead of 316 hours for 52% cheaper.
- Backend — You don’t have to setup your own backend, and write server-side logic as Darvin.ai is hosting your chatbot for you.
- Channels — You have a choice of channels already at your disposal without the need to implement channel specific UI or configurations. Further, Darvin.ai comes with pre-built UI components for every channel that can be configured declaratively without writing code.
- Natural Language Understanding — Darvin.ai is using Wit.ai for NLP, but comes with dynamic training configurations letting you do training on top of existing data from your CRM for example without the need to manually copy data back and forth.
- Conversational Intelligence — As part of Darvin.ai, we have developed a technology that enables developers to simply describe the fields and message they would like to extract from a conversation, and let Darvin.ai handle the rest.
- Integrations — The cost for developing your business logic is the same, but here at Progress, we have the industry leading BaaS product that can help you cut this cost and time further. Kinvey is the leader and top-ranked in current offering in “The Forrester Wave” for Mobile Development Platforms, Q4 2016, and provides a wide range of integrations with existing enterprise systems.
- Control Panel — You can not only browse your chatbot’s conversation history and users, but you can also use the Control Panel to easily edit all messages that your chatbot sends real-time.
If you want to create a chatbot that has all these built-in best practices, request your trial from our website.