What’s new in Sitecore 9.1: Experience Platform

This post is part of the What’s new in Sitecore 9.1 series, Sitecore 9.1 has a lot of exciting innovation and value that will help our customers get to market faster, and ongoing refinements and enhancements to existing functionality.

In previous posted we focused on the What’s new in Sitecore 9.1 Content Management. In this post we will look at all the marketing innovations, features and enhancements within the Experience Platform. Before we dive in I want to provide context around Sitecore, this will help to understand the unique opportunity we have with Sitecore.

Starting with some history, as we all know Sitecore originally was a Content Management System. Being well known of the central hub for serving all the managed and integrated content. Over the years Sitecore evolved from web and to additional channels; including email, mobile and any other marketing channel.

The main driver was the introduction the Online Marketing Suite back in 2009. One of the first Experience Marketing solutions in the industry. Now Sitecore is a full Experience Marketing platform and the Sitecore Experience Cloud allows customers to personalize both online and offline experiences while capturing all the data; including all interactions, conversions, test results, patterns and basically any user information online and offline.

Now the great thing about Sitecore is that it’s all one native platform, both CMS and the Experience Platforms are closely tight together, it’s a truly unified platform.

Sitecore’s unified platform is one of the reasons why Sitecore is loved by developers and marketers.

The true power of Sitecore is in combining the analytics data with the content.  The platform provides you with the opportunity to create relevant personalized experiences in real-time.

Sitecore Content and Analytics

The possibilities are endless, you can provide individualized experiences on your channels with personalization rules. Improve content with Multi-Variant Testing and get insights into your business by using the reports.

Although the possibilities are endless it also introduces new challenges. All this work is now manually executed by humans, humans that can only process a limited amount of data, humans that can only execute one task simultaneous and humans that always have biased outcomes.

How does this scale if you want to provide a positive relevant experience for all individuals on all devices and channels?

Sitecore Cortex

Sitecore Cortex will allow you to harness your Experience Data with the power of Machine Learning to create individualized experiences on your channels using features like Suggested Personalization and Predictive Outcomes.

These days buyers don’t travel in linear paths across channels. Their journey goes back and forth and jumps around different channels before they, hopefully, make a purchase.

How do we analyze these complex journeys? This is where Cortex comes into play. With Machine Learning it’s possible to analyze these complex journeys to make sense of which actions lead to success.

Data is key

Machine Learning is fully dependent on the data you provide. The more structured data you have, the better the machine can be trained, the better it can learn and the better the outcomes.

Without large amounts of data we don’t know if the patterns are real or just random noise.

If you don’t have enough data you get weak results; Not enough data to support patterns, missing data important to the problem you try to solve and potential bias outcomes.

The need for large amounts of structured data puts Sitecore in a unique position. Most of the Sitecore customers have been data-mining for years. Storing all the information on interactions in the Experience Database (xDB).

Now is the time to leverage this data and let the machine help you understand the data and create value from the data. With Sitecore Cortex you can leverage the data from your xDB.

The architecture for Cortex is -as you are used to from Sitecore- fully pluggable. You can bring your own expertise and domain knowledge. Do you have specific industry data, services and tools? Use it within Cortex, if you want you can even replace the end-technology.

One of the features shipped with Sitecore 9.1 is suggested personalization. How does this feature work and how does Cortex handle this under the hood?

Suggested personalization

xp Sitecore Multi variant test

This above screenshot shows our Multi-Variant Testing functionality in Sitecore 9 and earlier versions. In its generic form the MV test rotates different variants, accumulates statistics and then tells you which variant converted better, which brought more engagement value.

On this specific screenshot the original variant of the page worked best of all. Sitecore will show Experience 1 and Experience 2 with red bars indicating that they produce less value than the original content.

Sitecore considers such situations as “your test didn’t give any improvements”, because your Original content was already used on the page anyway without any test, hence you see “Best experience effect=0”

xp Sitecore Cortex Data processing enginge Architecture

Now with Sitecore 9.1, when a test is finished an event is triggered and sent into the message bus [1].

Note: The message bus is already available in Sitecore since 9.0 and used Email Experience Manager (EXM)

The Data Processing Engine then will pick out the message [2] and will take actions based on the message type, [3] it will spawn the appropriate ML worker and kick-off the right tasks within the worker [4]; in our case the Suggested Personalization worker [5].

In addition to the Suggested Personalizations, we will release a predictive outcome worker in Technical Preview. Of course, it’s fully extendible so you can create your custom ML worker.

Sitecore Cortex ML workers are built to integrate with Microsoft Machine Learning Server. If you want, you can also bring your own end technology. Do you want to use SPARK or Watson? That’s all possible.

Back to our Suggested Personalization worker, the worker contains multiple tasks that are orchestrated by the Processing Engine.

After every task a status notification is send back to the message bus [6], the processing engine will pick-up and start the next cycle. Spawning the next tasks within the worker until all tasks are finished. For example; data transformation finished, start Training.

When all tasks are finished, the final results are then stored in persistent storage [7]. This could be either in Facets on a contact on xConnect, in the Reporting Database, or on any other providers based on your needs. For example, Power BI or Excel.

