Google Track

Tuesday, April 24, 2012

Time Series and its application in Predictive Analytics

Time Series Foundation (TSF) is an open, .NET platform for exploring and prototyping new algorithms in time series analysis and forecasting. TSF is based on state space model methodology that includes all types of exponential smoothing, some autoregressive algorithms, and innovative algorithms for event detection and calendar event impact prediction. TSF relies on Excel charting and presentation APIs by implementing an Excel interop layer. Numerical and graphical results of time series analysis and forecasting can be put in programmatically generated workbooks with the help of this layer. TSF also offers an Excel add-in that exposes a large subset of the platform's functionality through the Excel ribbon UI.


Time Series Foundation is discussed by a research developer in Microsoft.

Monday, April 23, 2012

Benefits from BI in Hospitality

Every Business today take advantages of Business Intelligence solutions, so Hospitality is one of them.
I tried to spot the most important benefits that hospitality industry has from Business Intelligence:


- Profile Guest & Business Segments by any combination of criteria. Break out, analyze and compare these segments on demographics, stay patterns, etc.

- Identify your best guests & uncover those with the highest potential for additional nights or services

- Perform Drill Down & Side-By-Side Analysis or filter on any variable with no limitations to “dimensions” and no cubes to rebuild

- Compare alternative target segments or multiple characteristics side-by-side, even if they overlap

- Track Performance across time: Guests, Return Rate, Length of Stay, Frequency, Recency, Room Rate, upgrades, etc. Track by: Division, Product Line, Guest

Segment, Booking Source/Channel, Geography/Property…any variable on file

- Identify Challenges & Opportunities to quickly spot where your business or guest segments are excelling or under-performing. Monitor changes and easily drill down to see the factors driving this performance

- Access Executive Dashboards tailored for at-a-glance & measuring performance, right at the fingertips of managers across your organization

BI in Hospitality

Success in the increasingly competitive hospitality industry is dependent on prompt knowledge of what’s going on in the operation. The need to know customer information: who they are, what they buy, and how likely they are to come back again, can be elusive. Additionally, the time-sensitive nature of business metrics makes it difficult to answer certain questions such as: What are daily sales results on an individual property? What are the average expenses per day? What are labor costs? What is the daily cash position? The sheer volume and time-sensitive nature of events in the hospitality industry can be overwhelming. Hence information becomes the essential ingredient to success in the hospitality industry.


A Business Intelligence solution enables analysis by exception and gives decision-makers of multi-location organizations a robust way to decipher and analyze information gathered at each level. BI tool helps aggregate, process and visualize data from disparate sources, multiple applications, allows decision-makers to quickly identify and address trends or potential problems. BI enables decision-makers to move from speculative decision-making to fact-based decision-making based on knowledge.

Business intelligence is simply the people, processes, and technologies that turn data into information. It is the key strategic opportunity for successful hospitality corporations.

Information Challenges in Hospitality Industry:

- Enormous amounts of data in multiple, disparate systems makes single enterprise wide view becomes challenge

- Revenue management is dynamic and constantly changing resulting complexity in pricing optimization and forecasting strategies

- Tremendous challenge in meeting customers’ expectations and preferences due to constant pressure of capturing, analyzing, and creating the right message / offer using the right medium and at the right time

Why BI:

- Essential tool for protecting market share

- Identifying unproductive rate strategies

- Uncovering new revenue opportunities

- Beat the competition

- Dynamic MIS & ad-hoc Reports to understand your current market position

- Illuminate future performance trends

- Compile detailed picture of competitive environment (who is traveling & from where)

Thursday, April 5, 2012

Big Data, the amazing thing

Big data is a term applied to data sets whose size is beyond the ability of commonly used software tools to capture, manage, and process the data within a tolerable elapsed time. Big data sizes are a constantly moving target currently ranging from a few dozen terabytes to many petabytes of data in a single data set.

In a 2001 research report[15] and related conference presentations, then META Group (now Gartner) analyst, Doug Laney, defined data growth challenges (and opportunities) as being three-dimensional, i.e. increasing volume (amount of data), velocity (speed of data in/out), and variety (range of data types, sources). Gartner continues to use this model for describing big data.






Whether through blogs, twitter, or technical articles, you’ve probably heard about Big Data, and a recognition that organizations need to look beyond the traditional databases to achieve the most cost effective storage and processing of extremely large data sets, unstructured data, and/or data that comes in too fast. As the prevalence and importance of such data increases, many organizations are looking at how to leverage technologies such as those in the Apache Hadoop ecosystem. Recognizing one size doesn’t fit all, we began detailing our approach to Big Data at the PASS Summit last October. Microsoft’s goal for Big Data is to provide insights to all users from structured or unstructured data of any size. While very scalable, accommodating, and powerful, most Big Data solutions based on Hadoop require highly trained staff to deploy and manage. In addition, the benefits are limited to few highly technical users who are as comfortable programming their requirements as they are using advanced statistical techniques to extract value. For those of us who have been around the BI industry for a few years, this may sound similar to the early 90s where the benefits of our field were limited to a few within the corporation through the Executive Information Systems.

