Enterprise Transformation with Advanced Software Solutions for BOSCH

Client in numbers

$91BPer year
400,000People globally
60Countries

Problem statement:

  • Bosch wanted to transform itself into a digital organization to meet consumer demands.
  • At the same time Bosch must stay competitive against other big industrial players from the US and Asia.

Approach and solution:

  • AI/ML research and PoC projects related to knowledge graphs.
  • Development of Android applications.
  • Digital anti-counterfeit solutions for physical goods.
  • Open-source cloud stack for developing applications.

Impact achieved:

  • Remarkable success in multiple projects.
  • Improving manufacturing at scale with digital tools based on Java and Angular.
  • Digitizing the customer experience

Expertise and scope:

  • Tech Stack: Java, Python, php, DevOps tools

Overview:

As with many international companies, Bosch Group, the global industrial conglomerate, faces a dual challenge. On one hand, it must transform itself into a digital organization to meet consumer demands. On the other hand, it must stay competitive against other big industrial players from the US and Asia.

On top of that, the company is keeping an eye on emerging AI/ML technologies that set the market pace today. Bosch is well-positioned to benefit from this trend since it has accumulated large amounts of data. However, for a company to stay ahead of the competition, sometimes it all boils down to having the right talent with a skill set at the forefront of innovation.

Solution:

In 2021, Wiser became a partner of Bosch.IO. Thе company, now called Bosch Digital, is an IT subsidiary of the global enterprise. It works on IoT, AI, and other digital technologies in the fields of industrial engineering, energy, automotive, building solutions, and others.

Wiser’s role is to contribute to the creation of software engineering teams that drive the digital transformation of Bosch and its software product development. While Bosch boasts excellent in-house engineering staff, it also benefits from external help that brings fresh perspectives and know-how. Together, we collaborate on numerous projects, with the most captivating focusing on:

  • Improving manufacturing at scale with digital tools based on Java and Angular.
  • AI/ML research and PoC projects related to knowledge graphs.
  • Development of Android applications.
  • Digital anti-counterfeit solutions for physical goods.
  • Open-source cloud stack for developing applications.

Frequently, the collaboration happens in a hybrid mode. Joint teams work together either remotely or in the offices of Bosch and Wiser. Depending on the unique project needs, our colleagues travel to Stuttgart or other Bosch locations for workshops, tech conferences, or other face-to-face events. 

IoT-Connected App for Dams Monitoring

#1In green recovery & tech development in Bulgaria
since 2012Leader for IoT solutions in Bulgaria

Problem statement

  • Sentra Systems set out to develop an Internet of Things (IoT) solution for a large enterprise. The aim was to replace an outdated system that monitors dams and reservoirs. The project focused on enhancing scalability and user experience

Approach and solution

  • We developed a  user-friendly web app featuring live data feeds, photo capture, and 3D visualization from 100+ sites with over 2000 sensors.

The solution

  • 28 000+ data points collected & analyzed per minute
  • Live alerts for extreme events, i.e. very high water level and risk of overflow (or low level and upcoming drought).

Impact achieved

  • The web application we developed for Sentra’s enterprise customer is a notable improvement compared to their legacy monitoring system. It’s characterized by live data feeds from each location, photo capturing capability, photo archive, customizable screens with sensor data, and 3D site visualization.
  • Our solution is capable of digesting and analyzing 28 000 data points per minute. It covers around 100 physical locations with over 2000 sensors.
  • Sentra’s enterprise customer benefits from our solution because it is a user-friendly web app suitable for use on mobile devices – an important aspect when infrastructure technicians are on the go. It is also a notable improvement over the old software program.
  • The dams monitoring system we created has a critical importance for the overall management of physical infrastructure. It helps local and state authorities to anticipate and manage risks like floods, droughts, etc. The app’s live alerts warn users of extreme events , e.g. very high water level and risk of overflow (or, conversely, very low water level).

Expertise and scope

  • Technology Stack: Vue.js, Python (Django), HTML (Jinja), jQuery, CSS3 (Bootstrap, Bootstrap Vue), Highcharts.js, Docker, Jenkins, Git (GitLab, Git Flow), Linux, MQTT, MySQL, Mosquito, Web Sockets

