Sunteți pe pagina 1din 27

Business Intelligence Solution for

Multi-Level-Marketing

Case Study

Many Minds...One World

Multi-Level-Marketing Data Warehouse

C l ien t Profile
The client organization is a leading developer and provider of dietary supplements and skin care solutions. It is proprietary health care and independent distributors referred to as associates distribute nutraceutical products through network marketing channels. Consumers of the product who do not earn commissions referred to as Members. Since incorporation, the business has developed in domestic (United States and Canada) and international markets, including:
! ! ! !

Europe: United Kingdom, Germany and Denmark Asia: Japan, Taiwan, and Republic of Korea Pacific Rim: Australia, New Zealand and Singapore Africa: South Africa

Bus i ness C a s e : E n d- t o-End B I S yste m Im p l emen t a t i on


Oracle JD Edwards EnterpriseOne Enterprise Resource Planning (ERP) application and integrated third-party systems are implemented in all global corporate locales. A Business Intelligence system was the need of the hour to support their continued rapid growth and aggressive international expansions.

This paper showcases the project which was to develop and implement a Business Intelligence (BI) System that harnesses data from JD Edwards and provides executives and management; dashboard, KPIs, drill down reports on a data warehouse and series of connected Data Marts and Cubes.

The objective of phase-I of the BI implementation was to fulfill the reporting, querying, publishing, sharing, printing, dashboard, usability requirements in the domain of Sales (product, pack, promotions, promotional material, automatic orders, returns), and Recruitment (Business Builder, recruitment, retention, up-line analysis, down-line analysis, product consumers).

Many Minds...One World

> Page 1

Multi-Level-Marketing Data Warehouse

B i tW i se E ng a g emen t
BitWise was involved in following activities throughout the Phase-I of BI implementation:
! ! !

Hardware Capacity Planning Software platform recommendations Defining technical requirements for the BI system and establishing best practices for BI implementations

! ! ! ! ! ! ! !

Defining System Architecture Detailed System Design Data modeling for the Data Warehouse, Data Marts and Cubes Environment set-up Design and build ETL layer including Data Rationalization Design Data Quality Checks and Balancing process Build Data Warehouse, Data Marts, and Cubes with detailed metadata Design, Build and Test the drillable reports, dashboards, KPI reports, Trend Analysis based on a daily, weekly, business period, monthly, quarterly, semi-annual and annual basis

! ! !

Integrate the reporting solution in the clients existing SharePoint based intranet portal Implementing the system Deliver Training and User Documentation

Many Minds...One World

> Page 2

Multi-Level-Marketing Data Warehouse

The S ol ution
The ensuing sections illustrate the implemented BI solution and development methodology.

R e commended Hardware Ar c hitectu r e


BitWise proposed, robust, scalable though simple hardware architecture. This recommended configuration fulfills Phase I requirements including Load Balancing, High Availability and Disaster Recovery needs. The hardware design is scalable to cater to future BI needs. The goal is that most outages have minimal to no impact in availability while catastrophic outages can addressed in minimum time.

The above-proposed architecture suggests usage of VM Clusters. VM Clusters VM Cluster uses two or more nodes, each running an instance that accesses single shared-disk storage. In a cluster environment, all active instances can concurrently execute transactions against the shared database. VMotion automatically coordinates each instances access to the shared data to provide data consistency and data integrity.

Many Minds...One World

> Page 3

Multi-Level-Marketing Data Warehouse

VM Cluster along with VMotion provides the following key benefits: Availability provides near-continuous access to storage with minimal interruption from hardware and software component failures Scalability allows nodes to be added to the cluster to increase processing capabilities without having to redistribute data or alter the user application Manageability VM Cluster allows continuous server availability in the event of component, instance, or node failure. If an instance or node fails, the surviving instances automatically perform recovery for the failed instance and continue to provide the required service. User applications are always accessible if there is at least one available instance running in the cluster. Along with effectively handling unscheduled outages (e.g., instance or node failures), VM Cluster gives the administrator the ability to perform scheduled maintenance on a subset of nodes or components of the cluster while continuing to provide service to users. VM Cluster automatically harnesses the processing power of additional nodes as they are brought into the cluster, thus providing scalability with no or minimal downtime. VM Cluster can also automatically balance new application connection requests among the available instances, based on lowest processing load and fewest connections. A key component to VM Cluster
!

