Welcome to the RecLab Core Project

If you can't bring the data to the code, bring the code to the data.

What is RecLab Core?

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.

How RecLab Works

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.

Data is analyzed at model build time (on the right) and recommendations are served at run time (on the left).

Ideally, both sides of the recommender are implemented with clean reusable APIs, as represented by the pluggable arrows in the figure below.

A recommender using APIs.

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.

A recommender written to use APIs can run completely inside a cloud that supports them.

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.

Running against test data in a test harness.

Getting Started

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.