Av Anders Ekdahl

Din data är inte tillgänglig

2021-09-18

Composable Commerce & Omnikanal

Ju mer komplex ehandels-världen blir och ju fler system som är inblandade desto viktigare är det att ha koll på sin data. Men nästan ännu viktigare är att datan är tillgänglig. Ju fler system du har, desto mindre är sannolikheten att din data är just tillgänglig, iaf inte i sin helhet. Jag har tappat räkningen på hur många gånger jag hört e-handels-chefer uttrycka en önskan om att vara mer snabbrörlig, att snabbt kunna sätta upp en ny kanal och testa. Men att det blir ett för stort projekt så man mäktar inte med det. Varför blir det så?

Den absolut största anledningen till det är för att man har inte sin data lätt-tillgänglig för en ny kanal. När den nya kanalen ska upp behöver den sannolikt data från flera olika system. Man kanske har en e-handel och vill sätta upp skärmar i sina butiker, och skärmarna behöver åtminstone produkt-data men antagligen mer än så. Det e-handel-system eller PIM-system man har kanske inte har de allra modernaste APIer för att få ut datan, eller så har man valt att inte ta in all data i e-handeln och då ska helt plötsligt skärmarna få data från flera ställen. Och det som kändes som en lätt och snabb grej blir helt plötsligt något stort.

Det är lätt att luras och tänka att om man bara går till en composable arkitektur så blir allt så mycket enklare, men ofta blir det precis tvärtom. I en composable arkitektur sprider man ofta ut data till olika system eftersom att de olika systemen gör ett färre antal saker men gör dessa riktigt bra. Och sannolikheten att ett av systemen sitter på all data som behövs är ganska låg.

Det är också lätt att luras och tänka att om man har ett BI-system eller data lake/warehouse-system så är problemet löst. Men de systemen är framför allt tänkta för data-insamling och analys, inte att föda andra system med data i olika format.

Hur ska man göra då?! Om man nu har sin e-handel och man vill få upp de där skärmarna så är det lockande att bygga en integration mot sin e-handel så att skärmarna hämtar data därifrån. Kanske man tvingas skicka mer data till e-handeln även fast den datan bara ska skickas vidare. Men då har man bara löst problemet här och nu, och man hamnar sen i precis samma sits när det är dags för nästa kanal. Den nya kanalen kommer nästan garanterat ha andra data-krav än den förra.

Samla all data på ett ställe

För att stödja att sätta upp nya kanaler behöver du samla all din data på ett ställe. Vilket kan kännas bakvänt i dagens best-of-breed- och composable-sökande värld, att introducera en stor monolit vad gäller data. Men det negativa med en monolit är när man blandar ihop data med logik, att allting sitter hårt ihop. Här handlar det bara om att tillgängliggöra data som finns i flera andra system så att den ska bli mycket enklare att konsumera.

Vilket system är bäst lämpat för det då? Det är möjligt att du redan har ett eller flera system som hade kunnat vara lämpat för det. De viktigaste kraven du behöver ställa på ett sånt system är:

1. Kunna hantera många olika typer av data. Du vill inte bara skicka in produkt-data hit utan all din data. Kunder, ordrar, produkter, priser, kategorier, CMS-content, alltihop. Systemet du väljer behöver ha flexibel modell för att kunna hantera det.

2. Sök och filtrering. Vissa kanaler kanske vill synka ut data periodiskt medan vissa kanaler kommer vilja ställa realtids-frågor. För att möta de kraven behöver systemet kunna hantera sökning och filtrering. Har systemet stöd för GraphQL är det ännu bättre.

3. Hög prestanda och skalbarhet. Systemet behöver ha en bevisad hög prestanda för att kunna supporta de kanaler som behöver göra realtids-frågor. Ett svar på 300 millisekunder är inte snabbt nog, du behöver sikta på svarstider helst en bra bit under 100 millisekunder. Och ju fler kanaler du skaffar dig desto viktigare är det att det är skalbart och kan hantera den ökade trafiken.

4. Kunna hantera data från många källor. Du kommer vilja skicka in data från flera olika system in hit, och flera källor ska berika samma entitet. T.ex. kommer din produkt-data från ditt PIM medan produkt-priserna kommer från e-handeln eller affärssystemet. Systemet måste kunna hantera partiella uppdateringar av en och samma produkt/kund/etc.

5. Kunna styra innehåll och sortering baserat på relevans. Ett use-case här är förstås att lista produkter och de vill man sortera så att den mest relevanta produkten hamnar först. Eller att en lista av artiklar ger den mest relevanta artikeln först.

Det finns många vägar att gå här. Billigaste vägen är att själv sätta upp Elastic Search som är en open-source-sökmotor och skicka in data dit. Eftersom det är en sökmotor hanterar den sökningar och avancerad filtrering automatiskt. Den är även väldigt kompetent vad häller olika typer av entiteter.

Har man redan en fristående sökmotor till e-handeln är det också ett alternativ. Kontakta företaget bakom sökmotorn för att få deras syn på det. Det finns också ett intressant alternativ här som är Occtoo. De ligger verkligen i framkant vad gäller att tillgängliggöra data. Vi har inget samarbete med Occtoo och får ingen kickback för att nämna dem, men det är alltid intressant när det kommer nya spelare som tar nya tag på en e-handlares utmaningar.

Att samla in all data på det här sättet kan förstås bli ett stort projekt i sig självt, men man måste börja nånstans. En bra väg kan vara att inte börja med en riktig försäljningskanal utan något enklare. De flesta e-handlare genererar en uppsjö olika feeds till olika system, t.ex. en Google Shopping-feed, en Facebook-feed, en Prisjakt-feed, etc. Ett första steg kan vara att samla in tillräckligt med data för att generera dessa feeds. Har man kommit dit har man tillräckligt mycket produkt-data i systemet för att t.ex. kunna bygga en skärm-i-butik-lösning utan särskilt stor insats. Får man sen in kunder och ordrar kan man bygga ett gränssnitt kundtjänst kan använda för att söka upp kunder. Ju mer data du samlar in desto mer nytta får du, men du behöver inte skjuta in all data på en gång.

Till slut sitter du på tillräckligt mycket data för att mycket snabbare kunna öppna nya kanaler än innan. Men minst lika intressant är att du blir mindre beroende av vilka system du har i ditt landskap. Ifall andra system är beroende på din data snarare än specifika system är det lättare för dig att ändra vilka system du har.

Alla problem är förstås inte lösta bara för att datan är tillgänglig. Att genomföra köp, att logga in, att bli notifierad när en vara är slut i lager, etc är alla saker som en ny kanal också kan behöva. Men många av de sakerna kan komma i senare steg, och det mest grundläggande är att få ut datan.

Om det är svårt att få ut datan kommer man inte ens orka försöka.

Anders Ekdahl

Anders är hjärnan bakom de tekniska e-handels-ramverken som tagit Nordic Nest, Lyko, NA-KD, Filippa K, Kicks, m.fl. från lovande digitala initiativ till ledande e-handelsaktörer.

I sin roll som CTO och chefsarkitekt för Sveriges främsta e-handelskonsult har han lett över 200 utvecklare till framgång. Med sin förmåga att kombinera teknik, strategi och affärsvärde har Anders en djup insikt om vad du som e-handlare behöver för att nå och överträffa dina mål.

Epost: epost

Commerce Mind

Commerce Mind är ett oberoende specialistföretag inom e-handel. Vi hjälper dig med allt från KPIer till teknik och arkitektur till processutveckling och upphandling.

Läs mer om vårt erbjudande här

Tveka inte på att kontakta oss ifall du vill röra dig snabbare.