Automatically optimize and allocate entire pool of resources for maximum hardware utilization, flexibility and availability

! !

Perform hardware maintenance without scheduled downtime Proactively migrate virtual machines away from failing or under-performing servers

To ensure scalability, the connectivity must be a high-bandwidth, low-latency link. When maintaining a VM Cluster environment, since it is a single storage accessed by multiple instances, a single system image is preserved across the cluster for all database operations, which simplifies manageability.

Many Minds...One World

> Page 4

Multi-Level-Marketing Data Warehouse

System Architecture
The diagram below illustrates the overall BI system architecture. It caters to the following aspects:
! ! !

The Extraction and Transformation jobs fetch data from JDE database The transformed data then is loaded into the staging database After successful completion of checks and balances on staging database, the data is then loaded in the Data Marts and then in Cubes

! ! ! ! !

High Level Data Quality Checks and Balances are performed at every stage Canned and Ad-hoc Reports are generated using data loaded in Cubes/Subject Area Data Marts These reports are available through BI Web Portal based on user access security groups All ETL and Reporting jobs are scheduled using Active batch job scheduler The system is designed for regular data backups and archival for Disaster Recovery

Many Minds...One World

> Page 5

Multi-Level-Marketing Data Warehouse

Software Architecture
The software component architecture based on Microsoft Technologies is as illustrated in the diagram below.

Database Server SQL Server 2008 is used to maintain the staging database and data warehouse/marts database. Following are the features with respect to Database Engine 2008 that were considered whilst designing the Data Warehouse in addition to regular database best practices:
! !

Data Compression Partitioning The tables and indexes are partitioned based on Business Periods

ETL Tool SSIS 2008 is used as ETL tool to extract the data from JDE and load into the data warehouse as per the requirements Following are the features with respect to SSIS 2008 that are used during ETL development:
! !

Caching for Lookup Transformation Pipeline Parallelism

Many Minds...One World

> Page 6

Multi-Level-Marketing Data Warehouse

Analytical Services Tool To get the data in analytical form, SSAS is used to create the cubes. Following are the features with respect to SSAS 2008 that are used whilst designing the OLAP:
! !

Aggregation Design Attribute Relationship designer

Reporting/Dashboard Tool SSRS and Performance point server are used to create reports and dashboards. These reports and dashboards were then integrated with SharePoint and made available for the end users.
! !

Data-driven subscriptions SSRS in SharePoint integrated mode

Web Portal SharePoint is being used to publish the reports/dashboards for the end users. This BI reporting site is integrated with clients intranet portal. Job Scheduling Active Batch scheduler is used to schedule all the required ETL and Cube jobs. There are daily and few specific time interval jobs to cover all BI requirements.

Configuration Management The team foundation server (TFS) used as configuration management tool for maintaining the code developed using SSIS, SSAS and SSRS/PPS. It manages the code during development and testing phase and maintains the same after deploying it in development and production environment.

Many Minds...One World

> Page 7

Multi-Level-Marketing Data Warehouse

S y stem Implem e ntation


ETL Process
Source Systems The ETL process is designed to load the data from the JDE source system and get it in the required dimensional data warehouse format.

Changed Data Capture The data in the data warehouse/mart has been loaded since April 2007 - till date. The ETL process runs on daily basis to load the data changed over last 2 days. This is to cover the international transactions timing aspect. Some of the ETL loads are done periodically based on the business requirements. The changed data at source side is identified with modified date/time fields for last 2 days and only this changed data, is transformed and loaded in the data warehouse/mart.

Aggregations To provide optimal performance for the cube generation and reports, required aggregations are performed in staging area and accordingly the model is loaded with this summarized data.