Analysis on Hadoop for Everyone

Microsoft entered the Business Intelligence industry to enable orders of magnitude more users to make better decisions from applications they use every day. This was the motivation behind being the first DBMS vendor to include an OLAP engine with the release of SQL Server 7.0 OLAP Services that enabled Excel users to ask business questions at the speed of thought. It remained the motivation behind PowerPivot in SQL Server 2008 R2, a self-service BI offering that allowed end users to build their own solutions without dependence on IT, as well as provided IT insights on how data was being consumed within the organization. And, with the release of Power View in SQL Server 2012, that goal will bring the power of rich interactive exploration directly in the hands of every user within an organization.
Enabling end users to merge data stored in a Hadoop deployment with data from other systems or with their own personal data is a natural next step. In fact, we also introduced Hive ODBC driver, currently in Community Technology Preview, at the PASS Summit in October. This driver allows connectivity to Apache Hive, which in turn facilitates querying and managing large datasets residing in distributed storage by exposing them as a data warehouse.

Friday, March 30, 2012

Rafal Lukawiecki in SQL Server 2012 official launch in Oslo


First, thanks for invitation from Microsoft, specially Thale Mjavatn and nice organization of such an important event. The details for the event you find in this blog:
http://biblogg.no/2012/03/15/lansering-av-microsoft-sql2012/
and the agenda of the conference is here: http://www.microsoft.com/norge/bi-sql-fagdag/index.html
Rafal was fantastic as always and did a remarkable job explaining to the audience the new technologies behind MS SQL 2012, special focus on the Business Intelligence enhancement tools included. We got introduced to 2 new technologies: PowerView and BISM and little changes on what PowerPivot is now. Also, he spoke about trends where BI and Big Data will be the most important things in the future.
Once more thank you for the opportunity and thanks to all who were part of it.

Wednesday, March 28, 2012

BI News from Panorama

Sort through data with business intelligence


With endless information accessible in today's big data sprawl, it is often difficult for businesses to sort through data that is valuable and isn't without outside assistance. Because of this, more and more organizations are turning to business intelligence in order to sort through vast reams of data to develop concrete analytics.
A new report by DSquared Media provides valuable insight into the worth of adopting business intelligence software and infrastructure. According to the study, for every $1.00 spent on business analytics, $10.66 was yielded in returns. Furthermore, 74 percent of organizatons who manually assembled data from various sources negatively affected daily operations.

The report also found that many large corporations used BI in developmental years in order to become the giants they are today. For example, Febreze used a marketing campaign aided by BI when first released, and now sales total over $1 billion a year. In addition, Target used marketing campaigns aided by BI and revenues grew from $44 billion in 2002 to $67 billion in 2010.
The study found that there was an assortment of reasons why people were influenced by BI. Ninety-five percent of respondents found that they were influenced by BI for its ability to increase insight into operations. Furthermore, 85 percent found business intelligence provided faster process and reporting cycle time, while only 48 percent were influenced by regulatory compliance.



Sunday, March 25, 2012

Avarage Calculations in MDX

Average is very important function to calculate Key Figures of your business. Here are some samples of Average-Avg(), starting with basic to more advanced calculations like deep diving into Moving Averages :

WITH
  MEMBER [Measures].AvgProductSales AS
    Avg
    (
      NonEmpty
      (
        [Product].[Product].[Product].MEMBERS
       ,[Measures].[Sales Amount]
      )
     ,[Measures].[Sales Amount]
    )
SELECT
  [Measures].AvgProductSales ON 0
 ,[Date].[Date].[Date].MEMBERS ON 1
FROM [Adventure Works];

WITH
  MEMBER [Measures].AvgProductSales AS
    Avg
    (
      [Product].[Product].[Product].MEMBERS
     ,[Measures].[Sales Amount]
    )
SELECT
  [Measures].AvgProductSales ON 0
 ,[Date].[Date].[Date].MEMBERS ON 1
FROM [Adventure Works];

WITH MEMBER [Measures].AvgProductSales
  AS Avg(EXISTING [Product].[Product].[Product].MEMBERS, [Measures].[Sales Amount])