The Cortex engine [8] is responsible for orchestrating and executing ML worker tasks and storing the data to available storage options.

Now let’s go back to the new Suggested Personalization tab. The new Suggested Personalization tab uses data from the reporting database. Sitecore Cortex provides insights to allows you to squeeze more value from tests. We can now identify smaller segments that behave differently from the overall test. In this case we have found two of those segments. Let’s look at the first segment.

xp Sitecore Cortext Suggested personalizatiopn Multi variant test

Cortex identified a segment which performed better with the variant provided, in this case the variant is called Experience 1. The segment is defined based on a combination of multiple attributes; country (Denmark and The Netherlands) in combination campaign (10% discount). This segment covers 8.33% of the total amounts of visitor, the value increases with two times (234%) for the visitors within the segment. Given the segment size we can see that applying this segment as a personalization rule we can get 19.5% uplift in the performance of this page.

Without Cortex we wouldn’t be able to identify this. The test wouldn’t give any positive results and have no positive impact in the performance of the website.

Predictive Outcomes

We will provide Predictive Outcomes as an example in the open source Habitat Home demo environment. With Predictive Outcomes you can personalize on the likelihood of an event occurring. This is a personalization rule that has great value when a visitor is really close to converting, with a likelihood greater than 80%. You can now serve content to push visitors into conversion with specific content or a discount code.

Another reason to use likelihood is when the score is very low, for example lower than 30%. The chance that the visitor will convert is so low that you have a better opportunity to present content focusing on other conversion targets.

Predictive Outcomes use Contact facets as Features on the model. The scoring data is stored in xDB as a facet on a contact and this data is then available to be used within a personalization rule.

Content Tagging

Next to the powerful Scalable Data-Processing platform that Cortex provides, it also ships with technology and features to make the marketers life easier. One of these features is Content Tagging which comes OOTB in Sitecore 9.1.

Sitecore Cortex automates the task of content tagging for both internal and external search. You get Open Calais as your default content tagging option.

Open Calais does have some benefits and downsides.
The benefit of Open Calais is that it comes with its own set of taxonomy so it is easier to ‘switch on’ OOTB. You don’t have to train a model and build your own taxonomy, so this is great for teams getting started.
This benefit is also a downside as it means you can’t bring your own taxonomy in. Open Calais also has limited multilingual support and is best with English.

Content tagging is implemented with a provider framework and is fully configurable. It has been setup to allow you to customize with your own Natural Language Provider.

We have improved daily tasks for authors with content tagging, for Marketers with suggested personalization and for developers with the Data-Processing Platform that Cortex provides.

We know that machine learning needs data to be efficient. We need to learn as much as possible about our customers and prospects and the interactions they have with us. Track what they are doing on all channels and devices so we create personalized relevant experiences on every channel.

With Sitecore 9.1 you can now track interactions on all devices and on all channels with the Universal Tracker.

Universal Tracker

The Universal Tracker is a scalable tracking service based on web API technology designed for full freedom of collecting events as they occur real-time on any device.xp Sitecore Universal Tracker Overview

The Universal tracker allows you to collect events from interactions and stores them in the experience database.

The Universal tracker is built with .Net Core and is built to perform and to scale to support large amounts of interactions and traffic. It has a pluggable architecture, open for you to extend and customize to your customer needs.

The Universal Tracker uses different stages. Each individual process can be scaled making it possible to support high volumes of requests.

Xp Sitecore Universal tracker architecture

When an interaction occurs all events during that interaction are streamed in to the Universal Tracker Web API endpoint. This is stage is called Collection.

During Collection all the events are directly stored in temporary storage. After the interaction is finished, and the visit is timed-out, the stored events are sent to Processing.

During Processing we have the option to enrich the data before sending it to the xDB. For example, a JavaScript App registers an interaction without GEO IP data. During the processing of the interaction you can enrich the interaction by doing a GeoIP look-up using the IP provided logged with the event.

The architecture is pluggable so you can add functionality that support the data enrichment you need for your customers.

After the processing is finalized the data is sent to the xConnect service to be stored in the XDB.

Universal Tracker Client SDK

The Universal Tracker is an open Web API which is open for direct communication.

However, we encourage you to use the Universal Tracker Client SDK as an abstraction layer between your code and the Universal Tracker Web API.

The Universal Tracker Client SDK is a Portable Class Library that supports all interaction and event types registered in xConnect, including the standard interactions; event, goal, outcome, campaign.
The Universal Tracker Client SDK also supports additional events, like Device Information, Geolocation, Page Opened, Page Closed and Error.

Universal Tracker Cliend SDK Track Event Example code

The Universal Tracker Client SDK will be open source and is pre-baked into the Sitecore Mobile SDK, powered by Xamarin, for you to leverage while creating your Sitecore powered native mobile apps.

Learn more about Sitecore 9.1

Next to all the new features and enhancement in Sitecore Experience Platform we also added features to Sitecore Content Management, read more about this in the What’s new in Sitecore 9.1 Series.

The full slide deck is available for you to view on SlideShare.

Do you have questions?

Leave a comment or reach out to me on Twitter @pieterbrink123




Leave a Reply

Your email address will not be published. Required fields are marked *