Overview

Sentra Systems creates and operates end-to-end Internet of Things (IoT) solutions that track and control various aspects of the physical world like homes, utilities, public infrastructure, smart city systems, etc. By partnering with some of the world’s leading developers in the IoT domain, Sentra’s data-driven products tackle specific real-world problems. Each solution helps end-users manage their connected devices while overcoming the inherent constraints of a given use case. 

Challenge

Working for a large enterprise customer, Sentra develops a state-of-the-art monitoring system for physical infrastructure that should replace an existing legacy platform.

Sentra’s business challenge was to achieve greater scalability and improved user experience while ensuring 24/7 uninterrupted on-site monitoring and a seamless transition to the new system. With its expertise in scalable back-end and front-end software, Wiser have been engaged by Sentra in creating a solution that is stable, user-friendly, and future-proof.

Solution

Upon investigating the state of the legacy platform and researching suitable technologies, Wiser planned and developed the new system having in mind other potential use cases like monitoring of parking lots and municipal water supply infrastructure.

The solution followed a successful Discovery phase, completed together with Sentra. It resulted in: 1) Clear project scope with defined business needs, addressed problems, and the things making the product unique, 2) All-in-one storage of requirements serving the development team, including criteria for the project’s success, and 3) Identified technologies matching the requirements as well as the architectural design of the system.

With the back end connected to the front end in December 2020, Both parties moved forward to introduce the new user interface. It features notable improvements such as a live data feed from each location, including photo capturing capability, customizable screens with sensor data, and 3D site visualization.

Wiser’s approach to work closely with Sentra’s engineering and development team also proved helpful. Each development phase was followed by a mini-demo where the team showcased the latest features to Sentra. Feedback and user needs were incorporated as we progressed with development.

The project in numbers

  • Around 100 sites to be monitored with the new system
  • All locations will have over 2000 sensors in total
  • 50 locations already integrated

The Great Divide: Model-centric vs. Data-centric approach

The bread and butter of machine learning (ML) are data and models. As Data Science academic research and competitions focus mostly on improving the ML models and algorithms, in many aspects the data remain overlooked. This creates an artificial division between the data and model in the ML system that starts to frame two separate approaches towards AI – Model-centric and Data-centric.

The benefits of excellent models


A famous quote often attributed to the statistician George Box says that all models are wrong but some are useful. By extension, some models are extremely useful, and some are, let’s face it, useless. To build a good ML solution, you need a model that captures the underlying dependencies in the data, filtering out the idiosyncratic noise and performing well on new, unseen data.

A model improvement can be achieved in various ways. While there are many common recipes and tools for model optimization, for many applications, the modelling work remains affined to the artwork. The usual workflow includes:

  • Testing various model architectures and specifications, different objective functions and optimization techniques;
  • Fine-tuning the hyper-parameters defining the model structure and the model-training process.

What is referred to as a model-centric approach is an activity of dedicating time and resources to reiterating the model. The goal is to improve the accuracy of the ML solution while keeping the training data set fixed.

The more one approaches the realistic limits for model performance, the smaller the room for model improvements becomes and the marginal return on spending time and resources on the task starts to diminish. All this doesn’t say that one has reached the potential for the whole ML solution. There might still be vast room for improvement available.

The benefits of high-quality data


Once you see that you reach the potential of your model on the given dataset, the usual go-to is the universal “get more training data.” This might often be all you need to reach the performance goals of your model. Sometimes though, what you need is not more data, but better data.

The data-centric approach is concerned with how to improve the overall performance of the ML solution by focusing on the quality and sufficiency of the data while keeping the model training part fixed. What the Data-centric approach suggests is not something novel or revolutionary but a reminder that actually no model can be better than the data it was trained on and that improvements in the quality of the data can lead to much higher performance gains for the overall ML solution.