Data Quality/Checks and Balances/Validation Process Data validation carried out in staging area ensures that the data is good to be loaded in data warehouse/mart. Data quality process ensures that data that is loaded in dimensions and facts are reconciling to the sources. There is appropriate referential integrity maintained at dimension and fact tables. Data is consistent across the data warehouse/mart. There is further reconciliation done at Data Mart and Cube Levels to ensure highest level of data accuracy.

Error Handling Routines Error handling routines ensure data integrity and consistency at each SSIS package.

Auditing/Logging and Recovery Procedures Logging and audit trails maintained at each SSIS package level help in debugging incase of errors or problems.

Many Minds...One World

> Page 8

Multi-Level-Marketing Data Warehouse

Automated Monitoring and Alerts/Notifications


Auto alters and notifications generated and sent to appropriate users/systems, in case of errors or successful completion of ETL process through Active Batch. Data Mart and Cube Sales and Recruitment Data Mart The Data model for the data mart has dimensional structure which helps in providing multidimensional view of

data and useful for analytical reporting. For phase I, the data mart holds history data for sales and recruitment subject areas since April 2007. The mart is designed in such a way that it will be easier to track down data to any day level to get the history information. Data mart caters to all the phase I reporting requirements of sales and recruitment subject areas. In addition, it will be able to feed the on-going ad hoc reporting requirements for these subject areas. Data in data mart is maintained at granular level. This enables tracking information at a detailed level. In addition, to cater to reporting necessities, required data is aggregated and maintained in summarized format. On daily basis, Data Mart data is updated as per the source systems. Some data elements related to commission and leadership are refreshed at different time intervals. Cube The cube in BI systems caters all the sales and recruitment reporting requirements. Having the reporting source as cube makes it easier to provide information in multidimensional view. In addition, the cube provides following basic functionalities that are appropriate for analytical decision-making:
! ! ! ! ! ! !

Hierarchical view at different levels Drill down, Drill through Slice and Dice Diverse aggregated measures Catering role based configuration requirements Role based data security Multilingual capabilities

Once the data mart is refreshed using ETL, the cube is refreshed to be up to date with the latest data mart information.

Many Minds...One World

> Page 9

Multi-Level-Marketing Data Warehouse

To ensure optimal performance on the cubes following strategies are applied:


! ! ! !

Partition strategy is applied depending on the data size and data access requirements Rolling window approach is used for specific data storage requirements User based optimization Query based optimization

Reporting All the reports developed as of part of BI Phase I implementation are available on the Web. The BI reporting site is integrated with clients intranet portal based on SharePoint (MOSS). Access to the reports/dashboards is based on role based security and configuration. Specific users have accesses to specific reports and data within those reports. All these reports are stored in document library in SharePoint (MOSS). Users can request specific data to be made available on the reports. In this case, the requesting user can get access to canned reports, if available any, for a particular time period. Administrator of this reporting site has rights to maintain the security levels and making data available to the users as per their needs. All the reports will have capability to print, export to excel and distribute via e-mail. The reporting site is available most of the time except in maintenance window. All Reports/Dashboards are stored at a central location in SharePoint Document Library.

Many Minds...One World

> Page 10

Multi-Level-Marketing Data Warehouse

The S ol ution
Following sections highlights the special requirements as stated by business to be implemented in the BI solution

Tree Structure Implementation


Tree structure implementation was the core requirement of the system due to the multi level marketing domain. The tree was having approx. 2 million nodes and as history was to be maintained in data warehouse scenario, it was imperative to have a very efficient tree traversal. Most of the recruitment analytical reports needed tree traversal to identify down line and up line information. To accomplish this, a field was introduced in the system that keeps the path of each node. Using this any node can be reached or its down line or up line information can be gathered. This solution worked very efficiently ensuring optimum performance while generating reports using tree information.

Int e rn at i o nali z atio n


As the client has its business spread across the globe, one of the special requirements was to have all the amounts shown in multiple currencies. They have a concept of global currency, region currency and local currency. The transactions are done using local currency. However, the reporting requirement was to show the revenue figures in any currency they currently deal with. i.e. global currency (USD), region currency (AUD), local currency (SGD) or in any other currency (YEN) etc. The SSAS cube was developed having many-to-many currency conversion to achieve this requirement.

