Comcash: Cloud-based system that comprises ERP, desktop and mobile POS software, accounting and inventory management, an admin portal, an eShop
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.
A cloud-based system that comprises ERP, desktop and mobile POS software, accounting and inventory management software, an administration portal, and an eShop.
- Web stack: Yii, PHP, MySQL, Nginx
- .NET stack: WPF, .NET Framework 4.5
- iOS stack: Objective-C, Swift, CoreData, AFNetworking
- Automated server deployment: Yii, PHP, Ansible
- Automated POS testing: Python, Appium, WinAppDriver, Jenkins, Allure
- Automated API testing: PHP + Codeception
- Data Science & Machine Learning: Scikit-learn, Scipy, Pandas, Mlxtend, adaptive selective model, ABC-XYZ analysis, associative rules, Apriori algorithm
Enterprise resource planning (ERP) became an extensive niche for software development companies and one of the top trends that lie at the crossroads of technology and retail. Integrated tools enhance and automate business management, taking over routine operations.
The system in question comprehensively summarizes our 6-year experience of retail software development. It was conceived as a flexible solution that could be easily tailored to the 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.
The story started in a simple way: the 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.
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, the 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 the 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.
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 development in the 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 effectively 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