Implementing PIM solutions into existing B2B solutions can be extremely complex. It requires a great number of custom-made solutions, adjusting to specific business requirements, and matching the company’s structure. Here’s what we see as the biggest challenges, and how we overcame them!
Challenge 1: Ensuring high-quality of a huge number of items and their attributes in the database
In general, handling a large dataset is a difficult problem. In terms of PIM solutions, it gets even harder as the number of relations and structured attributes grows exponentially. A few hundred products with a moderately complex data model can take up to millions of rows in a database. It’s even harder to maintain the quality of these data.
One of our partners, TIM, who is the biggest electro-technical goods distributor in Europe, had over 170,000 products in-store, each with multiple attributes describing them, which had to be organized in a product information management system. Others reached up to 650,000 products in a single database.
Fortunately, a PIM solution can be easily scaled. Therefore, it is usually not a hurdle that we have to overcome. In the case of a larger PIM system, there are two crucial elements: optimization of the database configuration and monitoring performance after each future change. After that, most of the work on product management is sent to a separate process and done in the background.
Another thing to keep in mind is the quality of data. Some PIM solutions, like Pimcore, have many built-in features that can help PIM admins with their duties. The Data Grid is one of them. Thanks to a configurable main-view, each team member can focus on the information that he’s working with. A Product Manager can select columns from the product data model and save the column set for future use, or even to share with other people in his group. Then columns can be filtered to get products to work on. In the next step, product data can be changed directly from the data grid view. This is very handy when you need to work on a large amount of product data.
Other useful features include: custom views, custom layouts and perspectives, which are based on user roles and display a different scope of data to work on. In this case, the Pimcore administration panel can be altered and show only information related to a given user role, and this can be done at different levels, displaying different product data models, structured data trees, and even the parts of the system a user will see after logging to the PIM.
Thanks to this, Pimcore’s admins and users see no degradation in the performance of the system – no matter if they have to manage a couple hundred or a couple million products.
Challenge 2: Sharing product information between multiple companies
Let’s say that you are a part of a multinational company operating in over 30 countries. Entities in your company were acquired gradually, and each of them kept their local infrastructure. Now the time has come to connect them through the product information management solution.
For one of our clients, who was operating in several European countries, we had to implement a dedicated PIM solution based on MongoDB (a high-performance, NoSQL DB) and Apache NiFi (a flow programming tool). The new solution had to allow for the exchange of information between seven different Pimcore instances. In this case, each company used its own data model, which was an additional challenge – we had to take into account that the product data structures are not compatible between instances.
Nevertheless, there was a possibility to exchange information about compatible attributes. Thanks to MongoDB replica sets and the fault-tolerance of Apache NiFi, the solution was easy to manage, monitor, and scale.
Challenge 3: Managing content in multiple language versions
Companies selling their products in multiple countries are challenged by building consistent content adjusted to language and culture on local versions. This might sound quite easy when you work with two to three languages, but what about forty or fifty language versions?
Here also a product information management system will come in handy. While working with LOVI, we used Pimcore to provide a simple tool for adding new translations as well as to provide master product information to all entities across the world.
Lovi builds up over 40 language versions of their site basing on Pimcore’s PIM & CMS. Here’s Lovi’s case study.
Challenge 4: Items in the database must have an ETIM Classification
ETIM Classification is an industry-standard for sharing information about products. It has a three-level categorization of attributes, of which there can be tens of thousands. Multiplying this by the various versions of ETIM (ETIM4, ETIM5, ETIM6, ETIM7…), we end up with hundreds of thousands of attributes.
This could be a problem for any PIM solution. Luckily, Pimcore’s Classification store allows us to store multiple classifications like ETIM, eClass or even a custom one. And what’s best – without a performance penalty. It ends up being no challenge for Pimcore at all.
Challenge 5: Importing data with different formats
When we work with a group of companies, we often have to deal with various input data formats (like XML, JSON, CSV, Excel) and different data scopes (eg. EAN, name, photo) used in each of the companies. So implementing and importing features for each file can take a huge amount of developer time or even be impossible to accomplish.
The only solution for that is to use a configurable importer, which the end-user can configure by himself. Pimcore comes with a built-in feature that can import most formats and map data from the file onto the product model.
In this, and similar cases, we create generic importers which the client can configure himself, depending on the instance and format of the input data.
Challenge 6: Reliability of a PIM solution
With each B2B company, there is a great number of solutions that have to be integrated with the PIM system. These might be ERP, translation services or even other PIMs.
Usually, each new feature or function must work on every instance, regardless of its configuration. Continuous integration, delivery and deployment is a must. For us, the best way to make CI/CD seamless is by taking a modern approach to deployment by implementing Docker and Kubernetes. This combination gives us the possibility of early detection of errors by building applications before deployment, testing them and deploying them automatically. Thanks to the use of Kubernetes, we also gain the ability to scale the application in an easy way and the possibility of a virtually immediate response to growing demand for resources.
These challenges are among the most common in PIM implementations in the B2B sector. By leveraging Pimcore software, we were able to overcome all of these challenges and provide our partners with flexible and scalable solutions thanks to which they now serve consistent product information across multiple touchpoints.
Let us know in the comments if you have encountered any other issues with your PIM implementations!