Thursday, January 21, 2010

What is metrics (indicator) and design aspects of it

Overview

Any BI application's main role is to show information based on some measurements. These measurements are called as metrics. E.g. you measure how much sale you have done, so total sales revenue is your metrics. In this article the focus is on such different types of metrics and when and how to use a proper one in the application.

Details

Most of the time when you are designing BI apps, you have few things to consider. Like what type of indicator you will choose to convey the knowledge in your app.
There are three main types of metrics that you can use in your business intelligence application:
1. Leading Indicators: These are the indicators usually used to predict or to forecast type of activity. Let us see where we can use it practically. Consider we have a requirement to create BI apps for sales team. Now they want to measure activities like how many touches are required to convert a prospect into a customer. This is a leading indicator as you are not reporting on the activity happened, it is showing how many calls/activities you need to do to achieve you goal.
2. Lagging Indicators: These are the indicator reporting the activity happened in the past. E.g: If you want to measure any business financial amounts like last year’s sales revenue, growth etc.Generally these indicators will show where you stand currently using the past data. Sometime people refer to these indicators as Key result indicators as well. As they work on the result or activity happened in the past and report the result on it.
3. Key Performance Indicators (KPI): These indicators are different somewhat like leading indicator however some definite things around it have. Like leading indicator will say 10 calls needed to convert a prospect to the customer, lagging will say you have made 5 calls. Now with respect to quota or requirement and time you don't necessarily know whether it is good or bad or you are on the right track. KPIs are used for that. They show your performance in terms like you are on track or behind or ahead. E.g. If you want to see how is sales revenue with respect to sales quota

Conclusion

A proper metrics is used based on which application you are designing for. If it is a BAM-Business Activity Monitoring then Lagging Indicators or KPI will convey the information. If it is sales forecasting then leading indicators can be used.

Design aspects of data staging layer

Overview

You usually have two to three layers approach for data warehousing solution. On of the layer is called a "staging layer".

Data from various sources is staged here temporary till it is processed and transformed into data warehouse. Data in this layer can be relational in nature.
Different data flows of data staging
Pull mode data staging

Push mode data staging

There are two ways to flow data into the data staging layer, one is data pull mode and other is data push mode. What I mean by this is, in pull mode you define a process to read from the data source, either using a date range or reading from delta source. The process reads data and put it into the staging tables. In push mode, delta or changed data is transferred into the staging table by means middleware.

This was the different ways of data flow into data sharing. Let us see now different techniques you can use for this environment.

Different data staging techniques
Store and forward: In this technique, a data is stored in staging area and then used for transformation and loading into Data Warehouse environment, like ELT
Forward and Forward: In this technique, a data is directly read from ODS and directly will be inserted or updated in the Data Warehouse environment

Different types of data loads
Full data load: This is specially used for first time data load into data warehouse. Generally you fetch all the needed data from the source into staging tables. This is time consuming process and the processing time will gradually increase because of data growth rate in the source system.

Delta data load: This is specially used to extract the changed/new records.

Different ways to store data in staging
File: Data can be stored in a file which can then be transformed and loaded into data warehouse.
Database: Staging data can be stored in the database table(s) either permanently or for some time till it gets loaded into the Data Warehouse.

Conclusion
Before designing data staging layer one has to see these aspects of the design. What should be the data flow technique? What should be the data load technique? What should data storing technique?