Real-Time Inventory


Agenda

  • What is real-time inventory?

  • Solution

  • Demo

Inventory

What

is available

Where

[angle double down]

[shopping bag] Products

[angle double down]

[store] Nodes

Item Availability

  • Buckets for supply & demand tracking

  • What’s really available?

    • Available to Promise (ATP)

    • supply - demand

Business Benefits

  • Omni-channel view

  • Optimize inventory and supply-chain

  • Yield management

Architecture

inventory architecture

Challenge #1: Performance

  • Volume

  • Velocity

Performance

web performance

Challenge #2: Accuracy

  • Consistency between stores and datacenters

  • Geo-distribution

Inventory Inaccuracy

  • Poor customer experience

  • Shopping cart abandonment

  • Reduced brand-loyalty

  • Remediation: refund, waiting list, cancellation, …​

Inventory Consumers

  • e-Commerce

  • Find/Reserve in Store

  • Order Sourcing

  • Store Allocation

Inventory Queries

Finding inventory for:

  • Node and SKU

  • Set of SKUs and store capabilities

  • Set of SKUs in a geographic area

⇒ RediSearch to the rescue

Demo: Brewdis

brewdis architecture

Data Model

KeyOnHandAllocatedHold…​

store1:sku1

1012

100

10

store1:sku2

123

20

0

store2:sku1

367

46

1

Requests

For a given Node and SKU
FT.GET inventory store1:sku1
For a given set of SKUs and store capabilities
FT.SEARCH inventory "@sku:{sku1 | sku2} @capability:{POBox ShipToStore}"
For a given set of SKUs in a geographic area
FT.SEARCH inventory "@sku:{sku1 | sku2} @location:[-72 34 10 mi]"

What’s next

  • Active/Active RediSearch indexes

  • Server-side updates & streaming with Gears

Resources

This presentation