Tuesday, January 12, 2016

Executive Dashboard & it's Importance - Web Analytics

A Dashboard is a visual display of the most important information needed to achieve one or more objectives; consolidated and arranged on a single screen so that the information can be monitored at a glance. We can define an Effective Dashboard as one that enables the users to visually display the relevant information that effects or is needed to achieve business objectives. An Executive Dashboard gives a clear picture of the data and the insights visually to the corporate executives. Also it gives a sense of the big picture before digging deep into the data insights.
The Executive dashboard is a one place to pull all the information or the data needed for the upper management team or to the executives. It gives numerous benefits to the business executives including:

  • Visibility - It gives the user a great visibility and insights
  • Continuous and Real-time Improvements - The executive dashboard measures your performance and helps to improve throughout the organization.
  • Saving Time - Since it always shows the real-time and latest results, it saves time and cost for the business executives.
  • Measuring Performance against the Plan -  Dashboards helps to analyze and measure the performance goals against the actual & real time results.

An Effective Dashboard features include:
  • Graphical User Interface display that is easy to navigate the information or the data.
  • A logical flow or structure after the dashboard that makes the user to access the data with ease.
  • Visual displays that can be easily customized to meet the specific user needs.
  • Data or the Information from the multiple sources or departments.



Trinity Mindset :-
To design and develop an executive dashboard, we need a strategic approach about the decision making in order to build out a world class decision making platform. It is called the Trinity Mindset.
The goal of the trinity mindset is to find the actionable insights by analyzing the metrics to derive strategic decision and a sustainable competitive advantage. There are three components for a Trinity Mindset which are:
  1. Behavior Analysis
  2. Outcomes Analysis
  3. Experience


Behavior Analysis :-
The first component of the Trinity Mindset is Analyzing the Customers' behavior using Click stream analysis, segmentation & Key metrics. The intent of this process is to get the insights about the Customer behavior and the site visitors.
Outcomes Analysis :-
The second component is the Outcomes Analysis which answers the "So What" questions. This is meant to get the insights on the final outcomes of the actions performed for the customer and the company. This actually helps to measure the website's performance towards achieving their business objectives and the goals. Every website should have a articulated outcome to achieve the goals. The Revenue, conversion rates are the nuances of the outcomes.
Customer Experiences :-
The last and final component is to gain the Customer experiences about the website. This is the most important element as it used to analyze the customer experiences by conducting surveys & usability tests. The Voices of the Customer is important as it helps to take a strategic decision for the executives and also to implement a Customer driven innovation business model.
The Trinity mindset empowers to understand the Customer/User experience so explicitly that you can influence the right customer behavior which will lead to win-win outcomes for the company and its customers.

Building an Effective Web Analytics Dashboard :-
Effective Dashboard is the only solution to manage one or many websites for the client and to organize the relevant data & the analytics. They are created on the fly or in real time. Dashboard is not to visualize all the data available but it is meant to be displaying the relevant data needed for the business. The steps taken to design an effective dashboard includes:
1. Selecting the Target Audience :-
Make sure the Dashboard is designed to target a specific type of user i.e. Is the dashboard being used by the executives to monitor the financial activities or is it used by the Marketing team. It often consists of mix of data : some of which is relevant to one audience and some to another.

2. Selecting the Right type of the Dashboard :-
There are three types of dashboard which includes:

  1. Operational Dashboard - This type of the dashboard displays the data that are needed for the operations department in a company like the Server utilization, CPU utilization, etc.
  2. Strategic / Executive Dashboard - This type of dashboard displays the KPI's that a company's executives are interested like the Periodic revenue, costs, sales pipeline , headcount, etc.
  3. Analytical Dashboard - This displays the strategic data by exploring more on the data to get different insights.
By keeping in mind about these dashboards, we need to select them based on the audiences and their needs. For example a Marketing manager may need the Strategic view of the data.