Data consistency, data coverage, label consistency, feedback timeliness and thoroughness, and model metadata are some of the aspects of the data that can improve your ML solution.

  • Consistent data is data, anything else is confusion and ambiguity. Are the ETL (extract, transform and load) pipelines providing you with the clean and systematic data necessary for your ML applications? If the answer is no, then perhaps a greater effort is required to improve upon the relevant processes.
  • The data coverage asks whether the sample you are training your model on is representative of the population your model is going to be used on. If some subpopulations or classes are underrepresented, evaluate what might be the effect of this and, if needed, think about how to overcome this. Often data filtering, rebalancing, or data augmentation might help. Another aspect of the coverage is the content. Are all characteristics relevant for the discrimination between the observations present in your dataset, do you need and can you get additional features for your ML task?
  • Labels consistency – this one is a huge issue for any supervised ML task. From the correct definition of the labels for your ML task to the accurate labelling of the dataset: all aspects can hugely affect the outcome of the model training. There are multiple strategies and techniques that can be useful for improving the labels in your project and it is always a good idea to spend some time checking the quality of your labels manually – even on a very small subset of the data.
  • Monitoring data – once deployed to production, the ML system is not done. Model performance will inevitably deteriorate due to data or concepts drifts. Setting up good monitoring for your model is the first line of defence against such a trend. Often one cannot foresee in which aspect the input data for the model may shift or how the performance of the model may decrease and setting up monitoring on a wider range of indicators and subpopulations may reveal underlying changes faster.
  • Model Metadata – the high quality of an ML system is also akin to transparency and reproducibility. Model performance metrics and means for reproducibility can generally be called model metadata and are also important for easing the work on model experimentation and optimization.

Business and analytic tradeoffs


How to strike the right balance between improving your code and improving the quality of your data? You can – as with any other decision – put some data into use.

Analyze your processes and see what is the ratio of the time spent working on data vs the time spent working on the code for improvement of the accuracy of the ML applications. Time-box the model optimization part, put the model in production when you reach satisfactory results, and start collecting feedback for gaining insight into your model and improving your data set. Prioritize high-quality data throughout all phases of the ML project for the MLOps team.

It might be worth reconsidering also the composition of your ML teams. How many data engineers and analysts vs ML engineers and modellers do you have?

This can be generalized further at an organizational level for any decision concerning your data assets and ML projects. Build and maintain better data infrastructure instead of investing in more ML projects. And consider how better data quality and infrastructure can improve the profitability of the undertaken ML projects.

Where to go from here?


Starting from the investigation phase of the project, spend some time on what would be the upper feasible limit on the performance of the model that is going to be built. If this is a frequently occurring ML task, one can check the literature for what is the level already achieved by other Data Scientists. Alternatively, take a small sample and measure the human-level performance on it. This can be used as a guideline for the feasible model performance regarding the task at hand.

Once realistic benchmarks for the output of your ML project are set up front and the first model prototype is ready, carefully analyze what is missing to get to this benchmark. A quick analysis of the errors of your model, evaluating some human-level performance benchmarks, and digging into the potential gaps can guide you on whether it’s worth to continue training and optimizing your model or whether it’s better to spend more time on collecting additional data, better labelling or feature creation. Iterate.

What will help in moving through these phases effectively is a data-centric infrastructure for the ML solution. What you need here is an automated retraining and deployment process and integrated model monitoring that can quickly bring the feedback for your model and the new training data increments to trigger model retraining or reworking. For this purpose, the project requires a developed MLOps infrastructure providing timely and consistent, high-quality data for your system. Tools and expertise for building full MLOps pipelines are quickly piling up to meet the new requirements and demand in the field of production ML.

Prioritize data quality over data quantity. Prioritizing tasks on creating and maintaining systematic, high-quality data for your business would unlock the potential for better analytics and better ML solutions for your organization. Instead of investing in creating models for the multiple use cases, you want to address, put your data in the centre of your decision-making and build the data infrastructure that would allow you to create cutting-edge ML solutions to reach the quality necessary to make the ML investment profitable and protect your solutions from potentially hard to fix or costly deteriorations in performance.

And know that you are not alone in this. Andrew Ng is on a quest for higher data awareness and more and more useful content on the topic can be found on Data-Centric AI Resource Hub.

The data should show the way


The data-centric approach isn’t anything new. The applied Data Scientists and ML practitioners would always know that the data is the guiding light, the main ingredient for their recipes. What the data-centric approach emphasizes is that the marginal product of data-quality-related activities in many applications might be higher than in the model-related investment.

