Experience League | Image

L774 - Adobe Experience Platform: Overview

Table of Contents

Lab Overview

Experience Platform is a purpose-built cloud offering that centralizes and standardizes customer data across the enterprise powering a unified customer profile, enabling analysis/data science and data governance to drive real-time personalized experiences. Experience Platform weaves all your critical customer data together in real time. This include behavioral, transactional, financial, operational, and third-party data and not just CRM or other first-party data.

Bring in your data, standardize it, make it smarter. See what your customer wants right now and build experiences to match.

In this hands-on lab session, you will learn to:

  • Ingest customer data from a variety of sources to generate real-time customer profiles
  • Run segmentation against these profiles to generate and activate high-value audiences across any digital channel (advertising, marketing, analytics, etc.)
  • Perform analysis using standard SQL and visualize inside Business Intelligence (BI) Tools
  • Enrich the customer profiles with ML derived insights to drive personalized experiences

Adobe Experience Platform Overview

Objectives

After completing the lab, you will be able to do the following:

  • Define a Data Model to meet the customer intelligence needs of your business
  • Ingest data for generating real-time customer profiles in Experience Platform
  • Classify and govern data to meet regulatory and compliance requirements enabling you to use your data with confidence
  • View real-time customer profiles and define Segments to activate audiences in Adobe and non-Adobe channels
  • Derive omni-channel insights & run reports using standard SQL and visualize inside PowerBI
  • Use data-science to predict customer purchase behavior

Lab Scenario Context

Luma (a fictitious company) is a recognized activewear manufacturer and retailer with more than 230 stores spanning 43 states and growing: https://publish1034.adobedemo.com/content/luma/us/en/about-us.html

Challenges

Luma seeks to boost quarterly sales through effective personalization and targeted promotions to its customers. But not all customers are alike. How to arrive at a centralized view of customers’ preferences and interactions with the brand? Who to target, when, and on what channel? How to personalize products and content for each customer? How to continuously measure and analyze customer behavior?

Goal

Create rich and complete real-time customer profiles encompassing demographic information, transaction history, behavioral data, and attributes like status and loyalty to drive personalization, omni-channel analysis, and ML/AI driven actionable insights.

Lesson 1 - Build Real-Time Customer Profiles in Experience Platform using Data Pipeline

Concept Concept - Experience Platform Data Pipeline

Adobe Experience Platform Overview

Data is at the core of Experience Platform. The data processing at the at the heard of Experience Platform centralizes customer data across the enterprise and persists it in an optimized, standardized format.

Batch Pipeline is optimized for large volumes of data whether you’re bringing data in or reading it back out. It encompasses Batch Ingestion APIs/SDKs, Connectors for non-Adobe Applications, bi-directional integration with ETL vendors (Unifi, Informatica, SnapLogic) for access to 100s+ applications, and Batch Data Access APIs.

Streaming Pipeline is optimized for real-time data ingestion and real-time activation of customer data & insights. It is powered by a globally deployed Data Collection Service for capturing events at the edge, Streaming Processing APIs to process collected data in-motion, and integrates with Adobe I/O events for publishing events back to Adobe and non-Adobe applications.

Adobe Solution Connectors ingest data (batch & streaming) from Adobe Solutions such as Campaign, Target, Audience Manager, Analytics, and AdCloud into Experience Platform for generating real-time customer profiles.

Adobe Launch is Adobe's next-generation tag management system and client-side platform that makes it easy to capture web & mobile behaviors and publish those events to Experience Platform in real-time.

Adobe Experience Data Model (XDM) provides open, standardized, extensible schemas to represent an organization’s customer data model, thereby enabling immediate semantic understanding and actioning of the data as soon as it lands in Experience Platform. All customer data is transformed into conformant schemas before being written to Experience Platform.

Adobe Experience Data Lake is the optimized persistent storage for customer data for driving analytic workloads.

Unified Profile Service provides a real-time complete view on customer and time-series data which can then be used for creating segments and audiences which can be activated within Adobe and non-Adobe applications.

Identity Service stitches user identities together, across devices and systems, for a complete view within Unified Profile.

Catalog & Governance Service provides metadata management, data classifications, and data usage policy management for all data in Adobe Experience Platform.

To learn more click here: https://www.adobe.io/apis/experienceplatform/home.html

Lesson Context

Adobe Experience Platform Overview

In this part, we will learn how Experience Platform impacts a typical customer journey at Luma, an outdoor retail company with both online and offline touchpoints. Luma is using Experience Platform and the Unified Profile Service to create segments that can be used across the Adobe Experience Cloud solutions.

Luma Home Page

