How do I provide a world-class shopping experience for my visitors?

Making the impossible, possible
MWI Animal Health, one of the largest veterinary supply, distribution, and logistics conglomerates in the world asked us to help them turn their robust but utilitarian marketplace into a site that provides a world-class user experience to customers. Their goal was to make the purchasing process as convenient as possible for customers in order to make their life a little easier (something that is generally not seen amongst their competitors).

GeekHive collaborated with creative agency and user experience specialist Effective and MWI’s internal development team to design and build the most powerful user centric commerce platform possible.
We were in charge of the technology strategy and development piece of their rebranding effort which included recommending, then implementing, an entirely new commerce platform and content management system.
Adaptive Personalization at its Best
MWI has a complex and unique business model that deals exclusively with very large volume clients. Similar to the human pharmaceutical marketplace, the veterinary supplies MWI sells are highly regulated products, that vary state by state, jurisdiction by jurisdiction, making the rules engine requirements extremely complicated. Figuring out the best way to handle the requirements was an interesting tech challenge that we were eager to solve.
Adhering to MWI’s stringent product regulations, we couldn’t simply create a traditional search that showed all products to everyone, like Amazon. Instead, we created a system using Elastic Search that recognized who the user was and showed them only the specific products they were allowed to purchase based on factors including their location, DEA licenses, and pricing structure.
There were several factors to consider when designing this. The system had to be intelligent enough to understand multiple layers of information in order to show customers the correct products at the correct prices. In addition, prices and availability could change at any time and the system had to know this, and adapt, to be able to to go through over 30 thousand options to show customers results in less than a second.
We had to develop an intelligent search solution that could determine things like:
-
What products each customer might be interested in
-
Where customers are located
-
How to make results inclusive enough to show customers things they may want and need, but exclude things they cannot buy based on regulations and DEA licenses
-
What industry each customer is in and what their state’s regulations on specific products are
-
What pricing model is available to specific customers based on their contract, licensing, and location
-
Whether the user was a buyers agent for multiple customers or an individual purchaser
We helped MWI arrive at a solution that allows the storefront to manage billions of permutations of customer specific pricing and availability based on their login information.
The rules engine also had to be able to operate lightning fast, processing thousands of business rules to show potential product matches, sorted by cost, in less than a second. This was the biggest stressor for MWI’s team and they weren’t sure how they were going to handle it since it would have been impossible to manage all of the purchasing options and price variations in a traditional commerce administration interface.
Tools of Choice: Sitecore and InsiteCommerce
What we excel at is looking at the overall landscape of a project and organization's business goals and then breaking down a seemingly overwhelming set of requirements to find the best solution possible for our clients. For this project, we felt the best choice for MWI was the Sitecore platform because of its powerful search functionality, personalization capability, and content editor experience.
As an extendable product, we were able to efficiently customize the way Sitecore does search to accommodate customer specific product pricing and availability. We also used Sitecore as the 3rd party translation service between InsiteCommerce and their internal order warehousing and fulfillment systems.
A True Agile Approach
During the course of the project, we followed a strict Scrum approach, collaborating with their technology and business stakeholders through the use of daily stand-ups. The joint team set realistically-optimistic goals before every sprint and delved into specific details on a daily basis. All the teams were looped into every part of the process, even those that were not directly working on a specific area of discussion. Having daily check-ins made communication easy and prevented any undesirable “surprises” for stakeholders on demo day.
This approach gives business users the ability to refine and decide what they really want to accomplish based on cost and timing and to work in collaboration with their partners to get the best return on their investment.
Lessons Learned
With any long-term engagement, there are going to be some pain points along the way. When the Agile approach is used in a project, there exists flexibility for business leads to make changes on the fly to better meet the business needs as the product grows organically. There are times when these changes lead to unintended scope changes.
One way we have tried to keep these to a minimum is to communicate early and often when a change may have a lasting effect and possible alternative resolutions. Along with scope change on the end user or business side of things, there is also occasions where code level implementations could change or be tweaked in order to provide flexibility or reusability going forward. Sometimes we are able to see this ahead of time and account for this in the scope of the current sprint, but other times it needs to be communicated and backlogged.
Ultimately, most if not all pain points of this (or any) project could be resolved with direct communication as early and as often as possible.
Transparency helps lead to mutual success.
But Wait, There’s More
We continue to work with MWI on the next phase of the project, improving the back-end user interface and laying the groundwork for advanced customer functionality including an API to enable automated reordering of products based on tracking stock levels and usage.
I really enjoy working with the Geekhive team especially Justin, the lead developer, he's great. He asked all the right questions and filled a gap that was missing on the dev team. The collaboration on this project and daily touch points have kept things running smoothly and prevented surprises, overall we're ecstatic with the work being done.
— Josef Wagner, Development Manager, MWI Animal Health