M inimal S ys t e m Do wn Ti m e D ue t o Int e r natio nali z at i o n


Due to internationalization aspect, it was required to have the reporting system availability most of the time throughout the day. Thus to achieve minimal downtime and to provide 24/7 reporting, two sets of SSAS cubes were maintained. During the time, one of the cubes being refreshed, the other cube serves the reports. Once the cube refresh is over, the reports are re-directed to the latest updated cube. The renaming and swapping of the cube is done in couple of minutes achieving minimal to no downtime of the reporting system.

Many Minds...One World

> Page 11

Multi-Level-Marketing Data Warehouse

A backup of this updated cube is also taken. This ensures reporting solution availability at all times. Also, it will cater to the future requirements if the cubes need to be refreshed multiple times in a day. In addition, this entire cube refresh and swapping process scheduled through Active Batch scheduler ensures no manual intervention.

Per formance Crit e rion


The performance criterion on the reports was of 20 seconds for most of the dashboards and reports. To achieve this, the SSRS feature of data driven subscriptions was used. This ensured that for most of the parameter values the dashboards and reports are cached, and those show up in less than 20 seconds. In addition, the data driven subscription jobs are also scheduled daily to run after cube refresh to show the latest data or to email the reports to specific users as per their requirements.

Sh a r e Poi nt Int e g r a t ion


To make the reports available on intranet there was a requirement to integrate the BI portal with the existing SharePoint implementation. This was achieved by providing an additional link on the existing site and ensuring single sign-on. In addition, the SharePoint security was well integrated with the BI systems role based security. Also, SSRS was deployed using SharePoint integration mode to make optimum usage of latest features.

C onfi g urab l e Pa r am e t e rizat i on


One of the parameterization requirements was to make those configurable so that underlying report design is not changed. Thus to implement this, control tables were introduced in the system and these were integrated with role based security or report filter criteria. These table fields added a lot of flexibility and changing parameter was a quick change in value of a field. With this the result was that a report/dashboard could show information as per new value without changing any code or design.

Rep o r t Dril l Dow n and Dril l Ac ro s s Fu nc tio n a l it y wi t h Di f fer e nt D i me ns i o nali t y


One of the special reporting requisites was drill down capability having different dimensionality. e.g. drilling down from associate dimension into product dimension to order dimension etc. To achieve this fact tables were

introduced as dimension tables while designing the cube. This ensured drill down or drill through aspect across multiple dimensionality.

Many Minds...One World

> Page 12

Multi-Level-Marketing Data Warehouse

Ad Hoc R e por tin g Capabil i ties


One of the reporting requirements was to provide ad hoc reporting capabilities to the users apart from the canned reports shared on the web portal. This requirement was achieved by providing Excel sheet links on the reporting web site. These Excel sheets have SSAS cube connection embedded into it, providing the power users to create their own reports using Excel as per their requirements. These reports then can be saved to their local machines.

Following are some of the sample dashboards and reports. All the dashboards are based on business period to date i.e. BP to Date time period, where the comparative analysis is done across global areas and business periods for a specific number of days. All the reports have multiple selection criteria provided. The users can create reports as per individual requirements.

Many Minds...One World

> Page 13

Multi-Level-Marketing Data Warehouse

Business Development Dashboard:


This dashboard provides information and analytical comparison related to recruitment, activation and retention counts across global areas.

Many Minds...One World

> Page 15

Multi-Level-Marketing Data Warehouse

Revenue Dashboard:
This dashboard provides revenue information and comparative analysis across countries and currencies.

Many Minds...One World

> Page 16

Multi-Level-Marketing Data Warehouse

Marketing Dashboard:
Marketing dashboard provides data like top five selling products or revenue of products that are configured for monitoring, revenue percentage by different products, etc.

Many Minds...One World

> Page 17

Multi-Level-Marketing Data Warehouse

Report Links:
This page has Business Development Metrics that gives overall business analysis. In addition, this page has links to different reports and link to ad hoc reporting excel sheets.