3. Structure the Data Logically :- 
We need to ensure that the data are displayed along their logical groups. For example if a dashboard includes financial KPI's and Sales pipeline, ensure that the financial data are grouped together & also the sales data are grouped together. Grouping is often done based on their functionality like Product, Sales Marketing, Finance & People.

4. Make the Data Relevant to the Target Audience :-
Dashboard can have many target audiences  but we need to ensure that the data we display is relevant to the users. We need to identify the intended audience i.e. the individual Department, the whole company, individuals, suppliers, etc. and also their scope of the requirements. An executive dashboard should include the KPI data across all the departments.

5. Display the Intended Metrics only :-
Dashboards should contain only the relevant metrics and the information. It should avoid using all the metrics as it tends to lose the focus of the data. An executive dashboard for example should contain only 6 numbers in a page. We need to ensure that only relevant information are displayed to the target audience.

6. Data Refreshment :-


We need to ensure that the dashboard are refreshed to get the real-time and correct data to derive decisions out of it. It can be Real-time or Daily, weekly, monthly depending on the user needs. Most often Operational dashboard must contain real-time data whereas an executive dashboard may contain data that's not being refreshed or refreshed less frequently.

References:-

  1. Web Analytics 2.0: The Art of Online Accountability & Science of Customer Centricity, 2007, Author: Avinash Kaushik
  2. Web Analytics- An Hour a day, First Edition, 2007, Author : Avinash Kaushik
  3. https://www.tableau.com/sites/default/files/whitepapers/dashboards-for-financial-services.pdf
  4. http://www.kaushik.net/avinash/trinity-a-mindset-strategic-approach/
  5. https://www.geckoboard.com/blog/building-great-dashboards-6-golden-rules-to-successful-dashboard-design/#.Vkq7rvkzbIV
  6. http://www.forbes.com/sites/davelavinsky/2013/09/06/executive-dashboards-what-they-are-why-every-business-needs-one/
  7. http://searchcio.techtarget.com/definition/executive-dashboard

Monday, January 11, 2016

Data-Driven Decision Making Culture - Web Analytics

We can see that most of the Companies drive decisions based on their gut feelings and not really on the data. We also see that there are lots and lots of data being collected, however the decisions are made on their opinions or their gut feelings. It should actually be based on the data collected and the insights we derive out of it. The challenge we face in the current scenario is that we carry out decisions based on our own personal life experiences and our opinions.
The method of creating a Data-Driven culture is important in order to be a successful in the business. Only few companies manage to accomplish this by understand the value of data and their insights. The bigger position you are, the harder it is to understand this and needs to rely on the Web Analysts/consultants or on evangelists. There are seven steps involved to create a data-driven decision making culture irrespective of the size and the position. The seven steps are:

1. Try to Reach for the Outcomes or the Bottom Line :-
    We need to start with measuring the outcome metrics for the website and our targeted audience like the revenue leads, profit margins, improved product mix, and number of new customers. This approach enables us to go for those metrics which has deep connection with the consumers of our data which in turn motivates them. This approach helps to achieve the company's target or the bottom line. If we try to make the Customer happy by improving their revenue, reduce trip cost or improving the customer satisfaction, then it will make beneficial for the company to retain them for life. After this we can slowly move over time to analyze other complex Clickstream data and other KPI's or qualitative analysis.

2. Focus on the Analysis rather than Just Reporting :-
    We can easily conclude that about 99% of the web analytics challenges lies in the analysis or getting the insights out of the large datasets available. We spend most of the time doing reporting rather than analysis. Also the reporting and analysis is a time-consuming process which also needs huge investments of time and resources. we need to understand that the charts, tables and graph reports aren't going to help the business leaders to take action. We need to focus on analysis and not on reporting. This is indeed a tough challenge for the organization as they are structured and wanted to measure the success by the reports rather than on the analysis.