Exercise 1.1 - Getting familiar with the Experience Platform UI

Let's start with logging into Experience Platform UI.

  1. Navigate to Experience Platform Login Page: https://platform.adobe.com

  2. Use the supplied credentials and click “Sign in”

  3. Familiarize yourself with the overall layout of the landing page

  4. (Optional) Browse Learning Resources

    Figure 1: Experience Platform

Exercise 1.2 - Explore data on Experience Platform

Bringing data from different channels is a tough task for any brand. In this exercise, LUMA customers are engaging with LUMA on its website, on its mobile app, purchase data is collected by LUMA’s Point of Sale system, and they have CRM and Loyalty data. LUMA is using Adobe Analytics and Adobe Launch to capture data across its website, mobile app as well as POS system, so this data is already flowing into Experience Platform. Lets begin with exploring all the data for LUMA that already exists on Experience Platform.

  1. Click on Datasets element in the left navigation panel in the Experience Platform UI

    Figure 2: Experience Platform

  2. LUMA is using Adobe Analytics to capture web behavioral data. This data is available in Experience Platform in “Luma Global postValues” dataset. Search for “Luma Global postValues”. As you can see the schema for this dataset is “ExperienceEvent”. ExperienceEvent schema is our standard schema to describe time-series events, and works well for web and mobile behavioral data.

  3. Click on the “Luma Global postValues” to get more details on the dataset.

  4. Dataset Activity tab shows the amount of data transferred from Adobe Analytics today and in the Last 30 days. Click on the calendar icon above the metrics to select a different period.

    Figure 3: Experience Platform

  5. Select “This Month” and click on “Apply”. “Dataset Activity” tab is updated to show metrics for this month.

    Figure 4: Experience Platform

  6. Go back to list of Datasets by clicking on “Datasets” element in the left navigation panel.

  7. Luma’s POS data is captured in “Luma Sales” dataset. Search for “Luma Sales” data in search box. Click on dataset name to get dataset details.

  8. Click on “Preview Dataset” (on the top right corner of the screen) to see a sample of the data stored in “Luma Sales” dataset. Preview shows a sample of the data stored in this dataset. Left panel also shows schema for this dataset.

    Figure 5: Experience Platform

    Figure 6: Experience Platform

  9. Go back to list of Datasets by clicking on “Datasets” element in the left navigation panel.

  10. When someone signs up for new account on the Luma website, this sign-up event is captured by Adobe Launch which streams this information to Platform in real-time. These events are available in Experience Platform under the “Luma - Web and Mobile account”. Search for “Luma - Web and Mobile account” dataset and click on the dataset name to get to dataset activity page.

  11. “Luma - Web and Mobile account” dataset includes the customer registration data, which includes first name, last name, email address, Experience Cloud ID, and CRM ID. This dataset contains sensitive data about customers, so let's ensure we setup labels for Data Governance. Click on Data Governance tab in the dataset detail view. The dataset already has a contract label C2 applied to it to protect this data. The C2 label means “Data cannot be exported to third parties”.

    Figure 7: Experience Platform

  12. Look for the “homeAddress” field, click on the checkbox next to it and click on “Edit Governance Labels” option in the right panel.

    Figure 8: Experience Platform

  13. Expand the Sensitive Labels section and check the box next to label “S2”. Save Changes.

    Figure 9: Experience Platform

Exercise 1.3 - Add Loyalty Data to Enrich Unified Profile

So far we have looked at the data which Luma captures using tools provided by Adobe. But LUMA, like every other brand, has other data about its customer that they want to use to deliver the right experience at the right moment to delight their customers. Luma has loyalty data about its customers which they want to onboard onto Experience Platform and enrich their profile.

  1. To create a new dataset, click on the “Create Dataset” button on the top right hand corner of the dataset screen.

    Figure 10: Experience Platform

  2. Select “Create Dataset from Schema” and search for “Loyalty” schema. Loyalty is a schema that we have customized for LUMA. We have added Loyalty fields to this schema. Click Next.

  3. Provide a Name and Description for the dataset. Name of the dataset should be userid_loyalty. For example: L774+01_loyalty. Select the finish button to save the dataset.

  4. Search for the dataset you just created and click on the dataset name.

  5. Enable the dataset for Unified Profile. To enrich Unified Profile with data in a dataset, it is critical to mark it enabled for Unified Profile. In the right panel of the Dataset Activity page, toggle the "Unified Profile" button.

    Figure 11: Experience Platform

  6. Next we will add data to this dataset. Batch data can be added to Experience Platform in either JSON or Parquet format. For this exercise we have provided a sample json file with the data. Download the file in this location: http://bit.ly/Lab774-data and save to your desktop.

  7. Click on the “Add Data” tab in the right panel of the screen. Ingest data into your dataset by uploading the provided file “Lab774-sampledata.json” into the add data part of the screen.

    Figure 12: Experience Platform

  8. Once the upload is complete you should see 1 batch which will show up as in progress

  9. Wait for the batch to complete processing. Once the batch has been successfully uploaded click on the "Preview Dataset" button to preview the dataset ingested

