If you can't bring the data to the code, bring the code to the data.
RecLab Core is an open source project, licensed under the Apache 2 license. It defines all of the key Java interfaces and APIs for interacting with the RecLab environment. It also provides simple implementations of these APIs that allow developers to design, test, and debug their algorithms quickly and efficiently without having to take the time, effort, or expense of setting up a large cluster of their own.
RecLab Core supports a wide variety of contextual and behavioral data, both at model build time and at runtime. Code running in RecLab has access to both immediate click-by-click and a wide variety of past shopping behavior. In RecLab Core, all the data is synthetic. It is derived from probabilistic models, not real shoppers. However, once code has been written, tested, and debugged it can be submitted to run live against a small segment of traffic on a live site.
A RecLab recommender, like most typical recommenders, runs in two phases. First, at model-build time, we analyze data on past shopping behavior and build one or more models. Second, at run time we watch live user behavior and make recommendations. This is illustrated below.
Ideally, both sides of the recommender are implemented with clean reusable APIs, as represented by the pluggable arrows in the figure below.
If we have such APIs, then we can reuse a recommender in a variety of settings. For example, we can use it within the RichRelevance cloud to access data that never leaves the cloud, and serve live recommendations to real live shoppers who are interacting with one of our retail partner's sites. The central idea is that instead of releasing sensitive data to the outside world, we can bring the recommender code to the data in the cloud. This is shown below.
Of course, we want to build, test, and debug our recommender before we deploy it to the cloud. The RecLab Core project provides test harnesses that allow recommenders to be run against synthetic data sets in a test harness. This is shown in the figure below.
To get started with RecLab Core, please consult the tutorial. It will lead you step by step through everything you need to know to build your first model.