The Measure of success lies in the number of users who have access to the web analytics tools and the number of custom reports they have published. We can slowly try transition from the World of reporting to the analysis/insights.

3. Depersonalize the Decision Making Process :-
    In today's scenario, the world of Business now is been ruled by the HiPPOs. Hippo is the Highest-Paid Person's opinion or the Highest Paid Person in the Organization. We can see that Hippos overrule our data. They drive actions on the business and the websites and also on the Company Customers. They try to prevent ideas from coming up. The solution to Win against them is to depersonalize the decision making. We need to neglect our personal opinions and strive towards the data and their insights. Here are some solutions to achieve this goal
·         We can include other Internal or External benchmarks in our analysis. Also we can include other contexts from the outside sources.
·         We can get the Competitive data and show them to compare it against our own data.
·         We need to always be focused on our Company Customers and we need to include the Voice of the Customers to our table by doing experimentation & testing or via Survey Questions.
·         We need to create high level of transparency in our metrics, their definitions and also the computations. We can also use Power point slides to visualize the data and the insights.
The important factor is to remove our personal opinions and let the data do the talking. When we say data it's not just data alone but we meant the data which is transparent, independent, has external context, and also represents our Customers' voices. The Customer is the ultimate King or Queen. We need to decentralize the decision making.

4. Try to Be Proactive Person rather than Active Person :-
    The Web Analytics is often compared as the Rear-View mirror analysis. By the time we get the data, it becomes old and this is one of the challenge. To fight against this challenge we need to be a Proactive person. We need to start our analysis or reporting ahead of the time to present the results in a fast paced environment. The goal is to transform from being just a Web Analysis function to being a Web Smart function. This intelligence determines what decisions should be taken for a greater customer experiences. It is recommended to use 20% of our time to report or analyze the data that no one had asked for.

5. Empowering the Analysts :-
    In every Business, they hire an Analyst or the Senior Analyst for the Organization to drive better decisions by doing deep analysis. However they end up doing the work of a reporting writer. The Management team that has a goal of Data-Driven decision making culture needs to empower their analysts. They should give them the strategic objectives of the websites and also make sure that the analyst's spends their 80% of their time in doing analysis. They need to understand that the Analysts they hire are critical thinkers and the management needs to motivate them to analyze the data for deriving insights out of it. The Management thus needs to empower the Analysts creating a Win-Win situation.

6. Solve for the Trinity :-
    The Web Analytics program should drive to focus on the three elements: experience, behavior, and Outcomes called the Trinity Solution. Each element is essential in order to build an optimal end-to-end decisions for the business. For creating an Data-Driven culture, we need to understand the aspects of the other data sources that makes easier to connect with our users and things they find it more valuable and useful. The Web Measurement strategy needs to answer both the What? & Why? questions for an effective data-driven culture. The successful method is to Start with How much [Outcomes], evolve to the What is [Behavior], and then strive for the Why [Experiences].

7. Implement a Process :-
    A Process in place creates a Cultured framework for the Organization. Process , for example Six Sigma creates a framework that people can Understand, Follow and Repeat it for driving actionable insights. It also helps to establish goals and controls limits for your metrics which makes easier to focus and execute the plans. When a process is implemented, then it makes us to understand the steps, our responsibilities and also the expected deliverables.

Web Analytics Ownership :
    Companies have different departments/teams [Like IT, Sales, Marketing] who takes ownership of different processes. The Web Analytics should optimally be owned by a Business function who owns the Web Strategy not the website. This is because the Web Analysis needs to think, imagine and move at the pace of the Business and needs to have this mindset rather than that of the technology teams. This logical outcome of aligning the  Web analytics with the business team will pave the way to align the measurement of the success of the strategy with the ownership of the strategy. This makes to solve critical business problems.
