E-commerce platform
The digital storefront: sessions, baskets, orders and the fulfilment promise made at checkout.
01 What it holds
The data inside it
Behavioural data at enormous volume alongside transactional data at ordinary volume, which is why the two usually end up in different systems and are never joined.
Session, Product / Variant, Cart, Order, OrderLine, Customer account, Promotion, Fulfilment, Return
02 Getting the data out
Extraction, and the keys that decide whether it joins
Platform APIs and webhooks for orders, a separate analytics or clickstream export for behaviour. Webhooks are at-least-once, so idempotent handling is mandatory rather than optional.
Guest checkout means an order can exist with no customer identity beyond an email. Order and basket identifiers differ, and marketplace orders arrive with the marketplace as the customer.
03 What goes wrong
The failures that look like success
Each of these produces a number that is plausible, reconciles to something, and is wrong. They are worth reading before the first extract, not after the first dispute.
Guest orders fragment the customer
The same shopper appears as a registered account, a guest email and a marketplace order, so frequency and lifetime value are computed on fragments.
Behavioural and transactional data separate
Conversion is measured in the analytics tool and revenue in the platform, on different definitions of a session and an order.
Promotions applied at several levels
Basket, line and shipping discounts stack, so net revenue per line needs the allocation rule to be explicit.
Returns arrive much later
An order is profitable until it is not. Any margin view built at order date overstates reality in returns-heavy categories.
04 Joins that matter
What this system is worth joining to
| Join to | What it lets you answer |
|---|---|
| POS | the same shopper in store and online |
| WMS | the fulfilment cost of the promise made at checkout |
| Loyalty | identity across channels, which is the only route to a real customer view |
05 Metrics it feeds
The numbers that come out of it
06 Questions
Frequently asked
What is the highest-value join for an online retailer?
Order to fulfilment cost to return. It converts a revenue report into a contribution report, and it usually reorders which categories look attractive.
How should marketplace orders be treated?
As a separate channel with its own commission and its own customer identity problem. Rolling them into direct sales hides both the margin difference and the fact that you do not own the customer.
Connect this system without replacing it
SCIKIQ reads it in place, resolves the entities inside it and governs what the fields mean.