Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date,...

17

Transcript of Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date,...

Page 1: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.
Page 2: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Basic Model: Retail Grocery Store

Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales Dollar Amount,

Cost Dollar Amount, Gross Profit Dollar Amount.

Page 3: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Model

DATEDateKeyAttributes

STOREStoreKeyAttributes

PROMOTIONPromotionKeyAttributes

PRODUCTProductKeyAttributes

POS FACTDateKeyProductKeyStoreKeyPromotionKeyPOSTransactionNumberSalesQuantitySalesDollarAmountCostDollarAmountGrossProfitDollarAmount

Page 4: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Possible Date Attributes SQL date Full date description Day of week Day of month Day of calendar year Day of fiscal year Month of calendar year Month of fiscal year Calendar Quarter Fiscal Quarter

Fiscal week Year Month Fiscal year Holiday ? Holiday name Day of holiday Weekday ? Selling season Major event etc.

Page 5: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Possible Product Attributes

Description SKU number Brand description Department Package type Package size Fat content Diet type Weight

Weight units of measure

Storage type Shelf unit type Shelf width Shelf height Shelf depth etc.

Page 6: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Possible Store Attributes

Store Name Store Number Street address City County State Zip Manager District

Region Floor plan type Photo processing type Financial service type Square footage Selling square footage First open date Last remodel date etc.

Page 7: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Possible Promotion Attributes

Promotion name Price reduction type Promotion media Ad type Ad agency Display type Coupon type Promotion cost

Begin date End date etc.

Page 8: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Factless Fact Tables

In order to evaluate promotions that might have generated no sales we need another approach.

Promotion could generate another fact table (or could be considered a fact table in itself). That new fact table would have no additive attributes.

Page 9: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Conformed Dimensions: Inventory Snapshot Model

Process: Store inventory Grain: Daily inventory by product and store Dimensions: Date, product, store Fact: quantity-on-hand

Page 10: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Dimensional Model

DATEDateKeyAttributes

STOREStoreKeyAttributes

PRODUCTProductKeyAttributes

Inventory FactProductKeyDateKeyStoreKeyQuantityOnHandQuantitySoldValueAtCostValueAtSellingPrice

Note: QuantityOnHand is semi-additive. It is additive across product and store, but not across date. The other attributes are additive.

Page 11: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Conformed Dimensions

Common dimensions for different processes should be the same.

Note: Dimensions for roll-up or aggregated fact tables my add or eliminate attributes based on the aggregation Where attributes apply, they should mean the same thing.

Page 12: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Process

Date Product Store Promotion Warehouse Vendor Contract Shipper

Retail Sales X X X X

Retail Inventory X X X

Retail Deliveries

X X X

Warehouse Inventory

X X X X

Warehouse Deliveries

X X X X

Purchase Orders X X X X X X

The Bus Matrix

Page 13: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Slowly Changing Dimensions

Attributes in a dimensional table that change over time. Three approaches

Type 1: overwrite the old value

Type 2: create a new dimensional record

Type 3: create a “previous value” attribute

Page 14: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

ExamplesProductKey Description Category SKU

21553 LeapPad Education LP2105

ProductKey Description Category SKU

21553 LeapPad Toy LP2105

ProductKey Description Category SKU

21553 LeapPad Education LP2105

44631 LeapPad Toy LP2105

ProductKey Description Category OldCat SKU

21553 LeapPad Toy Education LP2105

Type 3

Type 2

Type 1

Original

HybridProductKey Description Category OldCat SKU

21335 LeapPad Electronics Education LP2105

44631 LeapPad Electronics Toy LP2105

68122 LeapPad Education Electronics LP2105

Page 15: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

More about dimensions

Views for dimensions used for different purposes e.g. StartDate and EndDate

Junk dimensions for flags and miscellaneous categories removed from the fact table

Degenerate dimensions have no attributes Usually reserved for order number or something

similar

Page 16: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Accumulation Snapshot

State change summary that has one row per item.

Access rows on each update.

Page 17: Basic Model: Retail Grocery Store Process: Retail Sales Grain: POS line item Dimensions: Date, Store, Product, Promotion Facts: Sales Quantity, Sales.

Multiple Granularities

Product sales vs. Annual quota Line item cost vs. Order shipping cost