Build a Better Dashboard

20 11 2008

There’s so much you can do with the data in the ATG Data Warehouse. One of the things I recently tried exploring was building a better dashboard. ATG Customer Intelligence ships with a number of interesting dashboards but I was recently inspired by the work of Stephen Few and others on building better a better dashboard. So challenged myself to see if I could build something similar using Report Studio.

It turns out that you can and it really isn’t that difficult. The following Product Dashboard was developed in just a few hours using Report Studio and uses many of the guidelines described by Stephen Few such as placing your most important metrics in the upper left, the use of spark lines for showing trends and making the data (vs non-data) prominent and clear.

Product Dashboard (click to enlarge)

Product Dashboard (click to enlarge)

The place where I spent the most of my time was  in the layout. That may be because I’m really bad when it comes to laying out visual components. I settled on a grid layout using the cells of a table to layout the major components.

I used a few tricks to produce the spark lines charts. I started with a simple line chart. Next I modified the size of the chart to a fixed height and width of 35×80 pixels. I removed the legend and hide the Y1 and ordinal axis. I also removed the grid lines and axis labels. If you do all that you can pretty much simulate a spark line chart using report studio.

I did some of the same things for both the pie and horizontal bar charts. Report studio gives you a lot of fine control over the visual aspects of your charts. You just need to fool around a little with the various properties to get the look you want.

Besides all the whiz-bang stuff described above this dashboard also demonstrates some really interesting things you can do with the data in the ATG data warehouse. For instance under the Channel Sales section I’ve broken out sales metrics by channel. In the Top Search Terms section I’ve included data about top search terms used to purchase the selected product. There’s also a section entitle Returns which shows information about returns and refunds. Lastly the Top Co-Buys section demonstrates how you can discover cross-sell relationships using the data in the warehouse.

If you’ve got an interesting dashboard idea write to me and let me know.





Blog: ATG Solutions Strategy

14 07 2008

I just came across this awesome blog about ATG. It’s called ATG Solutions Strategy and it contains a wealth of knowledge about implementing ATG solutions from a business perspective.





ATG Developer Community and Wiki

13 06 2008

Some folks at spark::red have put together a ATG developer community wiki.. They’ve got forums, technical articles, FAQs and other content. They’ve even got some open source code posted.

 If you’re interested in checking it out the link is below.

http://developer.sparkred.com





GenericServletService and GenericFilterService Classes

4 05 2008

For anyone doing development in J2EE and ATG I wrote an extremely useful servlet and filter base class developers might be interested in. These classes were used as base classes for many of the framework components that were used as part of ATG Portals but they can be used in any standard J2EE application. 

I think the javadoc explains them nicely. Here’s the javadoc for the GenericFilterService which implements the javax.servlet.Filter interface. Similarly there’s a class called the GenericServletService which implements the javax.servlet.Servlet interface. See the ATG documentation for more information on these classes.

Read the rest of this entry »





ATG Insight 2008 Over

1 05 2008

Another ATG Insight has once again come to a close. ATG put on another great show this year from the developer bird-of-a-feather to Tuesday’s game night.  Besides all the great events and presentations the highlight of my experience is always connecting with other developers and customer about how they were using ATG.

ATG is planning on putting all the slide decks online sometime over the next week. So keep an eye out for them. BTW If you couldn’t make the event you might want to talk a look at the slides when they’re made available.

See you all again in 2009!





Market Basket Analysis

9 04 2008

Market basket analysis is a technique that discovers relationships between pairs of products purchased together. The technique can be used to uncover interesting cross-sells and related products. In this post I’ll show you how simple market basket analysis can be and how to use the data in the ATG data warehouse to do your own market basket analysis.

The idea behind market basket analysis is simple. Simply examine your orders for products have been purchased together. For example using market basket analysis you might uncover the fact that customers tend to buy hot dogs and buns together. Using this information you might organize the store so that hot dogs and buns are next to each other. In an e-commerce environment you might create a cross-sell rule to offer the shopper buns whenever they place hot dogs in their shopping cart.

There are a couple of measures we use when doing market basket analysis and they are described here. The first measure is the frequency. The frequency is defined as the number of times two products were purchased together. If hot dogs and buns were found together in 820 baskets this would be its frequency.

Frequency by itself doesn’t tell the whole story. For instance if I told you hot dogs and buns were purchased 820 times together you wouldn’t know if that was relevant or not. Therefore we introduce two other measures called support and confidence to help with the analysis.

If you divide the frequency by the total number of orders you get the percentage of order containing the pair. This is called the support. Another way to thinking about support is as the probability of the pair being purchased. Now if 820 hot dogs and buns were purchased together and your store took 1000 orders the support for this would be calculated as (820 / 1000) = 82.0% .

We can extend this even further by defining a calculation called confidence. Confidence compares the number of times the pair was purchased to the number of times one of the items in the pair was purchased. In probability terms this is referred to as the conditional probability of the pair. So going back to our hot dogs example if hot dogs were purchases 900 times and out of those 900 purchases 820 contained buns we would have a confidence of (820 / 900) = 91.1%.

Now that we’ve defined frequency, support and confidence we can talk a little about what a market basket analysis report might look like. The report would have the user select the product they are interested in performing the analysis on (ie hot dogs). Then it would list all the products that were purchased together with the selected products ranked by it frequency. It might look something like the following

Market Basket Analysis: Hot Dogs

Product Frequency Support Confidence
Buns 820 82.0% 91.1%
Ketchup 800 80.0% 23.2%
Mustard 750 75.0% 34.5%
Jello 321 32.1% 45.2%

As a merchandiser I tend to look for pairs with a high confidence. A confidence of 100% means that the products are always purchased together. The higher the confidence means that there is probably a strong relationship between the products. When looking at reports like this you’ll find that some of the obvious pairs have the highest confidence (like hot dogs and buns!) but as you keep looking down the list you should discover some of the more interesting pairings you might not have thought of.

After examining the confidence I next look at the support. A low support means that the pair isn’t purchased a lot. This doesn’t mean it would make a bad cross sell just that they aren’t ordered together very frequently. Use your own judgment. Obviously if you see something with both a high confidence and high support you’ve found something interesting.

You can create a report to perform market basket analysis with ATG Customer Intelligence. See the attached xml for the report definition. To install this report just copy the report definition xml to your clipboard. Next start Report Studio with a blank report. Finally use the Tools->Open Report from Clipboard option and save the report to your environment.

download sample report : market-basket-analysis





ATG Insight Live 2008

21 03 2008

This years ATG Insight Live 2008 is fast approaching. This year the conference is being held in downtown Boston, MA, just across the river from ATG headquarters in Cambridge.  Last years was hosted in Charleston, SC and broke attendance records. Perhaps this year we can break another record.  

During last years conference a community of developers started lead by Ronak the ATG_Tech google group. Since its inception the group has grown to over 280 members and each month we’ve seen an increase in the number of posts. During a recent post Ronak suggested that we get members of the ATG_Tech  community together. I think that would be a great idea! If your interested in finding more about this Ronak’s post.

I hope to see you all at Insight this year…