Lesson 2 - Getting Started with Unified Profile and Segmentation

Objective

View real-time customer profiles in Experience Platform and define segments to create Audiences for campaign and to drive customer experiences

Lesson Context

Adobe Experience Platform Overview

Unified Profile offers brands a true single view of their customers, while keeping a large focus on consumer privacy and security. Brands will now experience a single, integrated segmentation experience across all Adobe Experience Cloud solutions. A segment will be built once, based on the Unified Profile, and the same segment can be activated across all of the Adobe Experience Cloud solutions.

In this lesson we will look up the profile we just enriched using loyalty data and build a segment for customers with platinum status.

Exercise 2.1 - Browse Profile

Let's start with going to the home page in the Experience Platform UI.

  1. Click on Profiles element in the left navigation panel of the UI

    Figure 1: Experience Platform

  2. Unified Profile combines all the Profile and ExperienceEvent data to build a real-time view of the customer. To see all the different profile schemas that are part of the Profile, click on the Unified Profile Schema tab.

    This tab shows all the different attributes that are captured in Unified Profile for LUMA.

  3. Look up profile. Next click on Browse tab. This tab shows you a list of all the profiles stored in Unified Profile . To lookup an individual profile, click on “Find a Profile” button on the top-right hand corner of the screen.

    Figure 3: Experience Platform

  4. Unified Profile allows searching for profile using any of the identities used by the brand. In this instance lets search by email address. In the "Namespace" drop down, select “Email” from the list of Namespaces and in Identities use the email “jane.doe@adobetest.com

    Figure 4: Experience Platform

  5. Details page shows all the information Unified Profile has about this profile including their preferred channels for communication.

Exercise 2.2 - Create Segments

Luma would like to create a segment of its most loyal customers in Oregon so that they can be targeted for the best offers for the season. In this case lets build a segment of all customers with a Platinum level in loyalty system.

  1. Click on Segments elements in the left navigation panel. Browse tab shows a list of all segments already created. Right panel shows total segments in the system and the most recently created segments.

    Figure 5: Experience Platform

  2. Select "Create Segment" in the upper right corner to create a new segment.

  3. In the Segment name, give the segment a unique name, userid. For example “L774+01 Most Loyal Customers in Oregon”. In the search attributes, search for Level.

    Figure 6: Experience Platform

  4. Drag the Level attribute to the right section of the screen and select Platinum from the drop down. Top section of the screen shows how many users will qualify for this segment. This calculation is done in real time.

    Figure 7: Experience Platform

  5. Next search for state attribute. Drag the "state or province" attribute to the right. In the state type "OR"

    Figure 8: Experience Platform

  6. Save the segment. Now this segment can be used to send audiences for activation via any Adobe Solution.

  7. Click on "View Profile" to see a list of sample profile that belong to this segment.

    Figure 8: Experience Platform

Lesson 3 - Gain insights into customer behavior via omnichannel analytics

Objective

Use Adobe Experience Query Service for omni-channel insights and attribution

Lesson Context

Adobe Experience Platform Overview

The Adobe Experience Query Service (Query Service) is a powerful analysis tool for discovering and directly querying all data in Experience Platform. The combination of Experience Data Model, all Adobe data in a single data lake, and the Query Service enables customers to analyze customer data in real-time for driving real-time customer journeys.

Query Service allows you to tap into all your data in Experience Platform using standard ANSI SQL. Query Service uses a PostgreSQL client as interface enabling a data analyst or an engineer to use various command tools and utilities that support the PostgreSQL driver lowering the bar for adoption. This makes it easy for anyone with SQL skills to quickly analyze large-scale dataset.

Since Query Service supports standard SQL it is easy to visualize the results of the Query inside Power BI. Query Service also has a purpose-built Power BI Connector for supporting interactive reporting & visualization within Power BI.

In this lab we are going to leverage Query Service to build visualizations in Power BI.

