Rethink e-commerce architecture

You haven’t read posts from me since a couple of years. My last post was about the development of Magento under the full control of Ebay and this is over 2 years ago. A lot of things have happened since then: new Magento projects and events like Meet Magento or the Developer Paradise where I always enjoy to meet the Magento community. Also, I enjoy a lot to discuss with e-commerce leaders from retailers and brands about their challenges and goals. Especially retailers with brick-and-mortar stores are facing a very quickly growing competition with strong digital pure players like Amazon. I like to read german e-commerce blogs Exciting Commerce by Jochen Krisch and Kassenzone by Alexander Graf which are covering these challenges quite well.

The question “how to enable my clients to successfully deal with this situation?” has bugged me a lot during these years. I believe that the only way to go is to focus on the customer: his needs, his experience connected to the brand (yes, a retailer is brand too), to surprise him in a positive way and never let him feel lost. I also think, that most of the e-commerce solutions out there are not capable of providing a sufficient technical platform for that!

My experience with online stores can be summed up with these examples: usually the online stores serve the same content for everybody, no matter if this is my first visit or if I am a loyal customer for years. The same content for female customer as for male customers. And let’s not forget mobile: most mobile store are just a view on the content and functionality you see when you use a desktop/laptop or tablet. This means I get the same content when I am walking on the street with a coffee to go in one hand and my smartphone in the other as when I’m sitting comfortably on my couch with my tablet. It’s just fitted to the smaller screen size. It feels soulless.

And since I have been designing and building online stores since nearly 10 years I know why this is the status quo: online shop solutions like Magento, Shopware, Oxid (to name a few) try to serve too much functionality from one solution and are crafted around static data models: category trees, page hierarchies, catalogues. There are more solutions which I don’t know good enough like Hybris or Demandware, but I think they share more or less the same core issues in their architecture approach. They are all violating following axioms I’ve started to believe in stronger and stronger the in last months:

  1. store front ends have to be as lean as possible
  2. essential data like products, customers, orders etc. mustn’t be kept redundantly
  3. all interactions of the customers have to be tracked and stored in one central system
  4. content must be connectable depending on dynamic contexts and not only in static category trees and page hierarchies

Sounds like a lot of theory? Let’s go a little bit deeper:

  1. Lean front ends: to have a lot of flexibility, fast release cycles and no risk of affecting business-critical processes applications which are responsible for presentation of content (products, branding, etc.) must be decoupled from applications which are responsible for processes like order handling, payment processing, risk management, complex price calculation and so on. This is why Project A  has built their own solution Yves & Zed with separate components for front end and backend.
  2. Keeping the essential data in one place and avoiding duplication and synchronization is something which minimizes the effort to build and maintain these processes and also to be able to act and react much faster on new insights instead of waiting for the next nightly full import. This has been a pain in the ass for years for me and usually nothing could be done about it because a lot of the legacy IT infrastructure couldn’t be replaced for political and financial reasons.
  3. By all interactions of the customers with the brand I mean all interactions: every visit and click in every front end application, every visit and purchase in a brick-and-mortar store, every call in the customer service, every post on social platforms like Facebook and Twitter and every return in the fulfillment has to be gathered in one place. Only then the call center agent can serve the customer quickly without asking too many unnerving questions. And only then the front end applications can serve the customer with relevant content and support him to fulfill his needs.
  4. It became already quite complex, but we shouldn’t forget dynamic contexts: we want to address customers according to their current interest and needs. A mother of two kids should see a different version of a homepage of a groceries store than a male college student. I would also be surprised in a positive way when I as a loyal customer receive a free umbrella with my order because the system knows that it will rain in my hometown on the next day. And when the parcel actually arrives on the next day 😉

I think that these are the reasons why the successful players are investing huge amounts of money in their own IT infrastructure. Because there is no solution on the market which covers all these requirements. Strong digital pure players are designing and building their own e-commerce architecture which are based more or less on the axioms above. There are data warehouse systems which collect and aggregate customer related data to be able to answer queries like: list me all customers which are interested in running and have shown interest (e.g. visited related products, searched for relevant terms) recently in running wear for cold temperatures because it will be cold in their hometowns in the next months. All of them receive a discount for sports apparel if they are active customers with revenue in the last years. And this is not only sent to them by email, but also presented in the online store. Their front end application are very fast and scalable. They do not use caching. Forget caching: there are no equal pages anymore expect your terms&conditions!

I will designate a lot of my time in the next months to think about e-commerce architecture and to search for suitable software components which follow the axioms and are designed and crafted around the customer needs and not the ERP system!

For all of you who haven’t stopped reading until now: you will find more posts about e-commerce architecture approaches, shop front end solutions, data warehousing and other topics covered in this post in the future. Let’s rethink e-commerce architecture!