Shown below are some report samples. Most of the reports show trend analysis against pervious times with respect to revenue, revenue averages, counts or count averages, down line, up line data, etc.

Many Minds...One World

> Page 14

Multi-Level-Marketing Data Warehouse

Recruitment Score Card Report:


This report provides information related to recruitment revenue and counts across business periods and comparative analysis against different recruitment levels and drill down at product levels.

Total Recruitment for 3BPs Trend and Comparison with last year.

Total Recruitment over last 13 Business Periods.

Total Recruitment for 13 Bps

Many Minds...One World

> Page 18

Multi-Level-Marketing Data Warehouse

Hyper Growth Report:


The purpose of this report is to identify leaders with very high growth or decline based on volume points within business periods. In addition, this report has the functionality to get this similar information for the associates immediate down line and up line.

Many Minds...One World

> Page 19

Multi-Level-Marketing Data Warehouse

Product Mix and Product Mix by Organization Reports:


This Product Mix report is used by marketing team to do market analysis of the individual group of products further drilled down to individual items. Similar to Product Mix report, Product Mix by Organization reports provides this information for an associates entire down line. In addition, gives links to associates immediate down line and up line for whom same information can be generated.

SAMPLE DATA

Many Minds...One World

> Page 20

Multi-Level-Marketing Data Warehouse

D evel op men t M et hod ol o gy


Illustrated below are the development methodology highlights during execution of this project. 1 . Availability of skilled engineers to assist in the initial design and implementation of the preferred solution BitWise is a preferred consulting partner to several corporations big and small in the US and has a large pool of employees consulting at various locations. Bench strength is also maintained for rapid deployment. This pool of consultants is augmented by independent contractors who are brought on board on an as need basis. BitWise also has its own dedicated offshore development center based in India staffed with highly trained and experienced technical resources with connectivity to different client locations in the US. For this implementation, onsite-offshore execution model was followed. Skilled resources like data modeler, data warehouse architect were deployed onsite during requirements elicitation and data modeling phases. Onsite coordination continued throughout the remaining phases that were executed at offshore.

2 . Dedicated account representatives available within one business day BitWise makes account representatives available within a business day. Following is the engagement and execution model followed for the project:

Many Minds...One World

> Page 21

Multi-Level-Marketing Data Warehouse

3 . Exceptional and proactive communication skills As depicted in the above Engagement Model, BitWise ensures formal channels are established for effective communication, reporting and escalation at all levels. BitWise ensures all resources engaged in client interaction possess the necessary skills and understand the importance of timely and factual communication. BitWise strives to facilitate communication through a Communications Plan, which is composed of many components. This plan illustrates both functional and technical lines of communication. The Communication Plan also serves as an escalation and issue resolution path for all project participants. In addition, Communication documents are constructed covering:
! !

Weekly Status Reports Monthly/Quarterly Project Progress Reports

Many Minds...One World

> Page 22

Multi-Level-Marketing Data Warehouse

! ! ! ! ! !

Regularly scheduled meetings Stakeholder and team contact lists Escalation policies Change Control (Also part of Scope Planning) Issue Logs Knowledge Transfer Plan

The Knowledge Transfer Plan component of the Communications Plan deserves special emphasis. Too often, consulting engagements end with a client holding only program code and arcane technical manuals. BitWise believes that transfer of technical knowledge is as important as delivery of the system itself. Knowledge Transfer is an interactive process, concluding when the client is satisfied that their personnel are fully prepared to take on responsibility for operation and maintenance. During this project, it was ensured that entire system knowledge was transferred to the client team by conducting several knowledge sharing, training sessions on various aspects of the system. This included sessions covering knowledge related to data model, database design, ETL packages, SSAS cubes, SSIS Reporting and Performance Point Server deployment, SharePoint integration and deployment, Active Batch Scheduling, Configuration Management using Team Foundation Server, etc. Exhaustive user manuals explaining all the above aspects in detail accompanied all these sessions. All engagements, irrespective of the size of the project have a senior person from top management associated as Account Manager. The account manager interacts with the client point of contact on a regular basis to ensure that the project progresses as per the plan. Client can escalate all issues to the account manager and in the event of dissatisfaction with the account; an escalation can be done to BitWise senior management.