Exercise 3.1 - Connect Power BI to Experience Platform

  1. Launch Power BI from Windows Start Menu

  2. In Power BI, click on Get Data and select Postgrese SQL. Click Connect.

    Figure 1: Experience Platform

    Figure 2: Experience Platform

  3. To connect to Experience Platform, we need to know the details about the Server, user ID, credentials. All these are made available in our UI in the following page: https://platform.adobe.com/query/bitools

  4. Use the following SQL statement in the PostgreSQL database connection page

    Figure 3: Experience Platform

  5. Uncheck the “Include relationship columns” checkbox and click OK.

  6. We now need to provide Credentials for Experience Platform. These credentials can be found in the same UI: https://platform.adobe.com/query/bitools

    Click “Connect”

    Figure 4: Experience Platform

  7. You will see a preview of data. It should look like the following. Click Load to continue.

    Figure 5: Experience Platform

Exercise 3.2 - Build a graphical visualization of LUMA customers/prospects

To build this visualization we are going to leverage the location information captured in ExperienceEvents data. In the query used for this exercise we included Latitude and Longitude in the query, so these fields are available to us in Power BI.

  1. Select “Map” Visualization from the right hand panel

    Figure 6: Experience Platform

  2. Select latitude and longitude fields

    Figure 7: Experience Platform

  3. By default Power BI summarizes the latitude and longitude values, however we need individual values to show them on a map. We can fix this by right clicking on the appropriate fields and selecting “Don’t summarize” option. Do this for both latitude and longitude.

    Figure 8: Experience Platform

    At this point we should see a world map with different locations highlighted. Next lets filter only the customers in United States.

    Figure 9: Experience Platform

  4. Add a filter for country. Right click on the countrycode field and select “Add to filters” -> “Visual-level filters”

    Figure 10: Experience Platform

  5. Under the filters section search for US and select “US”

    Figure 11: Experience Platform

    Now you should see a map with only locations in United States

    Figure 12: Experience Platform

Exercise 3.3 - Build a graphical visualization of unique visitors to Luma website

Now we will build a visualization to find numbers of unique visitors browsing Luma website each hour of the day. To do this, we will leverage different Experience Cloud IDs captured in ExperienceEvents.

  1. Select Table from Visualizations

    Figure 13: Experience Platform

  2. Select Hour and id fields

    Figure 14: Experience Platform

    By default Power BI aggregates all the hours. Let's fix this.

  3. Right click on the Hour under Values, and select Don’t summarize.

    Figure 15: Experience Platform

  4. We need to count unique visitors, this can be done by applying Count(Distinct) function to id. Right click on id field and select Count(Distinct).

    Figure 16: Experience Platform

Now we have a list of unique visitors to Luma website for each hour of the day

Figure 17: Experience Platform

Lesson 4 - Use Machine Learning to predict Product Purchase Behavior

Objective

In the LUMA website, you'll notice that there are recommended products on each product page. The goal of this part of the lab is to show you how Experience Platform customers can generate product recommendations using a trained machine learning model using Data Science Workspace.

Adobe Experience Platform Overview

Lesson Context

Experience Platform leverages domain expertise of Adobe products and partners to unleash insights from your data using machine learning and artificial intelligence. You can utilize pre-built machine learning models powered by Adobe Sensei, or author your own models to do data science on top of your content and data assets across Adobe solutions.

Adobe Experience Platform leverages domain expertise of Adobe products and partners to unleash insights from your data using machine learning and artificial intelligence. You can utilize pre-built machine learning models powered by Adobe Sensei, or author your own models to do data science on top of your content and data assets across Adobe solutions.

Adobe Experience Platform Overview

You can learn more about the data science capabilities of Experience Platform at: https://www.adobe.io/apis/experienceplatform/home/data-science-workspace/dsw-overview.html

In this lesson, we will use Experience Platform to predict customer purchase behavior. We will do this by applying a customized random forest classifier and a two-tiered experience data model to predict the probability of a purchase event. The model utilizes input data incorporating customer profile information and past purchase history and defaults to pre-determined configuration parameters determined by our data scientists to enhance predictive accuracy.

Adobe Experience Platform Overview

Exercise 4.1 - Explore Popularity Based Recommendation Recipe