Let your data show you the way and allow a gradual shift from a model-centric to a data-centric mindset to help you rethink how ML projects are formulated and implemented.

Do you need a partner in navigating through times of change?


At Wiser, we specialize in delivering success and will be happy to accompany you through your data science and analytics journey, all the way into the stratosphere. Learn all you need to know about data science or just book a consultation with our team of experts to start your data science journey efficiently, with the right team on your side.

Maximizing Productivity and Profitability for MachineMax

Client in numbers

over 90%Accuracy in predicting machine needs
100,000+Machine hours tracked annually

Problem statement

  • Incrementally refactor the code base and release new features according to new standards without collapsing the legacy code base
  • Extend the existing product with new features and improve UX by enhancing user interfaces 

Approach and solution

  • Developed a new customized UI component system and redesigned the whole UI of the app
  • Enhanced user engagement through detailed weekly analytics and reports 
  • Profound visualization of the data & ML predictions

Impact achieved

  • Custom UI Component System: Created a new, customized UI component system and redesigned the entire UI of the app.
  • Enhanced Data Visualization: Implemented profound data visualization tools.
  • Customizable Email Templates: Developed highly customizable email templates for effective user engagement.
  • Improved UX Satisfaction: Enhanced user experience with new UI tools.
  • Smooth Transition: Achieved a smooth transition from the legacy codebase without breaking functionality.

Expertise and scope

  • Tech Stack: React.js, Redux, Go, Python, Google Cloud Platform, SQL

Overview

MachineMax is an award-winning global company based in London UK that provides an equipment management platform for off-highway heavy machinery users to maximize the profitability of every machine in their fleet… any make, any model, anywhere!

20-30 Million Heavy Machines worldwide are unable to provide meaningful insights to industries such as Construction, Mining, Manufacturing (material handling), Agriculture, Forestry, Waste recycling, and Infrastructure (e.g., ports).

Leveraging Internet of Things (IoT) technology, MachineMax is a breakthrough machine analytics service that helps construction and mining companies maximize profitability by increasing machine utilization and reducing fuel consumption and CO2 footprint.

Challenges

The company has an MVP that worked well and was developed three years ago. After gaining a pool of constant customers and attracting new investors the company decided to extend the product with new features and improve UX by enhancing user interfaces. The old codebase didn’t fit well with new requirements so the company decided to incrementally refactor the code base and release new features according to new standards. That created an issue of properly processing legacy code and incorporating new functionality with the old one. 

The Machine Learning module was added to the product to be able to give predictive analytics based on the deep learning of existing data and analysing trends. Therefore, predictive analytics results should be well represented in the front end.

Additionally experienced UX designer joined the team and worked closely with the existing UI designer. As a result, new flows of usual processes have been developed and implemented in the front end.

Also, the company decided to enhance user engagement and start sending detailed weekly analytics email reports for the users with key indicators.

Solution 

All the new and refactored code has been stored in a separate Portal folder to avoid collapsing with the legacy code base.

There was developed a new Design Component system based on Material UI but customised for its own purposes including supporting several coloured themes. 

Main flows were implemented as multistep forms with a focus only on grouped data with the ability to check selected information in the final step. All main user actions were gathered in the user panel right under the main navigation bar. This user panel contains an icon button for applying filters, searching, downloading reports and adding new machines/groups/geofence etc.

All table pages with aggregate data and dashboard were enriched with sticky horizontal and vertical headers, the ability to scroll by many means (scrollbar, mouse dragging, special button indicators) and a predefined filter and date range. Additionally, new metrics have been added like shifts and off-hours.

Data analytics including ML predictions were implemented with the D3 library for profound visualisation and the ability to see all data segments. The general stats were represented with popular graphs in the Chart.js library.

New email templates have been developed to support images of graphs with data analytics for a week. Also, these templates were optimized to render conditionally supported/unsupported pieces of analytic data with the support of all popular email agents including Outlook Windows. We use a combination of tools such as MJML email framework, Handlebars template engine and integration with Quickcharts.io based on Chart.js.