Let’s start with some Wikipedia: Personalization = “Customizing the user experience based on behavioral, contextual and technical data is proven to have a positive impact on conversion rate optimization efforts. Associated actions can range from changing the content of a webpage, presenting a pop-in or even triggering a personalized email.”
This post will focus on how this challenge has been simplified and generalized by Rumble into a platform capable of optimizing different business KPIs, through personalizing the user experience (content, visuals, layouts and more).
Rumble provides a platform that frees our customers to focus on data science, rather than data plumbing, focus on algorithms rather than setting up cumbersome data infrastructures. We actually like to call it BYOA, or Bring Your Own Algorithm J
So what’s under the hood?
We have opted for a classical Lamda architecture, where we split between two routs: stream data needed at “real-time” for the benefit of the optimization, along with batch data needed for accurate analytic and research.
The following logical architecture, illustrates what is being cooked in our ovens:
- User Centric: User centric data-points can be imported into the system and added to user records. In many cases, an organization will have prior “knowledge” about their users, such as ownership of a membership card, user’s address, perhaps even age and gender, information which can have a significant positive impact on the optimization.
Extensibility: Add custom user attributesTechnology Mapping: Microsoft Azure Data Factory, Microsoft Azure API Management
- Content Centric: Content and its metadata are essential when attempting to personalize content offering. Content will vary from one domain to the other, as articles for media, products for retail/e-commerce, ads for ad-tech, etc.
Extensibility: Custom content connectorsTechnology Mapping: Microsoft Azure Service Bus, Microsoft Azure API Management
- Event Centric: Time-series data, usually in the form of events though can come from different sources: event collection SDK/IoT, POS logs, etc.
Extensibility: Custom event schemeTechnology Mapping: Microsoft Azure Event Hub, Microsoft Azure Stream Analytics
- Big Data Processing and Correlation Logic: This layer is in charge of updating the systems repositories: Events, Content, Users. Each database can potentially be updated by all input streams. These databases are used as inputs to the optimization and segmentation algorithms. We use an actor base model to conduct the updates to system entities based on incoming messages.
Extensibility: Custom/derived data-point calculation (Example: average session duration, top 3 products, etc.), Custom enrichment and correlationsTechnology Mapping: Project Orleans/Microsoft Azure Service Fabric, Microsoft Azure Stream Analytics, Microsoft Azure Data Factory, Apache Hadoop, Apache Spark
- User Segmentation: User segmentation can be generated either automatically by the platform, or manually based on the operator’s decision. Automatic segmentation is mostly a background process that identifies the most optimal and meaningful way to segment the users. Successful segmentation is highly dependent on rich data collection and processing.
Extensibility: Custom manual segments, Custom automatic segmentation algorithmsTechnology Mapping: Microsoft Azure Machine Learning
- Recommendation: This is the component in-charge of building the personalized and tailored recommendation per each segment. This may be a content recommendation as an alternate order of products, a different UX, etc. Machine Learning techniques are used here, where the actual algorithm depends on the optimization at hand.
Extensibility: Custom recommendation algorithmsTechnology Mapping: Microsoft Azure Machine Learning
- User Classification: Identifying what is the segment the user belongs to is essential for providing the right recommendation. Our personalization SDK wraps up user classification in a transparent way that can be easily integrated into any application/website.
Extensibility: Custom classification rulesTechnology Mapping: Microsoft Azure Machine Learning
BI and Business Operations
- BI and Business Operations: Operators and analysts use our dashboard to trigger optimization campaigns, and monitor results and user behavior. We also export data to PowerBI, to enable deeper research by data analysts.
Extensibility: Custom data models, Custom dashboards and reportsTechnology Mapping: Microsoft PowerBI, Apache Hadoop, Apache Spark