A large retailer with about 1,400 locations throughout the United States wanted to personalize the experience of their flagship website. However, personalization options were limited since a third-party vendor was managing users' account information via a white-label online retail application.
Since my team developed the site and managed the hosting, we had access to any information that we could gather directly through the website. By tracking an anonymous user's behavior alone, we captured enough data to target the site to the user’s interests. Using this data, we accomplished two basic goals:
The web site was written in C#, using the .Net MVC framework. A custom user-segment definition and tracking framework handled behavior tracking and logging, segment scoring, and user interface changes. For user analysis, an F# program was written to parse and mine the log files that accrued over a 6-week period.
The Power of F#
Using F# and the interpreter built into Visual Studio, I was able to create a very robust reporting application in under 200 lines of code; there is a clear ease-of-development advantage when it comes to data analysis. Additionally, there are two factors that differentiate F# from other approaches:
The power of F# became clear as I was presenting my analysis to my client, the Director of Marketing. While I had put together a PowerPoint presentation of the results, I also loaded my reporting application into the F# interpreter and kept Visual Studio open in the background. As I was sharing the results with the client, he asked a question about the amount of traffic received by a particular content callout that wasn’t in the presentation. I switched over to Visual Studio, typed a quick declaration into the interpreter, and immediately had the results up in a fashion that required no explanation; his question was answered in seconds.