Client
The client is an international company that specializes in the production and sale of sanitary equipment and bathroom furniture. The company's portfolio includes 30,000 items under 10 brands. The company manufactures products at six plants in Europe, Russia, Belarus and China.
The company's products are sold through its own online store, on five marketplaces, as well as through a network of distributors in Russia and Europe. Client works with dozens of counterparties, from large chains of plumbing stores and goods for construction and repair down to small entrepreneurs.
The client plans to scale up the business manyfold, expanding the range by about 100,000 items every three months.
Problem
At the end of 2022, information about the customer's products was distributed across Excel spreadsheets and files in Google Docs. In this format, it was not possible to track:
- who changed the data in each file, when and how;
- whether the data in each individual file is up to date (each time client's managers had to re-check the product information);
- how data packages are generated for each new counterparty.
At the same time, creating a commercial offer and uploading it for each new counterparty (or updating the product range for an old partner) each time became a manual task: the manager sat down and independently generated a new Excel file with the range and set of attributes that the partner needed. This process was the same when working with large marketplaces like OZON and with any individual entrepreneur.
Even with an assortment of 30,000 items, the client incurred significant organizational costs.
Objective: to ensure sales scalability and reduce labor costs to maintain high-quality data even as the product range grows
The client's team planned to increase the range of products and the geography of sales. The previous approach to storing, collecting and sending information about goods did not comply with the company's development plans. A multiple increase in the range would make it necessary to proportionally increase the team of specialists responsible for working with product information.
Costs would increase exponentially, and so would the risk of mistakes.
As a solution, the KT.Team proposed the implementation and configuration of the Pimcore PIM system, which was supposed to:
- centrally store information about goods;
- ensure transparent and controlled data quality in each card (it is clear what changed, by whom and when);
- reduce manual labor through calculated attributes, reference values and automatic uploads;
- provide simple links between product cards and media files;
- provide tools for upselling and increasing the average check (product sets).
Result 1: up to 100,000 new items can be added to the system in an hour and a half
Pimcore supports bulk downloading of product information in Excel spreadsheet format.
This allows client to quickly create new product cards: it takes only an hour and a half per 100,000 new items. At the same time, the tables include both product descriptions and reference values — colors, materials, dimensions, etc.
Further refinement of product cards is no longer a black box for the whole team. Pimcore keeps a history of changes. This means that user can always find out who made changes to cards, directories, and product categories.
Result 2: goods are uploaded for a partner in 10 seconds
Each dealer or marketplace that sells customer products has its own product information requirements.
OZON requires a standardized name, description, dimensions, color in a specific format and standard, and hundreds of other parameters. The name, series, and dimensions of the product are enough for aт entrepreneur Ivanov: he sells plumbing offline, and his customers can see the color of the items they purchase for themselves. А Santechnologist LLC does not take into account the collection's range when forming assortment...
Previously, customer employees stored all product data in spreadsheets and Google Docs. And each time they re-designed the upload plan for the partner, taking into account his requirements.
In Pimcore, you can set up an unlimited number of uploads, that is, lists of rules that form a database for a partner. You can create a new upload as follows:
- customize a user template using standard and custom operator templates (these operators are responsible for how information from a specific field on the product card will be recorded in the table);
- create a correspondence table, for example, for colors (for example, when the brand's catalog contains snow-white, milky and neutral white, and the marketplace standards contain only plain white, using the correspondence table you can unify the color values in the upload for the marketplace).
This allows client to skip the repeated process of collecting and adjusting data when the need arises again. It is enough to create a rule for a specific counterparty only once: specify a set of attributes and rules for recording them. All subsequent uploads will be generated according to this rule in one click. 10 seconds — and the file is ready.
Result 3: system performance does not depend on the number of media files associated with products
Each item in the client's catalog corresponds to at least 10 media files: photos from different angles and with different backgrounds, certificates, videos. These media files are updated regularly: new content is added, some items are updated.
Client managers can upload up to 100 gigabytes of files at a time!
The client had requirements for optimization and an accelerated, progressive process of working with media. If the entire volume were stored inside Pimcore, each download would significantly reduce system performance. Plus, standard procedures, such as generating previews and thumbnails, took additional resources.
As an alternative, we proposed the WebDAV protocol. It allows you to upload media through an interface similar to a familiar explorer.
WebDAV allows you to send media content to the service's own storage, link files to product cards in Pimcore, without overloading Pimcore itself.
Pimcore automatically links files uploaded to WebDAV to product cards. For this purpose, KT.Team has developed a media binding rule. The link to the file must contain the item number and the file serial number. That is, for article 3485794, all links will look like 3485794-1, 3485794-2, etc.
However, using WebDAV does not make it possible to see thumbnails of all media files related to a particular position in Pimcore. These thumbnails are generated directly into the file storage and are uploaded to the PIM card ready.
Result 4: a customer can sell both individual items and related sets up to 12 items, increasing the average check
Customers often choose plumbing and bathroom equipment in a comprehensive manner: they simultaneously buy showers, sinks, toilets, faucets, and furniture. For a buyer, typing a set of one item in each category is long, expensive (you must adhere to the general concept yourself) and risky, because the same white color in different collections, and even more so from different manufacturers, can vary significantly.
The client, in turn, wanted to offer sets of matching items to help customers choose — and, as a result, increase the average check and sales.
The kit generation function is not included in the Pimcore boxed solution. Therefore, at the client's request, we have improved the ability to combine items into sets of 2 to 12 items.
The kit is created manually, but the same sets can be added to uploads for different dealers, helping them increase sales.
Classification Store: an option that allows you to work with a catalog of any complexity without slowing down Pimcore
The client has a complex catalog with many categories and subcategories.
For example, the company sells not just “sinks”, but “hanging sinks” and “built-in sinks”. Each of these categories has unique characteristics: colors, materials, the location of the faucet hole, the shape of the sink, the depth, etc. When a category is transferred to Pimcore, each of these unique characteristics is converted into a new class, that is, a directory of available values.
When designing Pimcore for the customer's needs, the KT.Team determined that about 300 reference classes would need to be entered in order to transfer the catalog correctly. At the same time, Pimcore is able to process no more than 30 classes without loss in performance.
We suggested using the Classification Store option. This is one of Pimcore's boxed options, which stores existing directories separately without weighing down the system core. The content of each directory is loaded only when it is needed, not when you log in to Pimcore. The system does not slow down, and there is no need to re-enter repeated values for new products each time.
The boxed version of the Classification Store was also not enough, as it did not meet all customer needs. For example:
- did not filter for several attribute values at the same time — only filtering by one value is available out of the box;
- did not allow you to adjust the custom field width;
- did not display hints for filling in attributes correctly;
- did not output Classification Store attributes to a predefined cell and did not allow products to be edited in bulk using these attributes;
- did not ensure that links to media files were formatted in the same way for the product class and Classification Store, etc.
The KT.Team has finalized these options to meet the customer's needs.
The Classification Store option was activated at a time when the client's users had already started working in the system and were accustomed to working with classes. It took several weeks to adapt to the new functionality, but when the system was fully deployed, users appreciated the convenience of this approach.
This is what the interface for working with Pimcore looked like using classes (directories):
And so — with the Classification Store.
Long class creation and mapping with Classification Store
The introduction of the Classification Store not only led to a long transition period, during which the client's team was trained to work according to new standards. With the Classification Store, it takes at least a few tens of minutes to establish each new class and set up mapping — using standard classes took almost no additional time.
This process will not become much faster over time, since mapping will require logic development every time.
Results:
- Goods are unloaded for a partner in 10 seconds instead of several days, regardless of the number of items.
- Downloading 100 gigabytes of files does not slow down the PIM system.
- The plans for 2024 are integration with marketplaces, which will reduce the amount of manual work with the catalog, optimize the function of creating sets, refining the functions for working with photo content for business tasks, etc.