SELECT {[Product].[Product Categories].[Subcategory].[Bike Racks]
       ,[Product].[Product Categories].[Subcategory].[Bike Stands]
       } ON 0
, [Date].[Date].[Date].MEMBERS ON 1
FROM [Adventure Works]
WHERE [Measures].AvgProductSales
;

// Avg over Filter
WITH
  MEMBER [Measures].AvgGrowingProducts AS
    Avg
    (
      Filter
      (
        [Product].[Product].[Product].MEMBERS
       ,[Measures].[Sales Amount] > ([Measures].[Sales Amount],ParallelPeriod([Date].[Calendar].[Month]))
      )
     ,[Measures].[Sales Amount]
    )
SELECT
  [Measures].AvgGrowingProducts ON 0
 ,Descendants
  (
    [Date].[Calendar].[Calendar Year].&[2003]
   ,[Date].[Calendar].[Date]
  ) ON 1
FROM [Adventure Works];

// Correct Avg over Filter
WITH
  MEMBER [Measures].Growth AS
    IIF
    (
      [Measures].[Sales Amount] > ([Measures].[Sales Amount] ,ParallelPeriod([Date].[Calendar].[Month]))
     ,[Measures].[Sales Amount]
     ,NULL
    )
   ,FORMAT_STRING = 'Currency'
  MEMBER [Measures].AvgGrowingProducts AS
    Avg
    (
      [Product].[Product].[Product].MEMBERS
     ,[Measures].Growth
    )
SELECT
  [Measures].AvgGrowingProducts ON 0
 ,Descendants
  (
    [Date].[Calendar].[Calendar Year].&[2003]
   ,[Date].[Calendar].[Date]
  ) ON 1
FROM [Adventure Works];

//

WITH MEMBER [Measures].AvgByDayOfWeek AS
  Avg(
   Exists(
    NULL:[Date].[Date].CurrentMember,
    [Date].[Day of Week].CurrentMember)
  , [Measures].[Sales Amount])
SELECT [Measures].AvgByDayOfWeek ON 0
--, [Product].[Product].[Product].MEMBERS ON 1
, [Date].[Date].[Date].MEMBERS ON 1
FROM [Adventure Works]
;
WITH MEMBER [Measures].AvgByDayOfWeek AS
  Avg(
   Nest(
    NULL:[Date].[Date].CurrentMember,
    [Date].[Day of Week].CurrentMember)
  , [Measures].[Sales Amount])
SELECT [Measures].AvgByDayOfWeek ON 0
--, [Product].[Product].[Product].MEMBERS ON 1
, [Date].[Date].[Date].MEMBERS ON 1
FROM [Adventure Works]
;

// ===========
// Running sum
// ===========

// Typical approach for running sum
WITH
  MEMBER [Measures].RunSales AS
    Sum
    (
      NULL : [Date].[Date].CurrentMember
     ,[Measures].[Sales Amount]
    )
SELECT
  [Measures].RunSales ON 0
 ,[Date].[Date].[Date].MEMBERS ON 1
FROM [Adventure Works];

// Trying to optimize...
WITH
  MEMBER [Measures].RunSales AS
    Sum
    (
      Union
      (
        NULL : [Date].[Calendar].Parent.PrevMember
       ,
        [Date].[Calendar].FirstSibling : [Date].[Calendar].CurrentMember
      )
     ,[Measures].[Sales Amount]
    )
SELECT
  [Measures].RunSales ON 0
 ,[Date].[Date].[Date].MEMBERS ON 1
FROM [Adventure Works];

// Forcing back into block mode
WITH
  MEMBER [Measures].RunSales AS
      Sum
      (
        NULL : [Date].[Calendar].Parent.PrevMember
       ,[Measures].[Sales Amount]
      )
    +
      Sum
      (
        [Date].[Calendar].FirstSibling : [Date].[Calendar].CurrentMember
       ,[Measures].[Sales Amount]
      )
SELECT
  [Measures].RunSales ON 0
 ,[Date].[Date].[Date].MEMBERS ON 1
FROM [Adventure Works];

// Better caching...
WITH
  MEMBER [Measures].RunMonthSales AS
      Sum
      (
        NULL : [Date].[Calendar].CurrentMember
       ,[Measures].[Sales Amount]
      )
  MEMBER [Measures].RunSales AS
      ([Measures].RunMonthSales, [Date].[Calendar].Parent.PrevMember)
    +
      Sum
      (
        [Date].[Calendar].FirstSibling : [Date].[Calendar].CurrentMember
       ,[Measures].[Sales Amount]
      )
SELECT
  [Measures].RunSales ON 0
 ,[Date].[Date].[Date].MEMBERS ON 1
FROM [Adventure Works];