aaRe-publishing this piece, which I originally designed and wrote in October 2010. Importantly, implementing this design and populating even medium-sized fact tables (say 10 million plus records) will probably only produce acceptable query performance if either massively-parallel processing architecture, or OLAP, is used.
Project for System Analysis and Design (IS-6410).
By performing customer segmentation following are the three objectives which can be achieved
with the implementation of this new analytics system:
1. We can track the difference between loyal customers vs visitors, perform heat map
analysis of their browsing patterns.
2. Understanding customer demographics and to focus on high profitable segments.
3. Finally empowering our Marketing department to make better strategic decisions in
terms of online Ads/campaigns.
Customer segmentation is a Project on Machine learning that is developed by using Clustering & clustering is the technique that comes under unsupervised learning of machine learning.
Segmentation allows prospects based on their wants and needs. It allows identifying the most valuable customer segment so the basis of it vender improve their return on marketing investment by only targeting those likely to be your best customer.
Customer churn has become a big issue in many banks because it costs a lot more to acquire a new customer than retaining existing ones. With the use of a customer churn prediction model possible churners in a bank can be identified, and as a result the bank can take some action to prevent them from leaving. In order to set up such a model in a bank in Iceland few things have to be considered. How a churner in a bank is defined, and which variables and methods to use. We propose that a churner for that Icelandic bank should be defined as a customer who has not been active for the last three months based on the bank definition of an active customer. Behavioral and demographic variables should be used as an input for the model, and either decision tree or logistic regression used as a technique.
Cross-channel User Engagement and How Tokopedia Does It RightMoEngage Inc.
Tokopedia, founded in 2009 is a unicorn company and is Indonesia's largest online marketplace with a user base of over 75 million+ active users. Learn here how Tokopedia streamlined Cross-channel user engagement and improved first-month user retention by 60%.
Project for System Analysis and Design (IS-6410).
By performing customer segmentation following are the three objectives which can be achieved
with the implementation of this new analytics system:
1. We can track the difference between loyal customers vs visitors, perform heat map
analysis of their browsing patterns.
2. Understanding customer demographics and to focus on high profitable segments.
3. Finally empowering our Marketing department to make better strategic decisions in
terms of online Ads/campaigns.
Customer segmentation is a Project on Machine learning that is developed by using Clustering & clustering is the technique that comes under unsupervised learning of machine learning.
Segmentation allows prospects based on their wants and needs. It allows identifying the most valuable customer segment so the basis of it vender improve their return on marketing investment by only targeting those likely to be your best customer.
Customer churn has become a big issue in many banks because it costs a lot more to acquire a new customer than retaining existing ones. With the use of a customer churn prediction model possible churners in a bank can be identified, and as a result the bank can take some action to prevent them from leaving. In order to set up such a model in a bank in Iceland few things have to be considered. How a churner in a bank is defined, and which variables and methods to use. We propose that a churner for that Icelandic bank should be defined as a customer who has not been active for the last three months based on the bank definition of an active customer. Behavioral and demographic variables should be used as an input for the model, and either decision tree or logistic regression used as a technique.
Cross-channel User Engagement and How Tokopedia Does It RightMoEngage Inc.
Tokopedia, founded in 2009 is a unicorn company and is Indonesia's largest online marketplace with a user base of over 75 million+ active users. Learn here how Tokopedia streamlined Cross-channel user engagement and improved first-month user retention by 60%.
A critical guide to selecting metrics to define a data-driven customer success strategy. Here is the table of contents:
- Metrics are for Decisions
- The Nature of Metrics
- Metrics Can Be Difficult
- Customer Success Metrics
Customer Lifetime Value (CLV)
Customer Churn Rate
Net Promoter Score (NPS)
Customer Health Score
Support Ticket Volume
Customer Log-in Counts Customer Acquisition Cost (CAC)
Product Activity Score
CSM Subjective Score
Customer Newsletter CTR
Background Signals
The following report is based on a DBMS of an online Art Gallery Online Shopping Store made using Django (front-end) and MYSQL_8.0 (for database storage).
Understanding the basic stuff of user experience design in an application. Create user flow and wireframing 1 on 1 start from understanding the why we need the wireframe, what exactly wireframe and user flow it is, And how to create and implement n digital product design such as application mobile or website.
Keep your audience glued to their seats with professionally designed PPT slides. This deck comprises of total of thirty seven slides. It has PPT templates with creative visuals and well researched content. Not just this, our PowerPoint professionals have crafted this deck with appropriate diagrams, layouts, icons, graphs, charts and more. This content ready presentation deck is fully editable. Just click the DOWNLOAD button below. Change the colour, text and font size. You can also modify the content as per your need. Get access to this well crafted complete deck presentation and leave your audience stunned.
visit--- http://bit.ly/onlineshopping_javaproject For the complete project + CODE.
visit ------- javaprojects.tutoriallearners.in for other Java Projects
Kano model and the practical application of it. This time we will go deeper than the surface and explore some secrets that can increase the effectiveness of Kano approach.
I spoke at the first Kaizen Data Science Conference, San Francisco, Sep 2016 on one of Instacart's recommendation systems. Also covers innovative ways of using data science to solve interdisciplinary problems. - Sharath Rao
This is my presentation from the recent Figaro Digital Conference at The Royal College of Physicians in London.
Omnichannel is an important new principle for me. My agency, Equator was always been an integrated one. Omnichannel is about deeper integration of channels to free consumers up to access them in whatever way suits them.
At Equator, we are already working on strategic Omnichannel initiatives with retail, hospitality, utility and finance businesses.
I talked about, in a pecha kucha style, the basic principles of Omnichannel, why I think Omnichannel is important and how it can make business more profitable.
Analytics are forming the basis of competition today. This white paper addresses what distinguishes analytics and answers the question are we doing analytics in the data warehouse? The paper further talks about the contending Platforms for the Analytics Workload and introduces the ParAccel Analytic Database as a key component of Information Architecture.
A critical guide to selecting metrics to define a data-driven customer success strategy. Here is the table of contents:
- Metrics are for Decisions
- The Nature of Metrics
- Metrics Can Be Difficult
- Customer Success Metrics
Customer Lifetime Value (CLV)
Customer Churn Rate
Net Promoter Score (NPS)
Customer Health Score
Support Ticket Volume
Customer Log-in Counts Customer Acquisition Cost (CAC)
Product Activity Score
CSM Subjective Score
Customer Newsletter CTR
Background Signals
The following report is based on a DBMS of an online Art Gallery Online Shopping Store made using Django (front-end) and MYSQL_8.0 (for database storage).
Understanding the basic stuff of user experience design in an application. Create user flow and wireframing 1 on 1 start from understanding the why we need the wireframe, what exactly wireframe and user flow it is, And how to create and implement n digital product design such as application mobile or website.
Keep your audience glued to their seats with professionally designed PPT slides. This deck comprises of total of thirty seven slides. It has PPT templates with creative visuals and well researched content. Not just this, our PowerPoint professionals have crafted this deck with appropriate diagrams, layouts, icons, graphs, charts and more. This content ready presentation deck is fully editable. Just click the DOWNLOAD button below. Change the colour, text and font size. You can also modify the content as per your need. Get access to this well crafted complete deck presentation and leave your audience stunned.
visit--- http://bit.ly/onlineshopping_javaproject For the complete project + CODE.
visit ------- javaprojects.tutoriallearners.in for other Java Projects
Kano model and the practical application of it. This time we will go deeper than the surface and explore some secrets that can increase the effectiveness of Kano approach.
I spoke at the first Kaizen Data Science Conference, San Francisco, Sep 2016 on one of Instacart's recommendation systems. Also covers innovative ways of using data science to solve interdisciplinary problems. - Sharath Rao
This is my presentation from the recent Figaro Digital Conference at The Royal College of Physicians in London.
Omnichannel is an important new principle for me. My agency, Equator was always been an integrated one. Omnichannel is about deeper integration of channels to free consumers up to access them in whatever way suits them.
At Equator, we are already working on strategic Omnichannel initiatives with retail, hospitality, utility and finance businesses.
I talked about, in a pecha kucha style, the basic principles of Omnichannel, why I think Omnichannel is important and how it can make business more profitable.
Analytics are forming the basis of competition today. This white paper addresses what distinguishes analytics and answers the question are we doing analytics in the data warehouse? The paper further talks about the contending Platforms for the Analytics Workload and introduces the ParAccel Analytic Database as a key component of Information Architecture.
Enhancing Dashboard Visuals with Multi-Dimensional Expressions (MDX)Daniel Upton
Here's an original presentation I gave at the SoCal Business Intelligence User Group in 2008. On reviewing it, and although the underlying platforms have evolved since then, the topic still seems relevant.
The Unsung Heroes of Marketing Insight White Paper by BECKONAmanda Roberts
Consistent, best-practice marketing data management should be the top priority for every omnichannel marketing department. Only if we take the time to perform the unglamorous task of working below the waterline to structure our data in smart, useful ways can we take full advantage of what modern marketing has to offer.
Behind the ABM Curtain with Oracle Data CloudKwanzoo Inc
Take a peek beyond the hype of account-based marketing (ABM) in this interview with Oracle Data Cloud's Sr. Director of Product Management Niraj Deo, and get his take on ABM display and the future of ABM data for B2B.
Revenue Operations Analytics: A Strategic BlueprintKwanzoo Inc
The true value in your KPIs is understanding how they complete the bigger picture of the customer journeys that drive the most impact for your business.
Innovation & Web Inspiration
Website Magazine's digital issue for December 2013 is now available for you to view online. In addition to the feature article on "Innovation & Web Inspiration," readers will find practical guidance for hiring a digital consultant, tips for managing the Web development process, and actionable advice on merchant analytics, conversion optimization, advertising through the holidays, dynamic content marketing, selling domains, and much more.
IMPORTANTE: Para la descarga y más información, visitar la página del autor:
http://www.websitemagazine.com/scripts/sub/digital.aspx?issue=72
En DigitalPymes seleccionamos este documento por su interés:
http://www.digitalpymes.es/website-magazine-num-72-ingles
Nota acerca de las presentaciones insertadas: Todas ellas pertenecen a sus autores. DigitalPymes incluye el enlace de descarga directa desde la página del autor y desactiva el enlace desde Slideshare. Nuestro objetivo es la difusión de las presentaciones que seleccionamos.
Importante: Si el autor/autores desean que retiremos la presentación, por favor, mandar un email a web@digitalpymes.es y lo haremos de inmediato.
Through precise location analytics, retailers now can monitor the entire path to purchase. With this data, marketers better understand what led to the purchase providing the ability to move beyond the traditional blanketed “campaign” to a year-round interaction based on consumer behavior. Customers “opt-in” by mobile app to receive highly-targeted promotions, information about merchandise they may have “visited” but didn’t purchase, and discounts for major events – based on correlations like visits, dwell and intent – to drive sales like never before.
RIS November tech solutions guide - analyticsiinside
Through precise location analytics, retailers now can monitor the entire path to purchase. With this data, marketers better understand what led to the purchase providing the ability to move beyond the traditional blanketed “campaign” to a year-round interaction based on consumer behavior. Customers “opt-in” by mobile app to receive highly-targeted promotions, information about merchandise they may have “visited” but didn’t purchase, and discounts for major events – based on correlations like visits, dwell and intent – to drive sales like never before.
Shorter time to insight more adaptable less costly bi with end to end modelst...Daniel Upton
For Data Project Leaders: This data warehouse data modeling approach enables shorter time to insights, lower cost and greater adaptability to external changes by combining my End to End Data Modelstorming concept with Data Vault modeling.
Original: Lean Data Model Storming for the Agile EnterpriseDaniel Upton
This original publication, aimed at data project leaders, describes a set of methods for agile modeling and delivery of an enterprise data warehouse, which together make it quicker to deliver, faster to load, and more easily adaptable to unexpected changes in source data, business rules or reporting/analytic requirements.
With this set of methods, the parts of data warehouse development that used to be the most resistant to sprint-sized / agile work breakdown -- data modeling and ETL -- are now completely agile, so that this tasking, too, can now be sized purely based on customer requirements, rather than the dictates of a traditional data warehouse architecture.
EDW Data Model Storming for Integration of NoSQL and RDBMS by Daniel UptonDaniel Upton
How to adeptly model a lean data warehouse for maximum adapability to a changing business, changing source data, changing business rules, changing requirements, and changing needs for integration with NoSQL repositories.
Data Modeling for Integration of NoSQL with a Data WarehouseDaniel Upton
Learn to model data to be visible and accessible between NOSQL Big Data repositories and your RDBMS Data Warehouse. Learn how specific RDBMS Data Warehouse data modeling approaches establish flexible integration with NoSQL data sets that do not play by E.F. Codd’s rules.
A Lean Data Warehouse, compared with a traditional one (with a dimensional or 3rd normal form model), is faster to deliver, freer of waste, and inherently more adaptable to change. From my experience in the trenches, each of these benefits fit squarely in the 'must have' category. Data Vault is an excellent logical architecture with which to design a Lean Data Warehouse. This article describes the priorities of a Lean Data Warehouse, and compares the two traditional modeling methods with Data Vault, concluding that Data Vault is more suited to deliver on those Lean priorities.
Agile BI via Data Vault and ModelstormingDaniel Upton
Audience: Business Intelligence Architects, Project Managers and Sponsors. This slideshow accompanies a video presentation of the same name, available at http://youtu.be/e0cHFdeGEeE.
Data Vault: Data Warehouse Design Goes AgileDaniel Upton
Data Warehouse (especially EDW) design needs to get Agile. This whitepaper introduces Data Vault to newcomers, and describes how it adds agility to DW best practices.
Improving profitability for small businessBen Wann
In this comprehensive presentation, we will explore strategies and practical tips for enhancing profitability in small businesses. Tailored to meet the unique challenges faced by small enterprises, this session covers various aspects that directly impact the bottom line. Attendees will learn how to optimize operational efficiency, manage expenses, and increase revenue through innovative marketing and customer engagement techniques.
RMD24 | Debunking the non-endemic revenue myth Marvin Vacquier Droop | First ...BBPMedia1
Marvin neemt je in deze presentatie mee in de voordelen van non-endemic advertising op retail media netwerken. Hij brengt ook de uitdagingen in beeld die de markt op dit moment heeft op het gebied van retail media voor niet-leveranciers.
Retail media wordt gezien als het nieuwe advertising-medium en ook mediabureaus richten massaal retail media-afdelingen op. Merken die niet in de betreffende winkel liggen staan ook nog niet in de rij om op de retail media netwerken te adverteren. Marvin belicht de uitdagingen die er zijn om echt aansluiting te vinden op die markt van non-endemic advertising.
VAT Registration Outlined In UAE: Benefits and Requirementsuae taxgpt
Vat Registration is a legal obligation for businesses meeting the threshold requirement, helping companies avoid fines and ramifications. Contact now!
https://viralsocialtrends.com/vat-registration-outlined-in-uae/
Falcon stands out as a top-tier P2P Invoice Discounting platform in India, bridging esteemed blue-chip companies and eager investors. Our goal is to transform the investment landscape in India by establishing a comprehensive destination for borrowers and investors with diverse profiles and needs, all while minimizing risk. What sets Falcon apart is the elimination of intermediaries such as commercial banks and depository institutions, allowing investors to enjoy higher yields.
Memorandum Of Association Constitution of Company.pptseri bangash
www.seribangash.com
A Memorandum of Association (MOA) is a legal document that outlines the fundamental principles and objectives upon which a company operates. It serves as the company's charter or constitution and defines the scope of its activities. Here's a detailed note on the MOA:
Contents of Memorandum of Association:
Name Clause: This clause states the name of the company, which should end with words like "Limited" or "Ltd." for a public limited company and "Private Limited" or "Pvt. Ltd." for a private limited company.
https://seribangash.com/article-of-association-is-legal-doc-of-company/
Registered Office Clause: It specifies the location where the company's registered office is situated. This office is where all official communications and notices are sent.
Objective Clause: This clause delineates the main objectives for which the company is formed. It's important to define these objectives clearly, as the company cannot undertake activities beyond those mentioned in this clause.
www.seribangash.com
Liability Clause: It outlines the extent of liability of the company's members. In the case of companies limited by shares, the liability of members is limited to the amount unpaid on their shares. For companies limited by guarantee, members' liability is limited to the amount they undertake to contribute if the company is wound up.
https://seribangash.com/promotors-is-person-conceived-formation-company/
Capital Clause: This clause specifies the authorized capital of the company, i.e., the maximum amount of share capital the company is authorized to issue. It also mentions the division of this capital into shares and their respective nominal value.
Association Clause: It simply states that the subscribers wish to form a company and agree to become members of it, in accordance with the terms of the MOA.
Importance of Memorandum of Association:
Legal Requirement: The MOA is a legal requirement for the formation of a company. It must be filed with the Registrar of Companies during the incorporation process.
Constitutional Document: It serves as the company's constitutional document, defining its scope, powers, and limitations.
Protection of Members: It protects the interests of the company's members by clearly defining the objectives and limiting their liability.
External Communication: It provides clarity to external parties, such as investors, creditors, and regulatory authorities, regarding the company's objectives and powers.
https://seribangash.com/difference-public-and-private-company-law/
Binding Authority: The company and its members are bound by the provisions of the MOA. Any action taken beyond its scope may be considered ultra vires (beyond the powers) of the company and therefore void.
Amendment of MOA:
While the MOA lays down the company's fundamental principles, it is not entirely immutable. It can be amended, but only under specific circumstances and in compliance with legal procedures. Amendments typically require shareholder
Enterprise Excellence is Inclusive Excellence.pdfKaiNexus
Enterprise excellence and inclusive excellence are closely linked, and real-world challenges have shown that both are essential to the success of any organization. To achieve enterprise excellence, organizations must focus on improving their operations and processes while creating an inclusive environment that engages everyone. In this interactive session, the facilitator will highlight commonly established business practices and how they limit our ability to engage everyone every day. More importantly, though, participants will likely gain increased awareness of what we can do differently to maximize enterprise excellence through deliberate inclusion.
What is Enterprise Excellence?
Enterprise Excellence is a holistic approach that's aimed at achieving world-class performance across all aspects of the organization.
What might I learn?
A way to engage all in creating Inclusive Excellence. Lessons from the US military and their parallels to the story of Harry Potter. How belt systems and CI teams can destroy inclusive practices. How leadership language invites people to the party. There are three things leaders can do to engage everyone every day: maximizing psychological safety to create environments where folks learn, contribute, and challenge the status quo.
Who might benefit? Anyone and everyone leading folks from the shop floor to top floor.
Dr. William Harvey is a seasoned Operations Leader with extensive experience in chemical processing, manufacturing, and operations management. At Michelman, he currently oversees multiple sites, leading teams in strategic planning and coaching/practicing continuous improvement. William is set to start his eighth year of teaching at the University of Cincinnati where he teaches marketing, finance, and management. William holds various certifications in change management, quality, leadership, operational excellence, team building, and DiSC, among others.
[Note: This is a partial preview. To download this presentation, visit:
https://www.oeconsulting.com.sg/training-presentations]
Sustainability has become an increasingly critical topic as the world recognizes the need to protect our planet and its resources for future generations. Sustainability means meeting our current needs without compromising the ability of future generations to meet theirs. It involves long-term planning and consideration of the consequences of our actions. The goal is to create strategies that ensure the long-term viability of People, Planet, and Profit.
Leading companies such as Nike, Toyota, and Siemens are prioritizing sustainable innovation in their business models, setting an example for others to follow. In this Sustainability training presentation, you will learn key concepts, principles, and practices of sustainability applicable across industries. This training aims to create awareness and educate employees, senior executives, consultants, and other key stakeholders, including investors, policymakers, and supply chain partners, on the importance and implementation of sustainability.
LEARNING OBJECTIVES
1. Develop a comprehensive understanding of the fundamental principles and concepts that form the foundation of sustainability within corporate environments.
2. Explore the sustainability implementation model, focusing on effective measures and reporting strategies to track and communicate sustainability efforts.
3. Identify and define best practices and critical success factors essential for achieving sustainability goals within organizations.
CONTENTS
1. Introduction and Key Concepts of Sustainability
2. Principles and Practices of Sustainability
3. Measures and Reporting in Sustainability
4. Sustainability Implementation & Best Practices
To download the complete presentation, visit: https://www.oeconsulting.com.sg/training-presentations
What is the TDS Return Filing Due Date for FY 2024-25.pdfseoforlegalpillers
It is crucial for the taxpayers to understand about the TDS Return Filing Due Date, so that they can fulfill your TDS obligations efficiently. Taxpayers can avoid penalties by sticking to the deadlines and by accurate filing of TDS. Timely filing of TDS will make sure about the availability of tax credits. You can also seek the professional guidance of experts like Legal Pillers for timely filing of the TDS Return.
Implicitly or explicitly all competing businesses employ a strategy to select a mix
of marketing resources. Formulating such competitive strategies fundamentally
involves recognizing relationships between elements of the marketing mix (e.g.,
price and product quality), as well as assessing competitive and market conditions
(i.e., industry structure in the language of economics).
Kseniya Leshchenko: Shared development support service model as the way to ma...Lviv Startup Club
Kseniya Leshchenko: Shared development support service model as the way to make small projects with small budgets profitable for the company (UA)
Kyiv PMDay 2024 Summer
Website – www.pmday.org
Youtube – https://www.youtube.com/startuplviv
FB – https://www.facebook.com/pmdayconference
Skye Residences | Extended Stay Residences Near Toronto Airportmarketingjdass
Experience unparalleled EXTENDED STAY and comfort at Skye Residences located just minutes from Toronto Airport. Discover sophisticated accommodations tailored for discerning travelers.
Website Link :
https://skyeresidences.com/
https://skyeresidences.com/about-us/
https://skyeresidences.com/gallery/
https://skyeresidences.com/rooms/
https://skyeresidences.com/near-by-attractions/
https://skyeresidences.com/commute/
https://skyeresidences.com/contact/
https://skyeresidences.com/queen-suite-with-sofa-bed/
https://skyeresidences.com/queen-suite-with-sofa-bed-and-balcony/
https://skyeresidences.com/queen-suite-with-sofa-bed-accessible/
https://skyeresidences.com/2-bedroom-deluxe-queen-suite-with-sofa-bed/
https://skyeresidences.com/2-bedroom-deluxe-king-queen-suite-with-sofa-bed/
https://skyeresidences.com/2-bedroom-deluxe-queen-suite-with-sofa-bed-accessible/
#Skye Residences Etobicoke, #Skye Residences Near Toronto Airport, #Skye Residences Toronto, #Skye Hotel Toronto, #Skye Hotel Near Toronto Airport, #Hotel Near Toronto Airport, #Near Toronto Airport Accommodation, #Suites Near Toronto Airport, #Etobicoke Suites Near Airport, #Hotel Near Toronto Pearson International Airport, #Toronto Airport Suite Rentals, #Pearson Airport Hotel Suites
Premium MEAN Stack Development Solutions for Modern BusinessesSynapseIndia
Stay ahead of the curve with our premium MEAN Stack Development Solutions. Our expert developers utilize MongoDB, Express.js, AngularJS, and Node.js to create modern and responsive web applications. Trust us for cutting-edge solutions that drive your business growth and success.
Know more: https://www.synapseindia.com/technology/mean-stack-development-company.html
Personal Brand Statement:
As an Army veteran dedicated to lifelong learning, I bring a disciplined, strategic mindset to my pursuits. I am constantly expanding my knowledge to innovate and lead effectively. My journey is driven by a commitment to excellence, and to make a meaningful impact in the world.
Marketing Pipeline Intelligence: A Dimensional Model
1. DecisionLab.Net
business intelligence is business performance October, 2010
___________________________________________________________________________________________________________________ ________________________________________________________________
Marketing
Pipeline
Intelligence:
A Dimensional
Model by Daniel Upton
____________________________________________________________________________________________________________________________________________________________________________________
DecisionLab http://www.decisionlab.net dupton@decisionlab.net Direct: 760 525 3268
http://blog.decisionlab.net Carlsbad, California, USA
2. Marketing Pipeline Intelligence:
A Dimensional Database Schema
Daniel Upton
Principal / Business Intelligence Developer
www.DecisionLab.Net
blog.DecisionLab.Net
LinkedIn.com/in/DanielUpton
__________________________________________________________________________________________________________________________________________________________________________________
Page 2 of 27
3. Business Requirement Summary:
The marketing organization within a sports product manufacturing firm needs to acquire more insight from their data about their
interactions with prospective and existing customers. Specifically, they want to know the exact relationships -- in terms of head counts,
time lags and, of course, transaction-type details (ultimately including sales revenue) – among each of their many consumer “touch
points”.
For any given customer, these touch points include at least one of the following activities – ideally, but in truth rarely,
occurring in the following idealized sequence:
(1) Receipt of a prospective customer’s (herein “Lead’s”) email address (and little or nothing else)
(2) Receipt of more identifying info, such that a lead may now also be classified as a known “Consumer”
(3) Participation by a Consumer in a Promotion (eg. sweepstakes)
(4) Initiation by a Consumer of one or more of the many available print or emailed newsletter subscriptions
(5) Distribution Channel: Initial web-based (e-commerce) purchases by (what, by definition, is now) a Customer based on website-
purchase referral from a variety of E-Commerce Sales Channels.
(6) Distribution Channel: Initial web-based Registration of Product purchases (whether purchased via brick-n-mortar reseller or direct e-
commerce)
(7) Repeat customer interactions on any of the above touchpoints, obviously including repeat purchases and registrations.
Although the business requirement alludes to “..all relationships of consumer counts, time lags and revenue…”, the following examples
provide some idea of the wide spectrum of requirements.
Required Ad-hoc Query Types:
(A) How many unique (Count) leads, consumers, promotion participants, newsletter subscribers, web-purchasers and reseller-
purchasers do we have, and how does this Count vary by lead source, sweepstake participation, consumer geography, newsletter
subscription activities, (multiple) product categorization hierarchy, sales channel and, of course, time?
(B) For the same above criteria, how many (Count) of them progress from each lower-value activity (eg. new lead email) to a higher
value group (eg. large, recent repeat-purchases)?
(C) What can we learn about who purchased what, where and when?
(D) Which of our Website-purchasing- vs. Reseller-purchasing Customers, from which Geographies have purchased (or registered)
which of our Products, according to a variety of Product Categorization hierarchies (product line, brand, website categorization,
manufacturing categorization), over what time periods and for what amount of actual or (MSRP for reseller-customers) estimated
revenue?
(E) What product-mix relationships exist between and among website-purchasing customer vs. reseller-purchasing customers? Note:
Website products categorizations are currently handled inconsistently between these two distribution channels.
__________________________________________________________________________________________________________________________________________________________________________________
Page 3 of 27
4. (F) What are the actual sequences, as well as time-spans in days (herein “Time Lags”) between Consumers’ progressions in and out of
(ie. newsletter ‘unsubscribes’) the aforementioned activities, including progression into becoming purchasing Customers, and
subsequent to initial purchase?
(G) Among all touch points, what are the sequences / paths that have led to customer purchases that are (select any number of the
following) more frequent, consistent, long-standing, seasonally-dependent / independent or, of course, largest?
(H) What are the counts, time lags and interaction (transaction) details with which our existing -- and our known prospective --
customers have actually followed any portion of our idealized “low-value to high-value” marketing pipeline sequence?
(I) Conversely, what do we know about customers who leveraged few, or none, of our available non-purchase-related touch points
before, or after, their actual product purchases or product registrations?
(J) What has been the subsequent revenue from customers before or after interaction in any form within any of the touch points?
(K) Catch-All: Except where the granularity of the business data logically prevents it, all quantitative facts (measures) must be able to
be broken out by Distribution Channel, Product, E-Commerce Sales Channel, Consumers demographics, skill-level, sport-activity-level,
known attitudes, geography and timing. Scary!
(L) An odd request: What consumer demographics can we find (other than “geography” (the obvious one) that most dramatically
differentiates our Sweepstake Participants, both according to individual Sweepstake and Country from which a specific Sweepstake
Participation occurred?
(M) Determine which of our newsletters (subscriptions) or sweepstake events coincide with best and worst revenue performance and
with what time relationships (ie. between subscription (or sweepstake) and purchases.)
(N) Determine the ECommerceSalesChannels (ie. referring e-commerce websites) that coincide with most and fewest newsletter
subscriptions, and with what time relationships between subscriptions and purchases.
(O) Determine which exact Products (purchased or registered) are associated with the most, and fewest, newsletter subscriptions, and
with what time relationships.
…
(Z) Overall: In essence, the business side is excited about ad-hoc multi-dimensional analyses, is poised with an impressive
OLAP server, and will be thrilled to see, in the schema we have in mind, virtually every fact table slice-able by virtually every
dimension table, except insofar as it would actually violate a known business rule. Rather than advising them otherwise, we
will do our utmost to deliver all of it in a single SSAS cube.
The Classic ‘Accumulating Snapshot’ Fact Table (herein ‘AccumSnap’):
AccumSnap fact tables are completely different from either Periodic Snapshot Facts or Transaction facts. Unlike the other two
archtypes, AccumSnap’s allow us to aggregate counts and time lags between related yet distinct processes, which may occur in
unpredictable sequences. Sets of processes that combine into a pipeline-like scenario lend themselves to the AccumSnap. One
classic example is the college admissions pipeline, wherein many related processes occur along the way between a student making
initial contact with a college and a student arriving for class on day one. Another classic AccumSnap is a customer pipeline, wherein
many touchpoints (processes) occur between an organization and a prospective and/or existing customer. If each of the processes are
__________________________________________________________________________________________________________________________________________________________________________________
Page 4 of 27
5. simple enough to be incorporated into a dimension table, then the classic AccumSnap will suffice. To read Ralph Kimball’s Design Tip
#37, an authoritative description of the archtype (single fact table, and just the essentials), click the following link:
http://www.ralphkimball.com/html/designtipsPDF/DesignTips2002/KimballDT37ModelingPipeline.pdf
“Schema Hub”: Extending the Accumulating Snapshot-centric Star Schema with Transaction
Facts
When some of the processes along a pipeline are complex enough, or iterate as transactions, we would like to accurately model them
as transaction-grained fact tables. In our schema, we will indeed use an AccumSnap, but add multiple Transaction fact tables that are
within what I’ll call the “Schema Hub”, directly related to the AccumSnap fact tables (vs. the schema periphery), forcing the
AccumSnap (being higher/coarser grained than the Transaction facts) to now serve double-duty as a join table between each of these
other fact tables themselves, as well as a join to a few dimensions. Conversely, the Transaction Fact Tables, being finer-grained than
the AccumSnap, will serve double-duty as M2M join tables between AccumSnap and dimensions directly related to the transactions.
**No need to visualize these specific relationships yet. Screenshots and detailed discussion on both of those point will follow.
The advantage of relating most of these fact tables together so directly at the schema’s hub, is that their position does not inherently
limit their relationship to any other table, be it a fact or dimension table. This would not be the case if fact tables were more isolated
and thereby related directly to only a few dimension tables. After all, in order to slice and dice facts by dimension values, the table
relationships must exist. Moreoever, this hub approach is my method to maximize the range of available ad-hoc queries from a
single cube spanning multiple, closely related processes. Expert feedback is welcome on this point.
Options for Downstream Consumption of Schema
To the extent that the schema on the following page pulls from a medium or large dataset with, say, ten million to one billion fact rows in
any of the core fact tables, I consider that an OLAP Cube, such as SQL Server Analysis Services (SSAS), is probably required, as an
middle aggregation layer, which is then consumed by either a dashboard or set of reports as the front-end, rather than having the front-
end pull directly from the schema. Since, as readers will see, all of the core fact tables will serve double duty as either ‘Intermediate’
dimensions, or as many-to-many (herein M2M) join tables, query performance from the schema would be very slow without OLAP,
perhaps even too slow for single-user (non-simultaneous) queries. For smaller datasets, the architect will have to decide on whether
OLAP benefits are worth the time and costs. Going forward here, our assumption is that a single, sophisticated SSAS OLAP cube will
be built.
__________________________________________________________________________________________________________________________________________________________________________________
Page 5 of 27
6. Reference 1: MarketingPipelineIntelligence Schema
Here is a view (table names only) of the entire MarketingPipelineIntelligence schema. I suggest that readers print out this page for reference during
subsequent reading even if other pages are not printed. Reference 3, near the end of the document, shows all fields, but in very small font!
__________________________________________________________________________________________________________________________________________________________________________________
Page 6 of 27
7. Going forward, I will sequentially display and discuss sub-groups of the above tables, as topic sets that merit discussion, while also occasionally
adding in other tables that add business value but merit little description. Along the way, some tables will appear multiple screenshots, since they
participate in multiple relationships.
Before delving into specific tables, let’s review the schema in general. To begin with, it is fundamentally based on the Kimball-style Star Schema
(not 3NF / Inmon style / CIF) insofar as…
(a) Fact tables, with quantitative measures, are largely distinct from dimension tables, with qualitative attributes, as subsequent table details will
show. Importantly, each measure/fact shares a common granularity with others in the same fact table, although some may aggregate
differently (Sum, Avg, Max, Last, etc.) Note 3 below, however, describes one departure from this classic approach, wherein some fact
tables serve double-duty.
(b) In general, facts rows relate ‘many-to-one’ to dimension rows. It is never the reverse of this and, on occasion, may be one-to-one for join
purposes.
(c) Dimension tables, even those with multiple independent hierarchies, are generally de-normalized unless very large and/or very sparse.
(d) Role-playing dimensions are used extensively (DimDate and DimProduct, in this case)
However, the schema does have its unique features, not typically seen in star schemas. The following notes apply…
Note 1: For non-SSAS readers, the terms ‘Fact Table’ and ‘Measure Group’ are used to describe essentially the same thing, and the
terms ‘Fact’ and ‘Measure’ are also equivalents.
Note 2: In SSAS, these atypical relationships will be handled with combinations of dimension relationships that are either ‘Many-to-
Many’ (M2M), ‘Cascading M2M’, ‘Referenced’ …or Combined M2M-and-Referenced Relationships! Details will follow.
Note 3: Data Modeling Style: When it’s logical, I like to relate multiple fact tables DIRECTLY together with few or no other
dimension tables in between in order to eliminate any artificial limits on fact-dimension relationships and thus on available queries.
Goal: Except insofar as the actual business logic prohibits, I try to allow all or most fact tables to be slice-able by all or most
dimensions. Depending on the relative granularity between fact tables, this means that, in SSAS, some fact tables (just using
their PK and FK’s) serve double-duty as Intermediate Dimensions (joins) in Referenced cube-dim relationships. This is also
the reason that my fact tables usually contain single-field, surrogate PK’s, instead of composite PK’s using multiple FK’s. It’s
frequently performed well for me in the my pursuit of “…fewer, faster, more comprehensive” cubes.
Here, and throughout this document, I am actively seeking expert feedback.
_______________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________
Page 7 of 27
8. Reference 2: SSAS “Cube Dimension Usage” Grid
As with the above screenshot, the next two (which go together), serve as a recurring reference and will be convenient if printed out. A brief
discussion follows.
__________________________________________________________________________________________________________________________________________________________________________________
Page 8 of 27
9. A continuation of the above screenshot…
The above two-part grid describes the proposed configuration for SSAS Cube Dimension Usage. Much of this documents subsequent discussion
involves describing each of these fact-dimension relationship. Wherever possible, the above color codes will be used for quick referencing.
__________________________________________________________________________________________________________________________________________________________________________________
Page 9 of 27
10. Set 1: FactPipelineAccumSnap, the schema’s core fact table. It is shown below in two side-by-side screenshots so all fields are readable)
Let’s simultaneously review the distinguishing features of Kimball’s Accumulating Snapshot (herein ‘…AccumSnap’) fact-table archtype, and the
features of the above table that are an expansion on, or adaptation of, the arch-type. Specifically…
1. AccumSnap’s consist exclusively of five types of fields:
a. Primary key (PK) field -- obviously not nullible. In other cases, PK is simply a composite on selected FK fields.
b. Date Foreign keys fields.
__________________________________________________________________________________________________________________________________________________________________________________
Page 10 of 27
11. i. Classically, for all dimensions (directly) related to an AccumSnap fact table, a Date Foreign Key is included to track the
time of the occurrence of that process. Moreover, each dimension touching the AccumSnap usually has an associated
Date dimension, and the role-playing Date dimension is well suited here.
ii. In our case, a Date Foreign Key field exists here whenever a business process is captured simply in a dimension and
lacks an associated ‘…Trans’ fact table (which we’ll explore soon). Since DimLead and DimConsumer fit this description,
Date Foreign Keys exist to track the timing of those processes. Whenever an associated ‘…Trans’ fact table exists, the
Date Foreign Keys in not in ‘…AccumSnap’, but rather in the ‘…Trans’ fact table itself, in order to track the process with
adequate granularity to cover multiple iterations of a given process (eg. multiple subscriptions) for a given consumer.
c. Non-date Foreign key (FK) fields. Standard stuff. Not nullible.
d. Count Fields: Here, the allowed values are { 0,1 }. Not nullible.
i. Arch-type AccumSnap: Count each process by itself, not in relation to (lead/consumer’s) progression to another process.
ii. This AccumSnap: Also counts progress of leads/consumers from lower-value processes (eg. receipt of lead email)
towards higher-value process (eg. product registration). All fields with both of words ‘Into’ AND ‘Count’ are of this kind.
e. Arch-type: Time-lag fields, which measure elapsed time (days, in our case) between progression of leads/consumers from one
process to another. This field is nullible, so we can distinguish between ‘Null’ lag days -- meaning that a consumer has not
made the specific progression – and ‘0’ lag days, meaning that a consumer’s specific progression occurred in less than 1 day. It
is also worth mentioning that special attenting must be paid to ensure that these “…LagDays” field values coincide exactly with
slicing these facts by date dimension attributes. Not a trivial matter for ETL and QA.
Please take a moment now to note the potential business value of each of the above-listed fields. From the end-users’ perspective, the
Accumulating Snapshot fact table is a sensible way to capture information about processes which occur in pipeline-like environments that are either
predictable (eg. the required processes which college hopefuls must progress toward to become enrollees) as well as unpredictable (such as ours,
wherein the conversion of a portion of leads into known consumers, then sweepstake participants, subscribers and hopefully, paying customers
does occur, but with new participants entering the pipeline in various places, and in unpredictable sequences, such that we get some new
customers whom we had never heard of prior to purchase).
Having said that, if our real-world (allegedly pipeline-like) environment actually includes processes with iterative, quantitative details, as ours does,
the Accumulating Snapshot fact table arch-type, by itself, lacks the fine, transaction-granularity to store those details. To accommodate this
requirement, we therefore will add a collection of ‘…Trans’ fact tables.
Once we begin describing the ‘…Trans’ fact tables, which do include some fields that could be used to derive values for Count and LagDays fields
already shown in ‘…AccumSnap’ table, some readers who build cube and/or relational reports will quickly note that they could eliminate the need
for those Count and LagDays fields in ‘…AccumSnap’ writing expressions from ‘…Trans’ fields to calculate them on the fly. While this is true, these
fields, I believe, are best calculated during ETL and stored in the star schema itself, because the expressions tend to be rather complex and will
thereby hinder query-response performance. As you consider this, take a moment once again and consider the complexity of deriving a few of the
‘…AccumSnap’ tables more complex Count and LagDays fields. Do we want that complexity completed during off-hours ETL and cube processing
time, or during end-user sessions? If we go with the ‘…AccumSnap’ as is, we can consider it to be a specialized Aggregate Table, which admittedly
makes it a rarity in the SSAS ‘05/’08 OLAP space. On this point, expert feedback is requested.
In subsequent pages, we will cover how to implement these atypical relationships for use in business intelligence (especially MSAS cubes).
However, before diving deeply into that, let’s describe each of the schema’s tables and, first of all, their more routine relationships.
__________________________________________________________________________________________________________________________________________________________________________________
Page 11 of 27
12. _______________________________________________________________________________
Set 2: DimLead,DimConsumer. Simple.
Leads are email addresses, sometimes also containing additional information as the above table shows. Consumers are people for whom we’ve
gathered sufficient information to positively identify a person. In our case, we choose to require a “login” (primary) email address, last name,
firstname, gender and birthyear, with all other fields being desired but not required. As a note, other processes are designed, in part, to complete
these additional DimConsumer fields. Please take another moment to note each of these fields and consider their potential business value.
_______________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________
Page 12 of 27
13. Set 3: FactSubscriptionActionTrans and DimSubscription
Notes:
(A) FactSubscriptionActionTrans historically tracks consumers’ subscription, unsubscription, and re-subscription to each of our variety of
newletters. One row equates to one consumer’s action with regard to one subscription. Non-key fields include:
a. SubscriptionActionDescription allowed values are {Initial subscribe, Unsubscribe, Repeat Subscribe}
b. SubscriptionActionCount allowed values are always {1}, and thus serve only as a filterable row-count.
(B) DimSubscription: Here, one row equates to one newletter, whether print- or emailed-format. It contains a categorization field, but is
otherwise simple.
(C) Lastly, DimSubscription must relate to many other tables, too; which we will fully address in a subsequent section.
_______________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________
Page 13 of 27
14. Screenshot for…
Set 4: FactECommerceCartItemTrans, FactProductRegistrationTrans and DimProduct, and…
Set 5: DimECommerceSalesChannel and FactECommerceCartItemTrans
__________________________________________________________________________________________________________________________________________________________________________________
Page 14 of 27
15. Set 4 Notes:
(A) FactECommerceCartItemTrans
a. Transaction-grained fact table. One row equates to a single e-commerce cart line item (which may include a quantity > 1).
b. ‘…Spend’ field is for all ordered quantities of that (line-item) product (or product set). Unit price is not stored, but derived downstream
(with MDX or SQL)
LeadConsumerSurrogateID_FK has an enforced many-to-one relationship with ‘…AccumSnap’.LeadConsumerSurrogateID_PK
c. All fields beginning with ‘Is…’ are degenerate (fact) dimensions, with Boolean (0=No, 1=Yes).
(B) FactProductRegistrationTrans (fields,etc.)
a. Transaction-grained fact table. One row equates to a single web-based product registration line item (which may include quantities >
1). Thus one customer’s product-registration session involving multiple products will create multiple line items here.
b. Same principle as above applies to obtain unit price (this time not as actual, but instead as MSRP)
c. Same many-to-one relation to “…AccumSnap’ as above.
d. As above, fields beginning with ‘Is…’ are degenerate (fact) dimensions, with Boolean (0=No, 1=Yes).
(C) DimProduct
a. Dimension Key: WebupdateProductIDSurrogate_PK
i. One row equates to one product.
ii. Type 2 slowly-changing dimension (SCD 2), with StartDate, EndDate to capture Product change history
iii. Common to all dimension hierarchies and fields.
iv. Surrogate PK is the integration key between the e-commerce and web-based product registration source systems, since they
systems, se disparate product keys and hierarchies.
b. IsInferred field supports minimal dimension entry for (early arriving) facts mistakenly arriving before corresponding dimension
updates, which will then populate the other, temporarily null, fields in the row.
c. Multiple independent hierarchies (‘…ProductLevel…’, ‘…ProductLevelAlternate…’) in a single, denormalized dimension table.
d. A Role-Playing Dimension will be used (either in cube dimensions, or as relational views for relational reporting), for the following
two reasons:
i. This Product dimension is a conformed (standardized master) Product table, and serves as the analytic product-related
integration point between the two otherwise disparate sales channels.
ii. Noting that the two fact tables represent different processes, queries that drill into or filter one fact table by product must not
be forced to filter the other one identically, even if fields from both fact tables appear in displayed output.
(D) As with DimSubscription, the DimProduct table must relate to many other tables, too; which we will fully address in a subsequent section.
Set 5 Notes:
(A) FactWebCartItemTrans: Already described on previous page.
(B) DimWebSalesChannel is a hierarchized, denormalized dimension describing the various websites referring online purchasing customers
directly to firm’s e-commerce cart.
_______________________________________________________________________________
Set 6: FactSweepstakeParticipationTrans, DimSweepstake, FactM2MBridgeSweepstakeCountry, DimCountry
__________________________________________________________________________________________________________________________________________________________________________________
Page 15 of 27
16. *** Preliminary M2M Note: The schema’s first simple (non-cascading) M2M relationship is described here.
(A) FactSweepstakeParticipationTrans: Transaction-grained fact table
a. One row equates to one customer participating in one sweepstake
b. The only allowed value in ‘…Count’ field is {1}, and it serves as a filterable row-count.
(B) Dimension tables with (non-cascading) M2M Relationship: Three left-most tables above.
a. Why M2M? The Business requirement for the M2M relationship between DimCountry and DimSweepstake is that (1) sweepstakes
can span multiple countries, (b) multiple sweepstakes can be available to participants in a single country, and most importan tly, some
countries prohibit sweepstake participation, and we can follow that with the DimCountry.AllowSweepstakes field. DimCountry could
be converted to a Type 2 SCD if we needed to track those changes historically.
b. For a quick review of how-to, using MS Analysis Services (2005 or later), implement the simple (non-cascading) M2M relationship
between DimCountry attributes and FactSweepstakeParticipationTrans measures, interested readers can do the following. Others
(SSAS Seniors) should skip forward.
i. Create dimensions for DimCountry and DimSweepstake
ii. Build a cube named Marketing Pipeline Intelligence, adding both dimensions and measure groups (fact tables) as shown
above.
1. Note: The only dimension-fact relationship type that will not automatically be correctly established during cube
construction is DimCountry-to-FactSweepstakeParticipationTrans.
iii. To relate DimCountry to FactSweepstakeParticipationTrans: (1) In BI Dev Studio (herein ‘BIDS’) open Cube from Solution
Explorer; (2) go to Dimension Usage tab; (3) locate the grid-intersection position of DimCountry Dimension and
FactSweepstakeParticipationTrans Measure Group; (4) click elipse button; (5) in ‘Select relationship type’ choose ‘Many-to-
__________________________________________________________________________________________________________________________________________________________________________________
Page 16 of 27
17. Many’ instead of the more common “Direct”; (6) Dimension: select ‘DimCountry; (7) Intermediate measure group: select
‘FactM2MBridgeSweepstakeCountry’; (8) Click ‘OK’.
c. The challenge of the additional required M2M relationships in this schema, including “Cascading Many-To-Many” relationships
involving the above four tables, as well as ‘M2M plus Referenced Relationships’ will be described together in a subsequent section.
_______________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________
Page 17 of 27
18. Set 7: Relationships of Core Fact Tables And Two Selected Dimensions: FactMarketingPipelineAccumSnap,
FactSweepstakeParticipationTrans, FactSubscriptionActionTrans, FactEEcommerceCartItemTrans, FactProductRegistrationTrans, DimLeadEmail,
and DimConsumer
__________________________________________________________________________________________________________________________________________________________________________________
Page 18 of 27
19. Note:
(A) ‘…AccumSnap’ table serves double duty here, not only as a fact table per se, but also as a join / intermediate dimension between the four
‘…Trans’ facts (on far left above) and two outrigger / Referenced dimensions (on the far right in the above screenshot):
a. In order for the ‘DimLeadEmail’ and DimConsumer’ dimensions to relate to each of the ‘…Trans’ measure groups, the
‘…AccumSnap’ measure group (with its granularity being coarser (higher) than the ‘…Trans’ measure groups, yet finer than the two
dimensions, we will also need to use the ‘…Accumsnap’s one PK field and both of it’s (non-date-related) ‘…_FK’ fields to form a join /
intermediate dimension.
_______________________________________________________________________________
Set 8: Core M2M: Most of the Core Many-to-Many (M2M) Relationships
__________________________________________________________________________________________________________________________________________________________________________________
Page 19 of 27
20. Slicing the Above ‘…AccumSnap’ Facts with The Three Left-Most Dimensions Above:
As the Business Requirement Summary dictates, measures in the ‘…AccumSnap’ fact table (uppermost on this page) must be sliced by each of the
three dimensions shown here (left-most). Since none of them relate directly to ‘…AccumSnap’, and since each of the in-between ‘…Trans’ fact
tables has a finer granularity than either the ‘…AccumSnap’ or the corresponding dimension, the relationship here is M2M, with the respective
‘…Trans’ fact tables serving as M2M bridges. In SSAS, these are referred to within the M2M relationship as ‘Intermediate Measure Groups’. As a
parting note on this Set, I acknowledge that it is atypical of an M2M relationship insofar as no dimension table exists between
‘…AccumSnap’ and the ‘..Trans’ fact table. However, the essential M2M relationship is the same, and testing demonstrates that it works
correctly. This paradigm applies identically to the next set as well. Feedback on this from expert reviewers is certainly appreciated!
Slicing of Each of The Above Three Sets of ‘…Trans’ Facts with Each of The Above Three Left-Most Dimensions Above:
This is more challenging since, for two of the three above dimensions, their relationship with two of the fact tables is far from direct. Let’s break it
down.
Slicing FactProductRegistrationTrans by DimSubscription:
Why?: Business Requirement Item (M): Determine which of our newsletters (subscriptions) or sweepstakes coincide with best and worst
revenue performance and with what time relationships (ie. between subscription (or sweepstake) and purchases.)
How to (in MSAS)? The Fact-Dimension relationship here is M2M, with FactSubscriptionActionTrans (it’s adjacent fact table) serving as the
Intermediate Measure Group.
Slicing FactECommerceCaretItemTrans by DimSubscription:
Why?: Same as above.
How (in MSAS)?: The Fact-Dimension relationship here identical as above, except for the ‘destination’ fact table.
Slicing FactSubscriptionActionTrans by DimECommerceSalesChannel:
Why?: Business Requirement Item (N): Determine the ECommerceSalesChannels (ie. referring e-commerce websites) that coincide with
the most, and fewest, newsletter subscriptions (and what time relationships).
Relationships here only differ from the above ones by, obviously, different ‘destination’ and ‘Intermediate’ (adjacent to dimension) measure
groups.
Slicing FactSubscriptionActionTrans by DimProduct (in both of it’s two dimension roles):
Why?: Business Requirement Item (O): Determine which exact Products (both online-purchased or registered) that coincide with most and
fewest subscriptions to specific newsletter (and time relationships).
How to (in MSAS)?: Relationships here only differ from the above ones by, obviously, different ‘destination’ and ‘Intermediate’ (adjacent to
dimension) measure groups. Notably, this process will be duplicated, since DimProducts will play two roles in our cube, with each role using
it’s own adjacent ‘Intermediate Measure Group’.
_______________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________
Page 20 of 27
21. Set 9: More Complex M2M Relationships. Discussed below in two sub-sets
First SubSet (Unique M2M): Recall that the business also requires that ‘…AccumSnap’ measures also be sliced by both Sweepstake and
(Sweepstake) Country, so now we not only have another simple (one-bridge) M2M relationship but, in fact, a Cascading M2M (more than one M2M
bridge-joins in a series), to get from DimCountry to ‘…AccumSnap’. In MSAS, this complex relationship must be built AFTER the non-cascading
M2M for DimSweepstake to ‘…AccumSnap’, so it can be built on top of it. Once that is done, cube designers are reminded that, for the
aforementioned Cascading M2M relationship, the Intermediate Measure Group should be FactM2MBridgeSweepstakeCountry (adjacent to
DimCountry), not ‘…Trans’ (adjacent to ‘…AccumSnap’). Thank you, Marco Russo! (For insight into M2M design fundamentals, see
http://www.sqlbi.eu ,then /Projects/Many-to-Many Dimensional Modeling). Also unique here is the fact that this particular relationship is
atypical even with the Cascading M2M category. Specifically, this setup does not one M2M bridge-joins, not two, but rather one and one-
half (count them). As you’ll see in the next screenshot of prototype cube-browse results, it does indeed provide accurate end results.
Expert feedback is requested on this.
Second SubSet (Still More Unique M2M): ‘Combined M2M…Referenced Relationships’ Remember that the business made the odd request I
listed as Item ‘L’ under ‘Ad-Hoc Query Types’ in this paper’s introduction, which is to allow for answers to the question: “What lead demographics
can we find that most clearly differentiates our Sweepstake Participants, according to individual Sweepstake and by Country from which a specific
Sweepstake Participation occurred?” To answer this question, we must now relate DimLeadEmail to ‘FactM2MBridge…’ (specifically, the
‘FactM2Mbridge…’measure is ‘SweepstakeCountryUniqueCombinationsCount’. To accomplish this, we will establish a still-more complex fact-
dimension relationship. This time, of course, the fact table is ‘FactM2MBridge…’. This is a truly unique M2M relationship. Specifically, it is a
(non-cascading) Combined M2M… Relationship (from ‘FactM2MBridge… ‘ to ‘FactSweep…Trans’, which will be built using the
__________________________________________________________________________________________________________________________________________________________________________________
Page 21 of 27
22. ‘Intermediate Dimension’ from an existing …Referenced Relationship (from DimLeadEmail (a referenced dim) to ‘FactSweep…Trans’ with
(in SSAS OLAP) ‘InterDim_Fact …AccumSnap’ as an intermediate dimension). The following other dimensions can use an identical
relationship setup to relate to “FactM2MBridge…”: DimConsumer, (SSAS Role) DimDateLeadNewReceived, and (SSAS Role)
DimDateConsumerNewInfoReceived).
Since you, the reader, obviously cannot test the results in the above screenshot yourself against my un-published source data, you’ll
have to trust me for now that the result is correct. The following notes on source data rows may help: (1) The ‘CanadaSpecial’ Sweepstake
was available only in Canada; (2) the ‘GlobalDrive’ Sweepstake was available both in Canada and the USA. (3) ‘Grace…’ participated in both; (4)
‘Tom…” participated only in ‘GlobalDrive’. As always, browsing valid M2M results causes unusual, non-additive displayed results, especially
depending on placement of dimensions. However, I have verified that they are indeed correct, which demonstrates that even the unusual
“Combined M2M…Referenced” fact-dimension relationships in this schema, such as this one between ‘Lead Email’ and
‘LeadsIntoInitialSweepPartipLagDays AvgMDX’, can produce accurate results. Specifically, ‘Lead Email’ is able to accurately slice ‘Fact
M2M Bridge Sweepstake Country Count’, even though the relationship between the two is this “Combined M2M…Referenced” type.
__________________________________________________________________________________________________________________________________________________________________________________
Page 22 of 27
23. The screenshot immediately above, from the same prototype SSAS cube’s ‘Dimension Usage’ tab, illustrates some points to discuss
(some on which readers will have to trust my test results)
1. Prior to building the referenced relationship between ‘FactSweep… Trans (using ‘InterDim_Fact..AccumSnap’ as ‘Intermediate Dimension’)
to DimLeadEmail’ (hint: it turns out to be needed first), I setup an M2M relationship between “FactM2MBridge…” and ‘DimLeadEmail’.
Browsing demonstrated that it produced erroneous results on ‘Tom…’. At that stage, no other ‘Intermediate’ measure group was available.
2. Then, after building the referenced relationship just mentioned above, the ‘FactSweep…Trans’ becomes available as an ‘Interme diate
Measure Group’ to our M2M Relationship, and so it was used, with browsing demonstrating the correct values shown in the browser
screenshot just before the above screenshot. So, it seems that we have demonstrated correct values from a Combined M2M
…Referenced Relationship, which is great because it tends to validate the overall approach of placing to many fact tables so
closely related to each other. *** Expert feedback is very much desired on this point. Anyone seen this methodology before? ***
Slicing of Each of The Three Sets of ‘…Trans’ Facts (displayed not above, but in previous screenshot) by DimSweepstake AND
DimCountry:
Here is another challenging set of non-direct table relationships. As before, let’s break these down.
Slicing FactSubscriptionActionTrans by DimSweepstake:
Why?: Business Requirement Item (M): Determine which of our newsletters (subscriptions) or sweepstake events coincide with best and
worst revenue performance and with what time relationships (ie. between subscription (or sweepstake) and purchases.)
How to (in MSAS)? For each of the three aforementioned ‘…Trans’ fact tables, the Fact-Dimension relationship here is identical to many
aforementioned M2M relationships, simply with differing ‘Intermediate’ (adjacent to dimension) and ‘Destination’ Measure Groups.
Slicing FactSubscriptionActionTrans by DimCountry:
Why?: Same requirement as above
How to (in MSAS)? For each of the three aforementioned ‘…Trans’ fact tables, the Fact-Dimension relationship here is our first set of “two
hop” cascading M2M relationships. These can only be built after each of the respective ‘Intermediate’ (single-step) M2M relationships
are built. In each of these cases, the ‘Intermediate’ Measure Group’ is always ‘FactM2MBridgeSweepstakeCountry’. Expert feedback
requested here, especially with regard to experience with query and/or cube processing performance. Who can provide feedback
from experience with Cascading M2M scalability?
_______________________________________________________________________________
Set 10: DimDate
(A) Role-Playing Dimensions Concept: The role-playing dimension concept is well-known and not really a design challenge, per se, for this
schema, so I left it for last in this discussion. Having said that, it is used extensively and requires many of the complex fact-dimension
relationships that are identical to aforementioned ones. Thus, no additional discussion on them is provided here. For individual role
names and relationships, see the embedded “Cube Dimension Usage” table in this document. Lastly on this point, within each role, I
will usually append the role name to each field, such as ‘Week_LeadNewReceived’.
(B) Business Value: The six role-playing dimensions enable users to slice all fact tables by the dates associated with any of the other fact
tables, which is one of ways in which this schema provides anwers to a huge array of questions.
__________________________________________________________________________________________________________________________________________________________________________________
Page 23 of 27
24. (C) Note on MDX Time-Series Calculations Utility Dimensions: The six role-playing date dimensions, once in the cube, can each support an
MDX Time Utility Dimension. My approach here is, generally, to make all six of them identical in terms of calculated values. Although
beyond the scope of this paper, at last two web resources can help those wanting to learn more about the technique.
a. ‘Date Tool’, by Marco Russo: URL is… http://www.sqlbi.eu/Projects/DateTool/tabid/87/Default.aspx
b. ‘A Different Approach to Implementing Time Calculations in SSAS”, by David Shroyer -- OLAP Solutions: URL is…
http://www.obs3.com. Under ‘Papers’, see ‘Time Calculations’.
(D) Here’s the screenshot. Again, to see the role names, please refer to the embedded “Cube Dimension Usage” table.
__________________________________________________________________________________________________________________________________________________________________________________
Page 24 of 27
25. Reference 3: Big Picture: Marketing Pipeline Intelligence Schema (All Tables and Fields)
__________________________________________________________________________________________________________________________________________________________________________________
Page 25 of 27
26. Conclusion:
Recall the Catch-All Item (K) in the introduction’s “Required Ad-hoc Query Types” section, which stated…
Except where the granularity of the business data logically prevents it, all quantitative facts (measures) must be able to be
broken out by Distribution Channel, Product, E-Commerce Sales Channel, Consumers demographics, skill-level, sport-activity-
level, known attitudes, geography and timing.
It seems that we have accomplished that and, as a result, can offer an enormous range of sophisticated ad-hoc querying, which was our major goal.
In fact, all measures in all fact tables can be browsed against all attributes from all dimensions, which is valuable given that this schema tightly
integrates many separate business processing into a single, flexible analytic interface. With the ‘Fact…AccumSnap’ as the central fact table in our
Schema Hub, we also have the extensibility to support the addition of other consumer touch points, whether they are dimension-like or transaction-
like, by simply adding them into the Schema Hub via the “Fact…AccumSnap” fact table, and then adding their associated “…Count” and
“…LagDays” measure fields there, too. Mission accomplished.
Questions, comments and expert critiques from readers are very welcome
Since this paper is a draft, please provide your feedback to me in my DecisionLab Forum (vs. the more public Windows Live, MSDN forum’s etc.) at
http://forum.decisionlab.net/User/Discussion.aspx?id=203097. In doing so, readers will be able to view and/or comment on, feedback from others.
Following expert feedback and possible revision, I would like to publish it more widely (eg. MSDN, Windows Live, etc.), and, in fact, suggestions on
places to publish it are most welcome. DecisionLab Forum access is, by default, immediately granted once username and password are set up, so
it should be easy and quick.
Those who experience problems with forum access or entries should email me at dupton@decisionlab.net. Lastly, I intend to blog on this and
similar topics. See http://blog.decisionlab.net
________________________________________________
Daniel Upton
dupton@decisionlab.net
DecisionLab.Net
business intelligence is business performance
__________________________________________________________________________________________________________________________________________________________________________________
Page 26 of 27
27. DecisionLab.Net
_________________________________________________________________________________________________________________________________________________________________________
Daniel Upton
DecisionLab http://www.decisionlab.net dupton@decisionlab.net
Direct 760.525.3268 http://blog.decisionlab.net Carlsbad, California, USA
__________________________________________________________________________________________________________________________________________________________________________________
Page 27 of 27