BitWise development center is ISO certified for Quality and security. We have mature Quality processes in place, which work towards successful execution and completion of the project. BitWise defines Quality as characteristics identified by:
! ! !

Satisfies or exceeds an agreed upon set of requirements, and assessed using agreed upon measures and criteria, and produced using an agreed upon process

Many Minds...One World

> Page 23

Multi-Level-Marketing Data Warehouse

We measure Quality using several dimensions; some apply to process quality, some to product quality and some to both
! ! ! ! !

Progress such as use cases demonstrated or milestones completed Variance differences between planned and actual schedules, budgets, staffing requirements, etc. Reliability resistance to failure (crashing, hanging, memory leaks, etc.) during execution. Function the artifact implements and executes the required cases as intended. Performance the artifact executes and responds in a timely and acceptable manner and continues to perform acceptably when subjected to real-world operational characteristics, such as load, stress, and lengthy periods of operation

Many Minds...One World

> Page 24

Multi-Level-Marketing Data Warehouse

C l ien t Te s t imoni a ls
Clients Sr. Director of Global IT Development and Sr. Director of Global Expansion, had this to say about the implementation: "BitWise helped us provide its management and staff in global locations with the measures needed to focus on strategies and short-term opportunities for increasing revenue. The solution is relatively inexpensive and provides immediate access to the graphs, tables and reports for all employees who need them. BitWise did a professional job in assisting us design the cost-effective BI architecture and implement 'phase one' of BI. The BitWise team consisted of technically competent and committed resources and allowed us to create a system with a very tight budget and in a very short duration of just six months. BitWise leveraged it's design and architecture teams based in the United States, supplemented by the offshore development center in Pune, India, to provide us with an end-to-end solution delivered on time and under budget. The solution was implemented on the Microsoft BI suite using Microsoft SQL Server 2008, SSIS, SSAS, SSRS and Microsoft Performance Point. Clients General Manager of North America, summarized the Business value delivered by BitWise in these words: "'Business Intelligence' has provided us a personal, on-demand capability to see key information about our worldwide business that we can use to immediately understand our current position, and make decisions about what we need to address to improve our business. I am particularly excited about the improvement in quickly identifying opportunities to coach our independent sales associates to greater success in their business efforts. BitWise has proven to be a willing and able partner to listen, identify the issues to satisfy our needs, and devote competent resources to achieve our goals. Clients Project Manager, who worked closely with BitWise technical team has given below feedback on this system implementation: Bitwise displayed exceptional technical abilities, commitment, flexibility, responsiveness and dedication towards the project. The team spent numerous nights and weekends to meet deadlines. They have exceeded our expectations and created an excellent Business Intelligence solution (requirements, design, data model design, Analysis Services cube design, Report, SharePoint, Performance Point Portal, Security, Release planning, Hardware and software scoping ) within a very short time frame. Highly recommended; I would certainly like to work with them in the future phases of the project.

Many Minds...One World

> Page 25

CONTACT INFORMATION
BitWise Inc. 1515 Woodfield Rd. Suite 930 Schaumburg, IL 60173 BitWise Australia Pty Ltd. Level 39, 2 Park Street Sydney, NSW 2000 BitWise Solutions Pvt. Ltd. BitWise World Off Intl Convention Centre Senapati Bapat Road Pune - 411016 - INDIA

Phone : 847-969-1544 Fax : 847-969-1500 Email : info@bitwiseusa.com

Phone : 61 2 9004 7887 Fax : 1300 790 860 Email : info@bitwiseaustralia.com

Phone : 91 20 40102000 Fax : 91 20 40102010 Email : info@bitwiseindia.com

SUPPORTING PARTNERSHIPS

tm

Partner

Copyright 2010 BitWise believes the information in this publication is accurate as of its publication date; such information is subject to change without notice. BitWise acknowledges the proprietary rights of the trademarks and product names of other companies mentioned in this document.

Many Minds...One World

S-ar putea să vă placă și