Search code examples
pythonanalyticsolap

Advice for building a web analytics tool (preferably Python friendly) - OLAP/Python


I'm about to start the development of a web analytics tool for an e-commerce website.

I'm going to log several different events, basically clicks on various elements of the page and page views.

These events carry metadata (username of the loggedin user, his country, his age, etc...) and the page itself carries other metadata (category, subcategory, product etc...).

My companies would like something like an OLAP cube, to be able to answer questions like:

How many customer from country x visited category y? How many pageviews for category x in January 2012? How many customer from country x visited category y?

My understanding is that I should use an OLAP engine to record these events, and then build a reporting interface to allow my colleagues to use it.

Am I right? Do you have advices on the engine and frontend/reporting tool I should use? I'm a Python programmer, so anything Python-friendly would be nice.

Thank you!


Solution

  • The main question is how big your cube is going to be and if you need an open source OLAP solution or not.

    If you're dealing with big cubes and want to get room for future features you might go for a real OLAP Server. A few are open source - Mondrian - and other have a 'limited' community edition - Palo, icCube. The important point here is being compatible with MDX and XMLA. defacto OLAP standard, so you can plug different reporting tools and/or using existing libraries. My understanding, there is no Phyton version for an XMLA library as in Java or .NET not sure this is the way to go.

    If you're cubes are small you can develop something on your own or go for other quicker solutions as the comment of Charlax is indicating.