17. datawarehouse
TRANSCRIPT
-
8/13/2019 17. datawarehouse
1/84
1
Data Wharehousing, OLAP
and Data Mining
-
8/13/2019 17. datawarehouse
2/84
2
Acknowledgments
A. Balachandran
Anand Deshpande
Sunita Sarawagi
S. Seshadri
-
8/13/2019 17. datawarehouse
3/84
3
Overview
Part 1: Data Warehouses
Part 2: OLAP
Part 3: Data Mining
Part 4: Query Processing and Optimization
-
8/13/2019 17. datawarehouse
4/84
4
Part 1: Data Warehouses
-
8/13/2019 17. datawarehouse
5/84
5
Data, Data everywhere
yet ...
I cant find the data I need
data is scattered over the network
many versions, subtle differences
I cant get the data I needneed an expert to get the data
I cant understand the data Ifound
available data poorly documented
I cant use the data I found
results are unexpected
data needs to be transformed from
one form to other
-
8/13/2019 17. datawarehouse
6/84
6
What is a Data Warehouse?
A single, complete andconsistent store of dataobtained from a variety ofdifferent sources madeavailable to end users in awhat they can understand
and use in a businesscontext.
[Barry Devlin]
-
8/13/2019 17. datawarehouse
7/84
7
Which are ourlowest/highest margin
customers ?
Who are my customersand what products
are they buying?
Which customers
are most likely to goto the competition ?
What impact willnew products/services
have on revenue
and margins?
What product prom-
-otions have the biggestimpact on revenue?
What is the mosteffective distribution
channel?
Why Data Warehousing?
-
8/13/2019 17. datawarehouse
8/84
8
Decision Support
Used to manage and control business
Data is historical or point-in-time
Optimized for inquiry rather than update
Use of the system is loosely defined andcan be ad-hoc
Used by managers and end-users tounderstand the business and make
judgements
-
8/13/2019 17. datawarehouse
9/84
9
Evolution of Decision
Support
60s: Batch reports
hard to find and analyze information
inflexible and expensive, reprogram every request
70s: Terminal based DSS and EIS
80s: Desktop data access and analysis tools
query tools, spreadsheets, GUIs
easy to use, but access only operational db
90s: Data warehousing with integrated OLAPengines and tools
-
8/13/2019 17. datawarehouse
10/84
10
What are the users
saying...
Data should be integratedacross the enterprise
Summary data had a realvalue to the organization
Historical data held the key tounderstanding data over time
What-if capabilities arerequired
-
8/13/2019 17. datawarehouse
11/84
11
Data Warehousing --
It is a process
Technique for assembling andmanaging data from varioussources for the purpose ofanswering business questions.Thus making decisions thatwere not previous possible
A decision support databasemaintained separately fromthe organizations operationaldatabase
-
8/13/2019 17. datawarehouse
12/84
12
Traditional RDBMS used
for OLTP
Database Systems have been usedtraditionally for OLTP
clerical data processing tasksdetailed, up to date data
structured repetitive tasks
read/update a few recordsisolation, recovery and integrity are critical
Will call these operational systems
-
8/13/2019 17. datawarehouse
13/84
13
OLTP vs Data Warehouse
OLTP
Application Oriented
Used to run businessClerical User
Detailed data
Current up to date
Isolated DataRepetitive access by
small transactions
Read/Update access
Warehouse (DSS)
Subject Oriented
Used to analyze businessManager/Analyst
Summarized and refined
Snapshot data
Integrated DataAd-hoc access using
large queries
Mostly read access
(batch update)
-
8/13/2019 17. datawarehouse
14/84
14
Data Warehouse
Architecture
Relational
Databases
Legacy
Data
Purchased
Data
Data Warehouse
Engine
Optimized Loader
Extraction
Cleansing
Analyze
Query
Metadata Repository
-
8/13/2019 17. datawarehouse
15/84
15
From the Data Warehouse
to Data Marts
DepartmentallyStructured
IndividuallyStructured
Data WarehouseOrganizationallyStructured
Less
More
HistoryNormalizedDetailed
Data
Information
-
8/13/2019 17. datawarehouse
16/84
16
Users have different views
of Data
Organizationallystructured
OLAP
Explorers: Seek out theunknown and previouslyunsuspected rewards hiding inthe detailed data
Farmers: Harvest informationfrom known access paths
Tourists: Browseinformation harvestedby farmers
-
8/13/2019 17. datawarehouse
17/84
17
Wal*Mart Case Study
Founded by Sam Walton
One the largest Super Market Chains in
the US
Wal*Mart: 2000+ Retail Stores
SAM's Clubs 100+Wholesalers Stores
This case study is from Felipe Carinos (NCR Teradata)presentation made at Stanford Database Seminar
-
8/13/2019 17. datawarehouse
18/84
18
Old Retail Paradigm
Wal*Mart
Inventory Management
Merchandise AccountsPayable
Purchasing
Supplier Promotions:National, Region, StoreLevel
Suppliers
Accept Orders
Promote Products
Provide specialIncentives
Monitor and TrackThe Incentives
Bill and CollectReceivables
Estimate Retailer
Demands
-
8/13/2019 17. datawarehouse
19/84
19
New (Just-In-Time) Retail
Paradigm
No more deals
Shelf-Pass Through (POS Application)One Unit Price
Suppliers paid once a week on ACTUAL items soldWal*Mart ManagerDaily Inventory Restock
Suppliers (sometimes SameDay) ship to Wal*Mart
Warehouse-Pass Through
Stock some Large ItemsDelivery may come from supplier
Distribution CenterSuppliers merchandise unloaded directly onto Wal*Mart Trucks
-
8/13/2019 17. datawarehouse
20/84
20
Information as a Strategic
Weapon
Daily Summary of all Sales Information
Regional Analysis of all Stores in a logical area
Specific Product SalesSpecific Supplies Sales
Trend Analysis, etc.
Wal*Mart uses information when negotiating
withSuppliers
Advertisers etc.
-
8/13/2019 17. datawarehouse
21/84
21
Schema Design
Database organizationmust look like business
must be recognizable by business user
approachable by business user
Must be simple
Schema TypesStar Schema
Fact Constellation Schema
Snowflake schema
-
8/13/2019 17. datawarehouse
22/84
22
Star Schema
A single fact table and for each dimension onedimension table
Does not capture hierarchies directly
T
im
e
p
r
o
d
c
u
s
t
c
i
t
y
f
ac
t
date, custno, prodno, cityname, sales
-
8/13/2019 17. datawarehouse
23/84
23
Dimension Tables
Dimension tablesDefine business in terms already familiar to
users
Wide rows with lots of descriptive text
Small tables (about a million rows)
Joined to fact table by a foreign key
heavily indexedtypical dimensionstime periods, geographic region (markets, cities),
products, customers, salesperson, etc.
-
8/13/2019 17. datawarehouse
24/84
24
Fact Table
Central table
Typical example: individual sales records
mostly raw numeric itemsnarrow rows, a few columns at most
large number of rows (millions to a billion)
Access via dimensions
-
8/13/2019 17. datawarehouse
25/84
25
Snowflake schema
Represent dimensional hierarchy directly bynormalizing tables.
Easy to maintain and saves storage
T
im
e
p
r
o
d
c
u
s
t
c
i
t
y
f
ac
t
date, custno, prodno, cityname, ...
r
e
g
i
on
-
8/13/2019 17. datawarehouse
26/84
26
Fact Constellation
Fact Constellation
Multiple fact tables that share many
dimension tablesBooking and Checkout may share many
dimension tables in the hotel industry
Hotels
Travel Agents
Promotion
Room Type
Customer
BookingCheckout
-
8/13/2019 17. datawarehouse
27/84
27
Data Granularity in
Warehouse
Summarized data stored
reduce storage costs
reduce cpu usageincreases performance since smaller number
of records to be processed
design around traditional high level reportingneeds
tradeoff with volume of data to be storedand detailed usage of data
-
8/13/2019 17. datawarehouse
28/84
28
Granularity in Warehouse
Solution is to have dual level ofgranularity
Store summary data on disks95% of DSS processing done against this data
Store detail on tapes
5% of DSS processing against this data
-
8/13/2019 17. datawarehouse
29/84
29
Levels of Granularity
Operational
60 days ofactivity
accountactivity dateamounttellerlocationaccount bal
accountmonth
# transwithdrawals
depositsaverage bal
amountactivity dateamountaccount bal
monthly accountregister -- up to10 years
Not all fieldsneed be
archived
BankingExample
-
8/13/2019 17. datawarehouse
30/84
-
8/13/2019 17. datawarehouse
31/84
31
Data Transformation
Data transformation is the foundationfor achieving single version of the truth
Major concern for ITData warehouse can fail if appropriate
data transformation strategy is notdeveloped
Sequential Legacy Relational ExternalOperational/
Source Data
Data
Transformation
Accessing Capturing Extracting Householding Filtering
Reconciling Conditioning Loading Validating Scoring
-
8/13/2019 17. datawarehouse
32/84
32
Data Integrity Problems
Same person, different spellings
Agarwal, Agrawal, Aggarwal etc...
Multiple ways to denote company name
Persistent Systems, PSPL, Persistent Pvt. LTD.
Use of different names
mumbai, bombay
Different account numbers generated by differentapplications for the same customer
Required fields left blank
Invalid product codes collected at point of sale
manual entry leads to mistakes
in case of a problem use 9999999
-
8/13/2019 17. datawarehouse
33/84
33
Data Transformation
Terms
Extracting
Conditioning
Scrubbing
Merging
Householding
Enrichment
Scoring
Loading
Validating
Delta Updating
-
8/13/2019 17. datawarehouse
34/84
34
Data Transformation
Terms
Householding
Identifying all members of a household
(living at the same address)Ensures only one mail is sent to a household
Can result in substantial savings: 1 millioncatalogues at $50 each costs $50 million . A2% savings would save $1 million
-
8/13/2019 17. datawarehouse
35/84
35
Refresh
Propagate updates on source data to thewarehouse
Issues:when to refresh
how to refresh -- incremental refresh
techniques
-
8/13/2019 17. datawarehouse
36/84
36
When to Refresh?
periodically (e.g., every night, everyweek) or after significant events
on every update: not warranted unlesswarehouse data require current data (upto the minute stock quotes)
refresh policy set by administrator basedon user needs and traffic
possibly different policies for different
sources
-
8/13/2019 17. datawarehouse
37/84
37
Refresh techniques
Incremental techniques
detect changes on base tables: replication
servers (e.g., Sybase, Oracle, IBM DataPropagator)
snapshots (Oracle)
transaction shipping (Sybase)
compute changes to derived and summarytables
maintain transactional correctness for
incremental load
-
8/13/2019 17. datawarehouse
38/84
38
How To Detect Changes
Create a snapshot log table to record idsof updated rows of source data and
timestampDetect changes by:
Defining after row triggers to update
snapshot log when source table changesUsing regular transaction log to detect
changes to source data
-
8/13/2019 17. datawarehouse
39/84
39
Querying Data Warehouses
SQL Extensions
Multidimensional modeling of data
OLAPMore on OLAP later
-
8/13/2019 17. datawarehouse
40/84
40
SQL Extensions
Extended family of aggregate functions
rank (top 10 customers)
percentile (top 30% of customers)median, mode
Object Relational Systems allow additionof new aggregate functions
Reporting features
running total, cumulative totals
-
8/13/2019 17. datawarehouse
41/84
41
Reporting Tools
Andyne Computing -- GQLBrio -- BrioQueryBusiness Objects -- Business Objects
Cognos -- ImpromptuInformation Builders Inc. -- Focus for WindowsOracle -- Discoverer2000Platinum Technology -- SQL*Assist, ProReportsPowerSoft -- InfoMakerSAS Institute -- SAS/AssistSoftware AG -- EsperantSterling Software -- VISION:Data
-
8/13/2019 17. datawarehouse
42/84
42
Bombay branch Delhi branch Calcutta branch
Census
data
Operational data
Detailed
transactionaldata
Data warehouse
Merge
CleanSummarize
Direct
Query
Reporting
tools
Mining
toolsOLAP
Decision support tools
Oracle SAS
Relational
DBMS+
e.g. Redbrick
IMS
Crystal reports EssbaseIntelligent Miner
GIS
data
Deploying Data
-
8/13/2019 17. datawarehouse
43/84
43
Deploying Data
Warehouses
What business informationkeeps you in business today?What business information canput you out of businesstomorrow?
What business information
should be a mouse click away?What business conditions are
the driving the need forbusiness information?
-
8/13/2019 17. datawarehouse
44/84
44
Cultural Considerations
Not just a technology project
New way of using informationto support daily activities anddecision making
Care must be taken to prepare
organization for changeMust have organizational
backing and support
-
8/13/2019 17. datawarehouse
45/84
45
User Training
Users must have a higher level of ITproficiency than for operational systems
Training to help users analyze data in thewarehouse effectively
-
8/13/2019 17. datawarehouse
46/84
46
Warehouse Products
Computer Associates -- CA-Ingres
Hewlett-Packard -- Allbase/SQL
Informix -- Informix, Informix XPS
Microsoft -- SQL Server
OracleOracle
Red Brick -- Red Brick Warehouse
SAS Institute -- SASSoftware AG -- ADABAS
Sybase -- SQL Server, IQ, MPP
-
8/13/2019 17. datawarehouse
47/84
47
Part 2: OLAP
-
8/13/2019 17. datawarehouse
48/84
48
Nature of OLAP Analysis
Aggregation -- (total sales, percent-to-total)
Comparison -- Budget vs. ExpensesRanking -- Top 10, quartile analysis
Access to detailed and aggregate data
Complex criteria specification
Visualization
Need interactive response to aggregate queries
-
8/13/2019 17. datawarehouse
49/84
49
Month
1 2 3 4 765
Product
Toothpaste
JuiceCola
Milk
Cream
Soap
WS
N
Dimensions: Product, Region, Time
Hierarchical summarization paths
Product Region Time
Industry Country Year
Category Region Quarter
Product City Month week
Office Day
Multi-dimensional Data
Measure - sales (actual, plan, variance)
Conceptual Model for
-
8/13/2019 17. datawarehouse
50/84
50
Conceptual Model for
OLAP
Numeric measures to be analyzed
e.g. Sales (Rs), sales (volume), budget,
revenue, inventoryDimensions
other attributes of data, define the space
e.g., store, product, date-of-sale
hierarchieson dimensions
e.g. branch -> city -> state
-
8/13/2019 17. datawarehouse
51/84
51
Operations
Rollup: summarize data
e.g., given sales data, summarize sales for
last year by product category and regionDrill down: get more details
e.g., given summarized sales as above, findbreakup of sales by city within each region, orwithin the Andhra region
-
8/13/2019 17. datawarehouse
52/84
52
More Cube Operations
Slice and dice: select and project
e.g.: Sales of soft-drinks in Andhra over the last
quarterPivot: change the view of data
Q1 Q2 Total L S TotalL RedS BlueTotal Total
22 33 55
15 44 59
37 77 114
14 07 21
41 52 93
55 59 114
-
8/13/2019 17. datawarehouse
53/84
53
More OLAP Operations
Hypothesis driven search: E.g. factorsaffecting defaulters
view defaulting rate on age aggregated over otherdimensions
for particular age segment detail along profession
Need interactive response to aggregate queries
=> precompute various aggregates
-
8/13/2019 17. datawarehouse
54/84
54
MOLAP vs ROLAP
MOLAP: Multidimensional array OLAP
ROLAP: Relational OLAP
Type Size Colour Amount
Shirt S Blue 10
Shirt L Blue 25
Shirt ALL Blue 35
Shirt S Red 3
Shirt L Red 7
Shirt ALL Red 10
Shirt ALL ALL 45
ALL ALL ALL 1290
-
8/13/2019 17. datawarehouse
55/84
55
SQL Extensions
Cube operator
group by on all subsets of a set of attributes
(month,city)redundant scan and sorting of data can be
avoided
Various other non-standard SQLextensions by vendors
-
8/13/2019 17. datawarehouse
56/84
56
OLAP: 3 Tier DSS
Data Warehouse
Database Layer
Store atomic
data in industrystandard DataWarehouse.
OLAP Engine
Application Logic Layer
Generate SQL
execution plans inthe OLAP engine toobtain OLAPfunctionality.
Decision Support Client
Presentation Layer
Obtain multi-
dimensionalreports from theDSS Client.
-
8/13/2019 17. datawarehouse
57/84
57
Strengths of OLAP
It is a powerful visualizationtool
It provides fast, interactive
response timesIt is good for analyzing time
series
It can be useful to findsome clusters and outliners
Many vendors offer OLAPtools
B i f Hi t
-
8/13/2019 17. datawarehouse
58/84
58
Brief History
Express and System W DSS Online Analytical Processing - coined by
EF Codd in 1994 - white paper byArbor Software
Generally synonymous with earlier terms such as DecisionsSupport, Business Intelligence, Executive InformationSystem
MOLAP: Multidimensional OLAP (Hyperion (Arbor
Essbase), Oracle Express) ROLAP: Relational OLAP (Informix MetaCube,
Microstrategy DSS Agent)
-
8/13/2019 17. datawarehouse
59/84
-
8/13/2019 17. datawarehouse
60/84
60
Microsoft OLAP strategy
Plato: OLAP server: powerful, integratingvarious operational sources
OLE-DB for OLAP: emerging industry standard
based on MDX --> extension of SQL for OLAPPivot-table services: integrate with Office
2000
Every desktop will have OLAP capability.
Client side caching and calculations
Partitioned and virtual cube
Hybrid relational and multidimensional storage
-
8/13/2019 17. datawarehouse
61/84
61
Part 3: Data Mining
-
8/13/2019 17. datawarehouse
62/84
62
Why Data Mining
Credit ratings/targeted marketing:
Given a database of 100,000 names, which persons are the least likelyto default on their credit cards?
Identify likely responders to sales promotions
Fraud detectionWhich types of transactions are likely to be fraudulent, given the
demographics and transactional history of a particular customer?
Customer relationship management:
Which of my customers are likely to be the most loyal, and which are
most likely to leave for a competitor?:
Data Mining helps extract suchinformation
-
8/13/2019 17. datawarehouse
63/84
63
Data mining
Process of semi-automatically analyzinglarge databases to find interesting and
useful patternsOverlaps with machine learning, statistics,
artificial intelligence and databases but
more scalable in number of features andinstances
more automated to handle heterogeneousdata
-
8/13/2019 17. datawarehouse
64/84
64
Some basic operations
Predictive:
Regression
Classification
Descriptive:
Clustering / similarity matching
Association rules and variants
Deviation detection
-
8/13/2019 17. datawarehouse
65/84
65
Classification
Given old data about customers andpayments, predict new applicants loan
eligibility.
Age
Salary
ProfessionLocation
Customer type
Previous customers Classifier Decision rules
Salary > 5 L
Prof. = Exec
New applicants data
Good/
bad
-
8/13/2019 17. datawarehouse
66/84
66
Classification methods
Goal: Predict class Ci = f(x1, x2, .. Xn)
Regression: (linear or any other polynomial)
a*x1 + b*x2 + c = Ci.
Nearest neighour
Decision tree classifier: divide decision
space into piecewise constant regions.Probabilistic/generative models
Neural networks: partition by non-linear
boundaries
-
8/13/2019 17. datawarehouse
67/84
67
Tree where internal nodes are simpledecision rules on one or more attributesand leaf nodes are predicted class labels.
Decision trees
Salary < 1 M
Prof = teacher
Good
Age < 30
BadBad Good
Pros and Cons of decision
-
8/13/2019 17. datawarehouse
68/84
68
Pros and Cons of decision
trees
Cons
Cannot handle complicated
relationship between features
simple decision boundaries
problems with lots of missing
data
Pros
+ Reasonable training
time
+ Fast application+ Easy to interpret
+ Easy to implement
+ Can handle large
number of features
More information:
http://www.stat.wisc.edu/~limt/treeprogs.html
-
8/13/2019 17. datawarehouse
69/84
69
Neural network
Set of nodes connected by directedweighted edges
Hidden nodes
Output nodes
x1
x2
x3
x1
x2
x3
w1
w2
w3
y
n
i
ii
ey
xwo
1
1)(
)(1
Basic NN unitA more typical NN
Pros and Cons of Neural
-
8/13/2019 17. datawarehouse
70/84
70
os a d Co s o eu a
Network
Cons
Slow training time
Hard to interpret
Hard to implement:
trial and error for
choosing number of
nodes
Pros
+ Can learn more complicated
class boundaries
+ Fast application+ Can handle large number of
features
Conclusion: Use neural nets only if decision trees/NN fail.
-
8/13/2019 17. datawarehouse
71/84
71
Bayesian learning
Assume a probability model on generationof data.
Apply bayes theorem to find most likelyclass as:
Nave bayes:Assume attributes conditionallyindependent given class value
)(
)()|(max)|(max:classpredicted
dp
cpcdpdcpc
jj
cj
cjj
n
iji
j
c capdp
cp
c j 1 )|()(
)(
max
-
8/13/2019 17. datawarehouse
72/84
72
Clustering
Unsupervised learning when old data with classlabels not available e.g. when introducing a newproduct.
Group/cluster existing customers based on timeseries of payment history such that similarcustomers in same cluster.
Key requirement: Need a good measure ofsimilarity between instances.
Identify micro-markets and develop policies for
each
-
8/13/2019 17. datawarehouse
73/84
73
Association rules
Given set T of groups of items
Example: set of item sets purchased
Goal: find all rules on itemsets ofthe form a-->b such that
supportof a and b > user threshold s
conditional probability (confidence) of
b given a > user threshold cExample: Milk --> bread
Purchase of product A --> service B
Milk, cereal
Tea, milk
Tea, rice, bread
cereal
T
-
8/13/2019 17. datawarehouse
74/84
74
Variants
High confidence may not imply highcorrelation
Use correlations. Find expected supportand large departures from thatinteresting..
see statistical literature on contingency
tables.
Still too many rules, need to prune...
-
8/13/2019 17. datawarehouse
75/84
75
Prevalent Interesting
Analysts alreadyknow about prevalentrules
Interesting rules arethose that deviatefrom prior
expectationMinings payoff is in
finding surprisingphenomena
1995
1998
Milk and
cereal sell
together!
Zzzz...Milk and
cereal sell
together!
What makes a rule
-
8/13/2019 17. datawarehouse
76/84
76
surprising?
Does not matchprior expectationCorrelation between
milk and cerealremains roughlyconstant over time
Cannot be triviallyderived from
simpler rulesMilk 10%, cereal 10%Milk and cereal 10%
surprising
Eggs 10%Milk, cereal and eggs
0.1% surprising!
Expected 1%
A li ti A
-
8/13/2019 17. datawarehouse
77/84
77
Application Areas
Industry Application
Finance Credit Card Analysis
Insurance Claims, Fraud Analysis
Telecommunication Call record analysis
Transport Logistics management
Consumer goods promotion analysis
Data Service providers Value added dataUtilities Power usage analysis
-
8/13/2019 17. datawarehouse
78/84
78
Data Mining in Use
The US Government uses Data Mining to trackfraud
A Supermarket becomes an information broker
Basketball teams use it to track game strategy
Cross Selling
Target Marketing
Holding on to Good Customers
Weeding out Bad Customers
-
8/13/2019 17. datawarehouse
79/84
79
Why Now?
Data is being produced
Data is being warehoused
The computing power is availableThe computing power is affordable
The competitive pressures are strong
Commercial products are available
Data Mining works with
-
8/13/2019 17. datawarehouse
80/84
80
g
Warehouse Data
Data Warehousing providesthe Enterprise with a memory
Data Mining provides theEnterprise with intelligence
-
8/13/2019 17. datawarehouse
81/84
81
Mining market
Around 20 to 30 mining tool vendors
Major players:
Clementine,
IBMs Intelligent Miner,
SGIs MineSet,
SASs Enterprise Miner.
All pretty much the same set of toolsMany embedded products: fraud detection,
electronic commerce applications
-
8/13/2019 17. datawarehouse
82/84
82
OLAP Mining integration
OLAP (On Line Analytical Processing)Fast interactive exploration of multidim.
aggregates.
Heavy reliance on manual operations foranalysis:
Tedious and error-prone on largemultidimensional data
Ideal platform for vertical integration of mining
but needs to be interactive instead of batch.
State of art in mining OLAP
-
8/13/2019 17. datawarehouse
83/84
83
State of art in mining OLAP
integration
Decision trees [Information discovery, Cognos]
find factors influencing high profits
Clustering[Pilot software]segment customers to define hierarchy on that
dimension
Time series analysis: [Seagates Holos]
Query for various shapes along time: eg. spikes,outliers etc
Multi-level Associations [Han et al.]find association between members of dimensions
-
8/13/2019 17. datawarehouse
84/84
Vertical integration: Mining onthe web
Web log analysis for site design:
what are popular pages,
what links are hard to find.
Electronic stores sales enhancements:
recommendations, advertisement:
Collaborative filtering: Net perception, Wisewire
Inventory control: what was a shopperlooking for and could not find..