Book Image

Data Analysis Using SQL and Excel - Second Edition

By : Gordon S. S. Linoff
Book Image

Data Analysis Using SQL and Excel - Second Edition

By: Gordon S. S. Linoff

Overview of this book

Data Analysis Using SQL and Excel, 2nd Edition shows you how to leverage the two most popular tools for data query and analysis—SQL and Excel—to perform sophisticated data analysis without the need for complex and expensive data mining tools. Written by a leading expert on business data mining, this book shows you how to extract useful business information from relational databases. You'll learn the fundamental techniques before moving into the "where" and "why" of each analysis, and then learn how to design and perform these analyses using SQL and Excel. Examples include SQL and Excel code, and the appendix shows how non-standard constructs are implemented in other major databases, including Oracle and IBM DB2/UDB. The companion website includes datasets and Excel spreadsheets, and the book provides hints, warnings, and technical asides to help you every step of the way. Data Analysis Using SQL and Excel, 2nd Edition shows you how to perform a wide range of sophisticated analyses using these simple tools, sparing you the significant expense of proprietary data mining tools like SAS.
Table of Contents (18 chapters)
Free Chapter
1
Foreword
17
EULA

Identifying Customers

Identifying transactions as belonging to the same customer is challenging, both for retail customers (individuals and households) and for business customers. Even when customers have an ongoing relationship, such as a loyalty card, they may not always use their identification number. This section discusses the definition of “customer” and how customers are represented in data. The next section looks at other types of data, such as addresses.

Who Is the Customer?

The transactions in the purchases dataset are orders. The database has several ways to tie transactions together over time. Each order has OrderId, which leads to a CustomerId and a HouseholdId. The following query provides the counts of orders, customers, and households:

SELECT COUNT(*) as numorders, COUNT(DISTINCT c.CustomerId) as numcusts,
       COUNT(DISTINCT c.HouseholdId) as numhh
FROM Orders o LEFT OUTER JOIN
     Customers c
     ON o.CustomerId = c.CustomerId

This query returns 192...