Recipes enable you to generate insights from data on Experience Platform. A recipe is a proprietary machine learning or AI algorithm, or an ensemble of machine learning or AI algorithms, to help solve specific business problems.

  1. Navigate to Experience Platform: https://platform.adobe.com

  2. Navigate to the ML Models tab on the left rail

  3. In the Recipes sub-tab, you will find a pre-built Popularity Based Recommendation Recipe. For this lab, we will be using this recipe.

    Figure 1: Experience Platform

    Popularity Based Recommendationn is a pre-built recipe powered by Adobe Sensei and is shipped with Experience Platform. Besides, you can utilize powerful model authoring capabilities to create your own recipes using JupyterLab integrated into Experience Platform.

    In order to create a trained ML model and generate recommendations, Popularity Based Recommendation Recipe requires the following features as input for training: User ID, Product ID, Type of interaction that user had with product, Timestamp of interaction.

    For this lab, we will use the Recommendations Input Dataset as input data. This dataset is based on the Recommendations Input Schema. It has been pre-created by feature engineering Luma Global - postValues dataset ingested from Adobe Analytics, to extract the columns required for the recipe:

    • ItemId - ID for product on LUMA website
    • UserId - LUMA user ID
    • InteractionType - type of e-commerce interaction that LUMA user had with product e.g., click, purchase
    • Timestamp - time when the interaction was performed by user

    Figure 2: Experience Platform

  4. The trained model can take the above input features and create scoring output in the following format: User ID, List of recommended product IDs.

    For this lab, we will use the Recommendations Output Dataset to hold the output data. This dataset has already been created for your and is based on the Recommendations Output Schema. Both dataset and schema have been pre-created for you and are ready for you to use. Use this time to familiarize yourself with the output schema, look specifically for these fields:

    • UserId - LUMA user ID
    • Prediction - IDs for products on LUMA website recommended for the user

    Figure 3: Experience Platform

  5. While in the ML Model tab, select the Recipes sub-tab, and select the Popularity Based Recommendation Recipe. You will find a pre-created model for this recipe: Recommendations Model. For this lab we will be using this model.

  6. Open the pre-created model and review the details.

  7. On the model details page, you can view any pre-existing training runs. This screen provides you with the opportunity to train the model against input data.

    Figure 3: Experience Platform

Exercise 4.2 - Run Experiment to train ML Model

  1. On the Model page click on the button called Train on the top right corner of the screen.

  2. Notice that on the Training Input page you're shown only those datasets which match the schema configured in the recipe. Choose the Recommendations Input Dataset and click Next.

  3. The configuration step allows you to configure this training run. For now we will leave the num_recommendtions parameter at the default value, but let's change sampling_fraction to 0.7 - double click on the existing 1.0 value to make that change. Adjusting these hyperparameters is a great way to experiment when running subsequent training tasks.

    Figure 5: Experience Platform

    Hyperparameters cannot be learned, they must be assigned before training of the model. Adjusting the parameters may change the accuracy of the trained model.

  4. Click Finish to start the training task.

Exercise 4.3 - Evaluate accuracy of Training Task

  1. Wait for the training task to complete (<1 min). Once complete click into it.

  2. Review the Evaluation Metrics of Training Run by clicking on the Training Run name

  3. Explore the information provided for each metric

  4. You can see which features and hyper-parameters were used for each Experiment on the Configuration tab

  5. (Optional) Create another experiment by following the steps in Exercise 4.2 and adjusting the hyper parameters

Figure 6: Experience Platform

Exercise 4.4 - Generate insights using trained model

  1. Select the Training Run from previous section. We will now use this training run to score a new dataset and generate recommendations

  2. On the Training Run details page select the sub-tab Scoring Runs and click the button Score

  3. For Data Source, select Recommendations Input Dataset. This is the same dataset we used earlier for training the model. Click Next.

  4. For Scoring Output, select Recommendations Output Dataset. The model will populate this dataset with recommendations based on the input dataset from previous step. Click Next.

  5. The configuration step allows you to configure this scoring run. Leave both num_recommendtions and sampling_fraction at their default values and click the Finish button to generate scoring output.

  6. On the Scoring Runs tab, click the scoring run, and from the right hand rail, select Preview Scoring Results Dataset. You'll notice that the model identified top 5 popular across all LUMA users and added them to the recommended product list (delimited by the # sign)

    New Scoring Run

    Figure 7: Experience Platform

    Figure 8: Experience Platform

  7. The output dataset is already enabled for Unified Profile to activate the generated recommendations in Adobe Solutions.

  8. Navigate on the Segments tab and click on Create Segment

  9. Under Browse Attributes navigate to on Profile > Platformlab 01 > Recommendations

    Figure 9: Experience Platform

  10. Select Recommendations and drag it into the design space in the center. Change the operator to contains and enter in the text box any of the SKUs that the model identified. As you do this, you should see the estimate on the right changing to show you how many profiles qualify into that segment.

Completed

🏆 Congratulations - You made it!

We would really appreciate your feedback at the survey link below. Survey respondents will be entered into a drawing for a $50 Amazon gift card. The survey will remain active until Monday, April 1, 2019: https://bit.ly/2UOvk69