The Importance of MDM
In the fast-paced world of technology, it’s easy to be captivated by the allure of artificial intelligence. As organizations seek to gain value out of data, AI models garner the spotlight, and a building block to unlock their potential is strong Master Data Management (MDM).
Generally MDM doesn’t receive the public attention it deserves. The truth is, as companies want to unlock the power of data this starts with strong MDM. Especially organizations with legacy MDM systems struggle to get value out of data, let alone adopt AI.
MDM is the practice of creating and maintaining a centralized and accurate repository of an organization’s core data. MDM ensures data consistency and quality across an organization’s systems and processes.
Picnic is the grocery store in your pocket, making grocery shopping convenient and time efficient. By operating without physical stores and through efficient delivery routing, Picnic can offer low prices. Besides, Picnic sources food from local suppliers such as farms and bakeries to ensure freshness.
At Picnic, MDM encompasses a wide array of related entities such as products, suppliers, images, prices, promotions, recipes and more. This data is consumed by almost all our software systems such as our app, our purchase order management system, warehouse management systems, fintech, data warehouse and data science systems.
The stakes are high — erroneous master data can mean over-ordering perishable products, leading to waste, showing wrong allergens in the app or offering wrong prices to our customers.
At Picnic, our journey building the best online supermarket has reaffirmed the importance of MDM as the bedrock for building a product customers love. To create the best online grocery experience and ensure flawless operations, mastering data management became a vital practice.
Picnic’s MDM Journey
Picnic was founded in 2015. Without legacy, we could adopt the most modern data practices from the get-go. Given Picnic’s high growth ambitions and plethora of software products built in-house, we knew scalability, customizability and integrability were key requirements for choosing our MDM technology.
After an initial set up with a more lightweight service for product data management we found a match in Salesforce’s cloud-based data platform, and used it to build our custom Product Information Management (PIM) system in 2018. Subsequently, we onboarded many different users to the system, ranging from Picnic’s Category Managers to Supply Chain Coordinators to configure our assortment and trade information.
In 2019, we also adopted Service Cloud for Customer Service, and in 2022 we built an Asset Management System as a MDM system for our fleet of electric vehicles, buildings and expensive equipment using Salesforce.
Around Salesforce, we maintain a set of Python services to interact with the data. A great example of this is the “Publish Cache” to expose master data to downstream systems.
In this blog, we highlight and share the learnings we gathered over time.
Building MDM — it’s like building a house!
Setting a foundation
When designing a MDM system, we love the analogy of building a house. Much like building a house, a MDM system requires a solid foundation — it all comes down to the data model.
At Picnic, we love the whiteboarding exercise of defining a logical data model for our business challenge, and translating it into a physical data model.
We think deeply about the model as we consider the choices here as “one-way door” decisions. Once you implement the data model, many applications will be built on top of it, and it’ll be very hard to make significant changes. So hard even, that it might be better to just start building a new house.
One guideline we do apply is to prefer simplicity. Not only is developing upon something simple easier, also business users will have less questions as usage is more straightforward saving scarce developer time.
When building a house, you’re faced with many choices. Building software is no different; trade-offs need to be made to make progress. MDM demands finesse in navigating trade-offs, be it security versus visibility or automation versus human intervention.
Consider our product range. Within our app, we sell thousands of products, all requiring meticulous upkeep. Some product attributes are specific to our various warehouses, and with a dozen operating Picnic fulfillment centers, we’re juggling tens of thousands of records. Every one of these records demands a human touch to ensure our supply chain operates seamlessly. For instance, take the case of determining where and how we source a product at a Picnic site — it’s just one example of these intricate configurations. While automating these processes can save time, it’s a balancing act, as excessive automation can compromise flexibility and making long-term maintenance a challenge.
On the software engineering side the unclear challenges of tomorrow underscore the importance of adaptability and foresight. To navigate the uncertainty, we often start with envisioning the ideal future state, and subsequently sculpting the path to that state. Starting with a robust vision helps navigate the intricacies of data management while delivering incremental wins.
Validation and Decoration
Once a strong foundation is laid for the house, you can start placing walls to create rooms, arrange wiring and install water pipes. Besides, we want to protect our house against burglars. These are critical functionalities which need to be designed carefully, but they’re more easy to adapt compared to the data model. Compare this in software to your automations, triggers, validations and security setup.
At Picnic especially validations need to be thought through. As mentioned earlier, even minor misconfigurations can have significant repercussions. For example, an innocent slip of a dot or comma in purchase price input could wreak havoc on our accounting. To prevent such mishaps, we’ve implemented safeguards that make it virtually impossible to alter purchase prices by a factor of 100 or more. We learned the hard way to proactively integrate validation into our design, and be disciplined when bugs occur: fix the hole in the wall asap.
At this point we have a house, but it’s an empty house. To make our house livable and pleasant, we put in stuff like furniture, paintings and plants. This is our front-end which should be easy to change but represents an integral part of creating a great user experience. One of the guidelines we apply is that for each introduced field, there must be a clear description of its purpose for users. Developer time is scarce, and being able to mitigate any user questions is worth the effort. A strong explanatory help text for your objects and fields accomplishes that.
Once all set, it’s time to welcome people into our house!
Maintaining and Developing
When you have built a house and you live in it, you need to maintain it, and clean it. Next to that, legislation might require you to install a fire alarm, or you decide to invest in solar panels. MDM systems are no different, they need to be kept clean, and further developed.
Effectively maintaining and developing a MDM system requires close collaboration between data and business teams. Business users typically own and maintain the master data. In our experience bridging the gap between tech and business requires a mutual profound understanding of the data model. This helps aligning teams and empowering smoother collaboration and informed decision-making. At Picnic, we try to make the data model details accessible, and have sufficient user documentation in place in case of enquiries.
While MDM may not always steal the spotlight in the tech world, it’s significance cannot be understated. As organizations strive to harness the potential of AI and data-driven insights, strong MDM serves as one of the foundational cornerstones. At Picnic, our journey towards building the best online supermarket has reinforced the pivotal role of MDM in creating a seamless customer experience and operational excellence. Institutions that grapple with getting value out of data should first and foremost evaluate their MDM setup. Start with the right foundation, so that ultimately you can build a great product that delights your customers!