Technology
What does SenseArray do?
SenseArray analyses an event we’re interested in and estimates the probability of that occurring, given a particular input “scenario.”
Here’s an example:
“A male website visitor using Firefox 3.0 on Windows 7, located in Los Angeles CA, at 3.35pm PST on Monday January 4th 2010, referred by facebook.com, is looking at advertisement 44353 on our homepage”
In this case, the event we are interested in may be the probability that the user will click on the advertisement they are viewing. We can use SenseArray to determine this probability for every advertisement we have, so that we can select the one with the highest conversion probability.
SenseArray also takes into account that conversions on different ads may have different revenue yields. Thus, we select ads based on highest “expected revenue,” rather than highest conversion probability.
How does SenseArray work?
In technical terms, SenseArray is a “supervised learning algorithm.” This means that, first, you give it a large number of inputs and corresponding outputs with which to train. Once trained, you give it an input it hasn’t seen before, and it will attempt to produce the correct output.
SenseArray is unusual among machine-learning algorithms in that it is able to explain the output it produces (similar to the “explain” functionality of a database). This is critical. Without this ability it becomes much more difficult to identify and correct data cleanliness issues, which are extremely common and can prove fatal if unsolved.
How do I integrate with SenseArray?
There are two primary ways in which your system must interact with SenseArray:
1. You must supply historical data about user behavior to SenseArray (this is an offline process)
2. You must query SenseArray for predictions
We’ve worked hard to ensure that SenseArray’s API is as simple as possible. We use JSON as a data encoding across our entire API. Historical data is supplied to SenseArray in simple compressed files. You query SenseArray through an elegant HTTP REST API.
Our entire API is documented in our seven-page user manual. It normally takes an engineer only minutes to understand SenseArray, and a few hours to integrate.
How do I deploy SenseArray?
SenseArray is not a hosted service; rather, it is stand-alone software that runs on your own servers within your own datacenter. SenseArray can run on any operating system capable of running Java 1.6, although Ubuntu Linux is preferred.