ERP system development with Data Science models and extensive automation
|Client:||Comcash: US-based B2B product company with 20 years on the market|
|Creation of an innovative and reliable ERP software suite and its delivery to retail and restaurant businesses on an ongoing basis|
|Product:||Cloud-based system that comprises ERP, desktop and mobile POS software, accounting and inventory management software, an administration portal, and an eShop|
|Applied technologies:||Web stack|
Yii, PHP, MySQL, Nginx
| .NET stack|
WPF, .NET Framework 4.5
| || Automated server deployment|
Yii, PHP, Ansible
| ||Automated POS testing|
Python, Appium, WinAppDriver, Jenkins, Allure
|Automated API testing |
PHP + Codeception
| ||Machine Learning & Data Science|
Scikit-learn, Scipy, Pandas, Mlxtend, adaptive selective model,
ABC-XYZ analysis, associative rules, Apriori algorithm
Building an ERP system adopted by 80 retail chains over 3.5 years
Enterprise resource planning (ERP) became an extensive niche for software development companies. Integrated tools enhance and automate business management, taking over routine operations.
The system in question comprehensively summarizes our 6-year experience of software development for the retail sector. It was conceived as a flexible solution that could be easily tailored to business processes of companies that adopted it.
Our development team was at the core of its growth, from the very beginning up to the latest applied innovations, which include automated testing and server deployment, as well as a number of Data Science models that retrieve and use statistics to facilitate sales.
Before we proceed with our story, we'd like to turn it over to Richard Stack, our friend, CEO of Comcash, and the owner of this system. We've been successfully working with him for many years, and now he kindly provided us with a video where he describes his experience as a client of MobiDev.
ERP Product Structure
The first version: 1 year from idea to release
The story started in a simple way: head of a product company chose us as a software development company capable of forming a tech foundation for his business vision and implementing it. Another task we had was to help him present and customize a production-ready enterprise resource planning system for early adopters. After a year of handling an extensive scope, the system went live in mid-2014 for its first retail chain. Immediate returns were invested in further evolution and customization for emerging clients.
The inherent flexibility of this ERP system allowed us to adjust it to varying business processes, which helped our client gather more adopters. Product customization for one adopter took about 1 month, and our next step was automation.
Automation of testing and server deployment as a premise for reliability of POS software
Automated server deployment was a natural solution for a complex software suite used by companies that must operate failsafe 24/7. We have an update after an iteration—then we have one push of a button—and 70 POS terminals of a retail chain are instantly and seamlessly updated in the morning.
With the rapidly growing number of retail companies as adopters, the team still required a focus on functionality development. The applied solution yielded a good result: currently, setup of an instance for a new company takes 10-15 minutes. Full configuration depends on the data input from this company. It can take up to 2 days, and can be handled by a support team.
The next step was automation of testing. It increased stability, reduced the number of minor updates, and sped up regular major deliveries without compromising product quality.
The entire system uses a standard internal API. Our first step was automation of its testing according to the basic scenarios. As a result, regression testing time was reduced from a week to 2 days. Later on, the process of automated testing was applied to desktop POS software; mPOS automation is currently in works. Integration with Jira facilitated and automated a number of internal QA activities.
Data Science in retail software development: building models to predict and facilitate sales
According to a survey by McKinsey & Company, 36% of US companies confirmed that a competitive edge is gained by improving core business through data and analytics. These companies extract valuable insights from data that were traditionally unrelated or used in different systems. The percentage shows a relative uncertainty that we believe will become more clear in the year to come.
But for us, machine learning and data science in retail industry already have well-defined business goals. This project features 3 vivid examples of models developed by our team:
Making weekly demand predictions to boost sales
The first and most complex example is an adaptive selective model that makes demand predictions for each following week. It was based on 2.5 years of retail sales statistics, processing this data to figure out what goods would be in high demand. This model consists of several autoregressive models with some external data, and its key feature is the selection process, which enables forecasting for any particular product at any point in time.
The main challenge of this case was to create a single algorithm that would be used for thousands of product types and different points of sale that have different demand patterns. The optimal solution was to apply this adaptive model instead of separate ARIMA-like models or recurrent neural networks to avoid fine tuning for specific products.
Applied DS/ML libraries & approaches: Scikit-learn, Scipy, Pandas, adaptive selective model
Dividing goods into specific groups to make targeted discounts
The second example is more of a statistical report that divides goods into groups by popularity and revenues. The data on most and least profitable goods would be used for effective targeted discounts, increasing retail sales.
Applied DS/ML libraries & approaches: Pandas, ABC-XYZ analysis
Offering relevant accompanying goods to customers
The third model will soon make its way to the system, and it offers relevant accompanying goods that customers tend to buy together with any selected product. Basically, it helps to recommend more goods to fill the basket of every customer, driving additional revenue.
Applied DS/ML libraries & approaches: Mlxtend, Pandas, associative rules, Apriori algorithm
Plans for the future: new target audience and focus on mobility
This ERP software suite is currently used by more than 80 retail chains in the US. Its structural sophistication is handled with an ongoing iterative development process by a dedicated team of 10 people.
The latest releases include the mPOS software, which brings the entire point-of-sale functionality to the mobile by means of iOS development. It was conceived as a solution that will help the client encompass a new target audience – the sphere of restaurant business, where the convenience of on-the-go mPOS and accounting functionality is essential. Architectural flexibility allows to cover new ground easily—which means we will have more success stories to tell.
Stay updated with our blog, and feel free to contact us with your questions and ideas!
November 27, 2017
Product: IoT solution for connected cars Client: Germany-based vehicle electronics manufacturer Business goal:Launching... more →
October 26, 2017
9 months of full-cycle software development led us to delivery of a Web-based B2C product for the restaurant industry. It's a... more →
For every $1 billion invested in the United States, $122 million was wasted due to lacking project performance, as a 2016 survey... more →