You are on page 1of 12

Sales and Marketing Subject Area Specification

This specification identifies the following for the sales and marketing subject area of the Adventure Works Cycles data warehouse: (I (II (III (I% (% !usiness analysis scenarios "imensional model #e$uired source elements "ata load routines #eporting& analysis& and security

I.

Business Analysis Scenarios

The business analysis scenarios will serve as the basis for the demonstration cases for Adventure Works Cycles' Business Overview Adventure Works Cycles is a large multinational bicycle manufacturer& with head$uarters located in !othell& Washington' The company has appro(imately )** employees& +, of which are sales representatives' The primary distribution channel for Adventure Works Cycles through the retail stores of their resellers' These resellers are located in Australia& Canada& -rance& .ermany& the /nited 0ingdom& and the /nited 1tates' Adventure Works Cycles also sells to individual customers worldwide by means of the Internet' Adventure Works Cycles has five major product offerings: Bikes 2 Three primary bike product lines: 3ountain& #oad& and Touring' Accessories 2 4(amples include helmets and water bottles' Clothing 2 4(amples include jerseys and biking shorts' Components 2 4(amples include bottom brackets and frames' Services 2 4(amples include premium service and standard service' Lines of Analysis -ollowing are anticipated lines of analysis for sales and marketing at Adventure Works Cycles' Line of analysis 5roduct profitability analysis %ariance analysis 1ales staff performance Trend and growth analysis Industry market share analysis 5romotion effectiveness Description Analy6ing product sales margin by monitoring costs& discounts& and selling prices Comparing forecast sales to actual sales 3onitoring variance between sales $uotas and actual sales /nderstanding how the current period compares to prior periods Analy6ing market share data for the resellers of Adventure Works Cycles bicycles Identifying how promotions influence sales performance

5age 7 of 7+

II. Dimensional Model


The dimensional model defines the Analysis 1ervices dimensions and measure groups' It also defines the supporting 3icrosoft8 19: 1erver; dimension tables and fact tables that adhere to the business analysis scenarios of the sales and marketing subject area' (A measure is the central value for analysis in a fact table' -or e(ample& you might define a measure called <1ales= that would use the 1ales Amount column in the 1ales -act Table as the starting point for $ueries about 1ales data' Dimensions A dimension is defined as an independent category of attributes that are derivable from or relate to a single dimension key' The attributes in a dimension might participate in one or many hierarchies' The hierarchies might be flat or multilevel and are not mutually e(clusive' "imensions will be conformed& that is& shared between and across multiple subject areas' The following is a listing of dimensions used in the sales and marketing subject area' Note: There is one record for each dimension table. The list is alphabetized by dimension table.
Dimension tables ( ! total" !ike 3anufacturer Channel OLA# dimension ($% total" !ike 3anufacturer Channel Level of detail "istinct bike manufacturer "istinct channel &elational design 1ingle table' 'ontent !icycle manufacturers with which Adventure Works Cycles competes and compares relative market share' Adventure Works Cycles sales channels: (7 store resellers and (+ online store' Currency codes' Currently the sales countries are Australia& Canada& -rance& .ermany& /nited 0ingdom& and /nited 1tates' The countries of the subsidiaries are Argentina& !ra6il& China& >apan& 3e(ico& 1audi Arabia& and %ene6uela' "ata about individual customers& such as address information and demographics' This data has been collected (7 at the time of an online order and (+ through online warranty registrations' Ao access to sell@through data' All employees 2 )** total 2 sales staff ()* & manufacturing& engineering& and so on' A sales representative is tracked on a specific order'

1nowflake tables:
7 5rimary 2 Channel + 1ub 2 .eography ) 1ub 2 Industry geography

Currency

Currency

"istinct currency code

1ingle table'

Customer

Customer

"istinct customer

1nowflake tables
7 5rimary 2 customer + 1ub @@ geography ) 1ub 2 industry geography

4mployee

4mployee

"istinct employee

1nowflake tables
7 5rimary 2 employee (parentCchild + 1ub 2 geography ) 1ub 2 department ? 1ub 2 sales territory

5age + of 7+

Dimension tables ( ! total" .eography

Industry "emographic .roup

OLA# Dimension ($% total" 2 Customer 2 Channel 2 1hip Address 2 4mployee 2 Industry .eography Industry "emographic .roup

Level of detail 5ostal code

&elational design 1nowflake subtables:


7 + ) ? B 5rimary 2 1hip Address Customer Channel 4mployee' Industry geography'

'ontent A standard listing of geographies identifying where employees live& where products are delivered& and where customers are located' Appro(imately 7&*** postal codes in si( countries' "emographic data groups such as age ranges& income levels& and so on' The reseller market share data is grouped into these demographics' Appro(imately 7* to +*' .eographic groupings defined by the reseller market@share data provider' Appro(imately )* regions that rollup into 7* countries' 5roduct groupings defined by the reseller market@share data provider' Appro(imately B to E groups that rollup into B main categories (!ikes& Accessories& Components& Apparel& and 1ervices ' -inished goods and components' A finished good is any product sold to a customer' Also contains products that Adventure Works Cycles sells but does not manufacture& such as accessories and service contracts' A grouping of product numbers that have the same model' -or e(ample& 3ountain !ike 7 is a model'

"emographic value

1ingle table'

Industry .eography

Industry .eography

"istinct industry geographic group "istinct industry product group

1nowflake subtable of geography'

Industry 5roduct .roup

Industry 5roduct .roup

1nowflake subtable of product'

7*

5roduct

5roduct

"istinct product number

1nowflake tables
7 5rimary 2 product + 1ub 2 product model ) 1ub 2 industry product group ? 1ub 2 product subcategory B 1ub 2 product category D 1ub 2 product line

77

5roduct 3odel

5roduct

"istinct 5roduct 3odel

1nowflake tables
7 5rimary 2 product + 1ub 2 product model ) 1ub 2 industry product group ? 1ub 2 product subcategory B 1ub 2 product category D 1ub 2 product line

7+

5roduct 1ubcategory

5roduct

"istinct product subcategory

1nowflake tables
7 5rimary 2 product + 1ub 2 product model ) 1ub 2 industry product group ? 1ub 2 product subcategory B 1ub 2 product category D 1ub 2 product line

A grouping of models& for e(ample& 3ountain !ikes& Touring !ikes& -rames'

5age ) of 7+

7)

Dimension tables ( ! (otal" 5roduct Category

OLA# dimension ($% total" 5roduct

Level of detail "istinct product category

&elational design 1nowflake tables


7 5rimary 2 product + 1ub 2 product model ) 1ub 2 industry product group ? 1ub 2 product subcategory B 1ub 2 product category D 1ub 2 product line

'ontent A grouping of subcategories' -or e(ample& !ikes& Accessories& Components& Apparel& and 1ervices'

7?

5roduct :ine

5roduct

"istinct product line

1nowflake tables
7 5rimary 2 product + 1ub 2 product model ) 1ub 2 industry product group ? 1ub 2 product subcategory B 1ub 2 product category D 1ub 2 product line

A grouping of categories: 3ountain& #oad& Touring& and 1tandard'

7B

Grder 1tatus

Grder 1tatus

"istinct order status

1ingle table'

7D

5romotions

5romotions

"istinct promotion code "istinct territory

1ingle table'

7E

1ales Territory

4mployee

1nowflake tables
7 5rimary 2 employee (parentCchild + 1ub 2 geography ) 1ub 2 department ? 1ub 2 sales territory

1tatus of the order' Has a value between 7 and D' 7 2 In 5rocessI + 2 ApprovedI ) 2 !ackorderedI ? 2 #ejectedI B 2 1hippedI D 2 Cancelled' A listing of Adventure Works Cycles promotional events& start dates& end dates& and so on' 4mployees either roll up into departments or sales territories' 1ales territories apply for sales and marketing' 1cenario values to flag actual and forecast data' 1hipment information for a given order line: address and carrier rate' 1tandard date fields& holiday information& and work schedules' There will be many relationships to time: in due date& ship date& and backorder date' -iscal year begins on >uly 7' "ates beginning with >uly 7& +**7 and ending with >une )*& +**B' This will correspond to Actual data for >uly 7& +**7 through >une )*& +**? and forecast data for >uly 7& +**? through >une )*& +**B'

7F 7,

1cenario 1hip Address

1cenario 1hip Address

"istinct scenario "istinct shipment address "ate

1ingle table' 1nowflake tables


7 5rimary 2 ship address + 1ub 2 geography ) 1ub 2 industry geography

+*

Time

Time

1ingle table'

5age ? of 7+

Measure )roups
The measure groups use the new Analysis 1ervices definition to group measures and dimensions together based on analysis needs and the re$uired granularity of the dimensions' The following are the measures groups for the sales and marketing subject area: Sales Detail Contains the sales order and order detail data !orecast Sales Contains forecast sales data "nd#stry Sales Contains industry sales data and bike data: accessories& components& apparel& and services $#ota Analysis Contains sales $uota data

Measure )roups by Dimension


3easure groups will contain the following dimensions as described in the table below' The lowest level of detail re$uired by the measure group has been identified for each online analytical processing (G:A5 dimension'
Dimensions Measure groups +ndustry )eo +ndustry #roduct )roup Bike Mfr S,ip Address +ndustry Demo )roup Order Status

#roduct

'ustomer

*mployee

Sales Detail -orecas t Sales +ndustry Sales .uota Analysis

Individual product 5roduct sub category

Individual customer @@@

Individual employee @@@

(ime Grder"ate !ackGrder "ate 1hip"ate "ue "ate 3onth

Scenario

'urrency

',annel

#romotions

@@@ Type

Code Code

@@@ @@@ Industry region @@@

@@@ @@@ Industry product group @@@

Channel code @@@ Channel code @@@

@@@ @@@ 3fr name @@@

1hip address @@@

@@@ @@@ "emo value @@@

5romotion code @@@

1tatus code @@@

@@@ 5roduct line

@@@ @@@

@@@ Individual employee

3onth 3onth

@@@ @@@

@@@ @@@

@@@ @@@

@@@ @@@

@@@ @@@

JAote: To perform currency conversion of the sales data& an additional measure group called Currency #ates will be used' The Currency #ates measure group is detailed in the specification for the finance subject area'

5age B of 7+

Measure )roups / Measure Detail


-or each of the measure groups& the following measures are anticipated' Measures Measure )roup Measure Aggregate type function
Sales Detail 1ales /nits 1ales Amount /nit 5rice "iscount 5ercent "iscount Amount 1tandard Cost :ist 5rice /ni$ue 5roducts /ni$ue Customers /ni$ue Grders /ni$ue Grder :ines Average 1elling 5rice .ross 3argin .ross 3argin 5ercent Ta( Amount -reight Commission 5ercent -orecast Sales -orecast 1ales /nits -orecast 1ales Amount -orecast "iscount Amount -orecast Cost +ndustry Industry 1ales Amount Industry 1ales /nits .uotas 1ales Amount 1ales /nits 1ales 1ales 1ales 1ales 1ales 1ales 1ales 1ales 1ales 1ales 1ales 1ales 1ales 1ales 1ales 1ales "etail "etail "etail "etail "etail "etail "etail "etail "etail "etail "etail "etail "etail "etail "etail "etail 1ales 1ales 1ales 1ales !ase !ase !ase "erived !ase !ase !ase !ase !ase !ase C3 C3 C3 !ase !ase !ase !ase !ase !ase !ase !ase !ase !ase !ase

'alculation

0otes

1um @@@@ 1um @@@@ @@@@ 1um "iscount 5ercent J 1ales Amount @@@@ @@@@ @@@@ @@@@ "istinct count @@@@ "istinct count @@@@ "istinct count "istinct count @@@@ 1ales Amount C 1ales /nits @@@@ 1ales Amount @ 5roduct Cost @@@@ .ross 3argin C 1ales Amount 1um 1um @@@@ 1um 1um 1um 1um 1um 1um 1um 1um

Aon@additive' Can handle in several ways' Aon@additive' Can handle in several ways' Aon@additive' Can handle in several ways'

Aon@additive' Can handle in several ways'

-orecast -orecast -orecast -orecast

Industry 3arket 1ales Industry 3arket 1ales 1ales "etail 1ales "etail

J Aote that cross measure group calculations will also be created later' These calculations will reference the measures listed above' Legend C3 K Calculated member !ase K 3easure stored on fact table "erived K 3easure derived in Analysis 1ervices

5age D of 7+

-act (ables
There will be two types of fact tables: (7 fact tables that support measure groups& and (+ stand@ alone fact tables' -act (ables Supporting Measure )roups -act tables will be designed for each of the measure groups e(cept for forecast sales' 1ince forecast sales data will be created by using writeback in Analysis 1ervices& no fact table is necessary' Sales Detail The sales fact table will contain sales data at the order@line level of detail' 4ach order line will have an 4mployee (sales representative & Channel& Customer& Grder status& Grder date& 1hip date& "ue date& !ack order date& 5roduct& 5romotion& 1hip to address& and Currency type' -or a given order& the following holds true: :ine Total K /nit5riceJ(7@/nit5rice"iscount JGrder9uantity Grder Total K (:ineTotal for all lines known as 1ubtotal L Ta(Amount L -reight "nd#stry Sales The industry sales fact table will contain market share sales data by 3onth& Industry product group& !ike manufacturer& Industry demographic group& Channel& and Industry geography group' $#ota Sales The $uota fact table will contain sales $uotas for each sales representative for a given month and product line' Stand1Alone -act (ables (Summary (ables" There will also be a fact table that is stand@alone' This means that reports will $uery this table directly and that no measure groups will be created from this summary table' Sales S#mmary An additional summary fact table will contain a subset of data from the sales detail fact table and only include sales data by 5roduct model& Customer& 1ales territory& and Time (day '

III. Required Source Elements


The following table identifies the data sources for the sales and marketing subject area' Aote: A grey background indicates a new data source'
OLA# dimension !ike 3anufacturer Customer Dimension tables "im!ike3anufacturer "imCustomer "im.eography Data source (ables @@@ Customer 3aster Customer Address Address 3aster Country#egion 1tate5rovince Individual Customer 3aster Customer Address Address 3aster Country#egion 1tate5rovince 1tore 0otes

7 +

Source -ile G:T5

Channel

"imChannel "im.eography

G:T5

5age E of 7+

OLA# dimension Currency

Dimension tables "imCurrency

Source G:T5

Data source (ables Currency CurrencyConversion 1alesTerritory 4mployee3aster Address3aster Country#egion 1tate5rovince @@@ @@@ @@@ 1alesGrderHeader 5roduct3aster 5roduct3odel 5roduct1ubcategory 5roductCategory 5roduct:ine 1pecialGffers @@@ 1alesGrder"etail Address3aster Country#egion 1tate5rovince @@@

0otes

4mployee

"im4mployee "im"epartment "im.eography "im1alesTerritory "imIndustry"emographic.roup "imIndustry.eography "imIndustry5roduct.roup "imGrder1tatus "im5roduct "im5roduct3odel "im5roduct1ubCategory "im5roductCategory "im5romotions "im1cenario "im1hipAddress "im.eography "imTime

G:T5

Additional history table might be added as a source to track changes'

D E F , 7*

Industry "emographic .roup Industry .eography Industry 5roduct .roup Grder 1tatus 5roduct

-ile -ile -ile G:T5 G:T5

5erhaps this could be M3:' 5erhaps this could be M3:' These tables are currently in flu( on the G:T5' Additional history table might be added as a source to track changes' Will be renamed to 5romotion' -ile to contain actual& budget& and forecast'

77 7+ 7)

5romotions 1cenario 1hip Address

G:T5 -ile G:T5

7?

Time

-ile

Aew file to be developed for data warehouse' 5erhaps 4(cel' 0otes 5erhaps this could be M3:'

7 + ) ?

OLA# measure group Industry 1ales 9uota 1ales 1ales "etail Writeback -orecast "ata

-act tables -actIndustry3arket1ales -act9uota1ales -act1ales"etail @@@

Source -ile G:T5 G:T5 -ile

Data source (ables @@@ 1ales5erson9uota 1alesGrderHeader 1alesGrder"etail @@@

-orecast data' Although this will not be loaded into the relational database& it still needs to be developed' It would also be nice to have this data stored in a file for later reference' -orecast data start date will be

>uly 7& +**? to >une )*& +**B'

5age F of 7+

OL(# &e2uirements 7 "ates in general: 1ales orders in the online transaction processing (G:T5 database will have order dates from >uly 7& +**7 to >une )*& +**?' The fiscal year will begin >uly 7' All relevant dates in the database need to reflect these dates' These dates include: a' 1ales orders (order date& due date& backorder date& ship date ' b' Work orders' c' 5urchase orders' d' Time span for 4mployee territory changes and department changes' e' Time span for the phase in and phase out of products' f' Time span for product costing changes' + Track product changes over time' a' Add and populate prod#ct introd#ction date and prod#ct discontin#ed date' b' Add and populate standard cost start dates and end dates' c' Add and populate list price start dates and end dates' ) Track employee changes over time' a' "epartment: "epartment start date and end date' b' 1ales territory: Territory start date and end date' c' !ase rate: !ase rate start date and end date' ? Convert special offers into list of discount promotions with start dates and end dates' 4ach order should have a promotion type and a discount percent' "iscounts include: a' Ao "iscount b' %olume "iscount c' 1easonal "iscount d' 4(cess Inventory e' "iscontinued 5roduct f' 5ackage "iscount g' :oyal Customer "iscount B Add sales order number that is not se$uential starting with 7 D Add accessories& apparel& and services to product tables' E 5opulate Customers table' a' Initially& during migration this will be converted and imported from Gutook b' Allow 1ales staff to use Gutlook for contact data entry& then import and convert data from Gutlook and refreshing Gutlook with updates F #e$uire currency rates' a' 1tart "ate is >uly 7& +**7& and 4nd "ate is >une )*& +**?' b' Aeed daily average rate and end of day rate' c' Aeed coverage for sales order countries: Australia& Canada& -rance& .ermany& /nited 0ingdom& and /nited 1tates' (Will need both 4uro and pre@4uro currencies for -rance and .ermany' d' Aeed coverage for the countries of the subsidiaries (3e(ican peso& >apanese yen& Chinese yuan& !ra6ilian real& Argentine peso& %ene6uelan bolivar& 1audi Arabian riyal ' , Add 1alary class to 4mployee' 7* Change 1alesGrder1tatus to values between 7 and D' G:T5 will only store these numeric values' 4T: (4(tract& Transform& and :oad routine needs to convert the values between 7 and D to meaningful values for the user 77 Add customer code for individual customers and resellers that are not se$uential 7+ !usiness Type on the stores will be used to flag different types of resellers' There will be four types: a' %alue@Added@#esellers b' 1pecialty !ike 1hops c' Warehouses d' Gnline 1tore

5age , of 7+

7) Add sales territory group& which should be a country& and perhaps verify regional territories' Currently there are no territories for Canada& which has been repeated below both for the country and region' This is acceptable for Analysis 1ervices because we can hide the repeated value' Canada o Canada 4urope o -rance o .ermany 5acific o Australia /nited 0ingdom o 4ngland /nited 1tates o Aorthwest o Aortheast o Central o 1outhwest o 1outheast o

5age 7* of 7+

IV. Data Load Routines


At a high level& a set of "T1 packages will ship with the product to load data from source systems into the data warehouse' The sales and marketing "T1 packages will follow the same general data flow:

G:T5

"T1 1taging "atabase

"T1

"T1 <"ata Warehouse= #elational


Dimension Tables and !act Tables

<"ata Warehouse= G:A5


Dimensions and %eas#re &ro#ps

M3: 4(cel "elimited -i(ed -ollowing are general re$uirements for the data load routines for the sales and marketing subject area: "ata will be loaded from four general sources: o o o o Adventure Works Cycles G:T5 "elimited and fi(ed width files 4(tensible 3arkup :anguage (M3: files 3icrosoft 4(cel spreadsheets

A set of staging tables will be created in a staging database' These staging tables will look almost identical to the destination dimension tables and fact tables' "T1 packages for sales and marketing will be designed to run daily' To show a change of state& when the product ships& the data warehouse relational and G:A5 databases will contain most of the sales data from the G:T5 e(cept for a few remaining days' The "T1 packages will be designed to e(tract the remaining days from the G:T5 and to refresh both the G:A5 database and the supporting relational database' "T1 packages will need to have connection management logic to be able to work in any installation environment' This is specifically relevant to loading of data from files' "ata will be created in order to applyCdemonstrate appropriate "T1 data transformations' In general& packages will be organi6ed as follows: o o Gne package per dimension table "imension master package to handle data load dependencies among snowflake dimension tables and to refresh G:A5 dimensions

5age 77 of 7+

o o o

Gne package per fact table C measure group Gther master packages to load all dimensions and all fact tables C cubes Additional administration packages (data load management& truncation of staging data& and so on

"T1 packages will contain logic to handle Type 7 and Type + slowly changing dimension columns' o o o 4mployee will be a Type + slowly changing dimension' 5roduct will be a Type + slowly changing dimension' Customer will be a Type 7 slowly changing dimension'

"T1 will aggregate data from the 1ales"etail fact table to load into the 1ales1ummary table' (There is also an opportunity to create derived columns here using "T1Nperhaps some uni$ue counts of orders& average cost per product model& average discount percent' !ecause freight and ta( amount are stored on the sales order and not on the order line& the 4T: routine will need to either (7 store the repeated values for all lines of a given order or (+ allocate out the freight and ta( amount to all lines that make up an order' !ecause orders ship as a wholeNthat is& all lines ship together to one locationNfreight and ta( could be allocated evenly across all orders'

V. Reporting, Analysis, and Security


#osetta reports and pivot tables will access and report data stored in Analysis 1ervices cubes' #osetta reports will also report directly against the 1ales1ummary fact table' At a high level& reports and security will need to be created for the following user groups: 4(ecutive 1taff (includes <1ales %5= ' 3embers of this group see all sales activity across the company' 1ales Territory 3anagers' 3embers of this group see all sales activity in their territory and summary totals for other territories' 1ales #epresentatives' 3embers of this group see their individual sales activity'

In general& reports will need to answer $uestions based on the primary lines of analysis: 5roduct 5rofitability %ariance Analysis 1ales -orce 5erformance Trend and .rowth Analysis Industry 3arket 1hare 5romotion 4ffectiveness

5age 7+ of 7+

You might also like