In Summary the Data-Driven Organization
  1.          Focus on Customer Centric Outcomes
  2.           Reward the analysis and not on the number of reports
  3.          While Measuring the Success by Benchmarks
  4.          Which is achieved by empowering the Analysts
  5.          Who solve for Trinity
  6.          By a defined Process
  7.          That is owned by a Business Function.

Sunday, January 10, 2016

Cross Apply in SQL Server

APPLY OPERATORS:-
The APPLY operator allows you to invoke a table-valued function for each row returned by an outer table expression of a query. The APPLY operator allows you to join two table expressions the right table expression is processed every time for each row from the left table expression. The final result-set contains all the selected columns from the left table expression followed by all the columns of right table expression.

The APPLY operator comes in two variants : CROSS APPLY and OUTER APPLY.


Cross Apply :-
The CROSS APPLY operator returns only those rows from left table expression (in its final output) if it matches with right table expression. In other words, the right table expression returns rows for left table expression match only.  For those rows for which there are no corresponding matches in right table expression, it contains NULL values in columns of right table expression.  CROSS APPLY is semantically equivalent to INNER JOIN (or to be more precise its like a CROSS JOIN with a correlated sub-query) with a implicit join condition of 1=1.

Cross Apply Vs Inner Join :-


Script #1 creates a Department table to hold information about departments. Then it creates an Employee table which hold information about the employees. Please note, each employee belongs to a department, hence the Employee table has referential integrity with the Department table.

Script #1 - Creating some temporary objects to work on...
USE [tempdb]
GO
IF EXISTS (SELECT FROM sys.objects WHERE OBJECT_ID OBJECT_ID(N'[Employee]') AND type IN (N'U'))
BEGIN
   DROP TABLE 
[Employee]
END
GO
IF EXISTS (SELECT FROM sys.objects WHERE OBJECT_ID OBJECT_ID(N'[Department]') AND type IN (N'U'))
BEGIN
   DROP TABLE 
[Department]
END
CREATE TABLE 
[Department](
   
[DepartmentID] [int] NOT NULL PRIMARY KEY,
   
[Name] VARCHAR(250) NOT NULL,
ON [PRIMARY]
INSERT [Department] ([DepartmentID][Name]
VALUES (1N'Engineering')
INSERT [Department] ([DepartmentID][Name]
VALUES (2N'Administration')
INSERT [Department] ([DepartmentID][Name]
VALUES (3N'Sales')
INSERT [Department] ([DepartmentID][Name]
VALUES (4N'Marketing')
INSERT [Department] ([DepartmentID][Name]
VALUES (5N'Finance')
GO
CREATE TABLE [Employee](
   
[EmployeeID] [int] NOT NULL PRIMARY KEY,
   
[FirstName] VARCHAR(250) NOT NULL,
   
[LastName] VARCHAR(250) NOT NULL,
   
[DepartmentID] [int] NOT NULL REFERENCES [Department](DepartmentID),
ON [PRIMARY]
GO
INSERT [Employee] ([EmployeeID][FirstName][LastName][DepartmentID])
VALUES (1N'Orlando'N'Gee')
INSERT [Employee] ([EmployeeID][FirstName][LastName][DepartmentID])
VALUES (2N'Keith'N'Harris')
INSERT [Employee] ([EmployeeID][FirstName][LastName][DepartmentID])
VALUES (3N'Donna'N'Carreras')
INSERT [Employee] ([EmployeeID][FirstName][LastName][DepartmentID])
VALUES (4N'Janet'N'Gates')

First query in Script #2 selects data from Department table and uses CROSS APPLY to evaluate the Employee table for each record of the Department table.
Second query simply joins the Department table with the Employee table and all the matching records are produced.

Script #2 - CROSS APPLY and INNER JOIN
SELECT FROM Department D
CROSS APPLY
   
(
   
SELECT FROM Employee E
   
WHERE E.DepartmentID D.DepartmentID
   A
GO
SELECT FROM Department D
INNER JOIN Employee E ON D.DepartmentID E.DepartmentID
GO