Although Essentia is available as a standalone software product, we also use it daily in our marketing analytics service offered under a SaaS model.
Like a lot of other people, we like the machine learning and data mining libraries available to R and Python to help explore and analyze data. But like everyone else, we face the burden of having to first clean, parse, and reduce large amounts of data before being able to use those analytic tools.
We run into this problem all the time with some of our SaaS clients who have two or more different types of marketing logs describing different aspects of the digital customer journey.
Before we can get to the analysis with R and Python, we need to:
Steps 1 through 3 are easily done with Essentia. We import all logs into memory using the ‘userID’ and ‘Date’ columns as keys to group and sort individual users. We then create what we call a profile vector for each user. You can think of this vector as a single row in a relational database. It typically contains metadata about the customer journey of each user. For example, the device and browser used through the customer journey, the number of sites visited, number of clicks, impressions, etc.
In summary, we went from millions of records spanning multiple logs to a simple table having about thirty thousand rows of clean, summarized metadata for each user.
The reduced data can now be transferred to Python or R via CSV files, or integrated directly with analysis code via the Python and R APIs provided with Essentia. All of the processing was done within a few minutes on the cloud, where scaling up or down based on the amount of data is trivial.
By integrating Essentia with our data analysis workflow, we provide metrics and insight other tools cannot. To find out more, see our SaaS demo site.