Skip to Content

Real-Time Customer Data Platform (RTCDP) & Adobe Sensei for a Media Company

"Enhancing User Engagement with Real-Time Customer Data and AI-Driven Content Recommendations"


Discover more

Client Overview

The client is a leading media company that operates multiple digital platforms, including news websites, streaming services, and social media channels. The company sought to leverage real-time customer data to deliver personalized content recommendations and enhance user engagement.

Objective

 

To implement Real-Time Customer Data Platform (RTCDP) and Adobe Sensei for creating unified customer profiles, enabling AI-driven content recommendations, and optimizing user experiences across all digital platforms.

 Technologies Used


• Real-Time Customer Data Platform (RTCDP)

• Adobe Sensei

• Adobe Experience Platform (AEP)

• Adobe Target

• Machine Learning Algorithms

• API Integrations

​Solution Overview

Step 1: Real-Time Customer Data Platform Setup

  • Environment Configuration:

We set up the RTCDP environment and integrated it with Adobe Experience Platform (AEP) to access real-time customer data and unified profiles. This setup allowed the client to leverage comprehensive data for personalized content delivery.

 

# Initialize RTCDP environment

adobe-rtcdp --init --env=production

  • Data Schema and Ingestion:

The data schema in RTCDP was configured to handle various customer data types, including interaction history, content preferences, and demographic information. Data ingestion pipelines were set up to pull data from the client’s digital platforms.

{

    "schema": "content_preference_profile",

    "fields": [

        {"name": "customer_id", "type": "string"},

        {"name": "content_preferences", "type": "array"},

        {"name": "interaction_history", "type": "array"}

    ]

} 

Step 2: AI-Driven Content Recommendations with Adobe Sensei (continued)

  • Integration with Adobe Sensei (continued):

Adobe Sensei was integrated with RTCDP to leverage machine learning algorithms for personalized content recommendations. This integration enabled the client to deliver AI-driven recommendations across its digital platforms.

 

@Component(immediate = true)

public class ContentRecommendationService {

    @Reference

    private SenseiClient senseiClient;

    public List<String> getRecommendedContent(String customerId) {

        CustomerProfile profile = rtcdpClient.getProfile(customerId);

        return senseiClient.recommendContent(profile);

    }

} 

  • Machine Learning Model Training:

We trained machine learning models using historical data from AEP and RTCDP. The models were designed to predict content preferences based on factors such as past interactions, time spent on content, and demographic information.

 

from sklearn.ensemble import RandomForestClassifier

from sklearn.model_selection import train_test_split

# Load historical data

data = load_data_from_aep()

# Preprocess data

X, y = preprocess_data(data)

# Train model

model = RandomForestClassifier()

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

model.fit(X_train, y_train)

# Save model

save_model_to_sensei(model)

Step 3: Personalized Content Delivery

  • Real-Time Content Personalization:

Using Adobe Sensei’s recommendations, personalized content was delivered in real-time to users across the client’s digital platforms. For example, news articles and videos were dynamically selected based on the user’s profile and recent interactions.

adobe.target.applyOffer({

    "mbox": "content-recommendation",

    "params": {

        "customerProfile": "profile_id_12345"

    },

    "offer": {

        "content": senseiClient.getRecommendedContent("profile_id_12345")

    }

});

  • Multi-Channel Content Synchronization:

The personalized content recommendations were synchronized across multiple channels, ensuring a consistent user experience whether the customer was browsing the website, using the mobile app, or interacting on social media.

public class MultiChannelContentService {

    public void syncContentAcrossChannels(String customerId) {

        List<String> recommendedContent = senseiClient.getRecommendedContent(customerId);

        syncToWeb(customerId, recommendedContent);

        syncToMobileApp(customerId, recommendedContent);

        syncToSocialMedia(customerId, recommendedContent);

    }

}

Step 4: Real-Time Data Analytics and Feedback Loops

  • Data Analytics Integration:

We integrated Adobe Analytics with RTCDP to monitor user interactions with personalized content in real-time. The data collected was used to continuously refine the machine learning models, improving the accuracy of content recommendations.

 public class AnalyticsFeedbackService {

  @Reference

    private AnalyticsClient analyticsClient;

    public void updateModelsWithFeedback(String customerId) {

        InteractionData interactionData = analyticsClient.getInteractionData(customerId);

        senseiClient.updateModel(interactionData);

    }

}

  • Feedback Loop Implementation:

A feedback loop was established where user engagement data was fed back into the machine learning models, allowing Adobe Sensei to learn and adapt to changing user preferences over time.

# Update model with new data

new_data = get_new_interaction_data()

model = load_model_from_sensei()

model.fit(new_data.X, new_data.y)

save_model_to_sensei(model)

Step 5: Testing and Optimization

  • A/B Testing of Recommendations:

A/B tests were conducted to evaluate the effectiveness of different recommendation strategies. For example, one test compared the performance of editorially selected content against AI-driven recommendations.

 

adobe.target.createABTest({

    "mbox": "recommendation-test",

    "variants": [

        {

            "name": "AI-Driven",

            "content": senseiClient.getRecommendedContent("profile_id_12345")

        },

        {

            "name": "Editorial",

            "content": "editorial_selected_content"

        }

    ],

    "metrics": {

        "engagementRate": "contentEngagement"

    }

});

  • Continuous Optimization:

Based on the results of A/B testing and real-time analytics, the recommendation algorithms were continuously optimized to improve user engagement and content relevance.

 

public class RecommendationOptimizationService {

    public void optimizeRecommendations(String testId) {

        Report report = analyticsClient.getABTestReport(testId);

        senseiClient.updateModelBasedOnReport(report);

    }

}


                                               Challenges Faced

Handling large volumes of real-time data from multiple sources was a significant challenge. This was addressed by optimizing data pipelines and ensuring low-latency processing in RTCDP and Adobe Sensei. Ensuring the accuracy of content recommendations required extensive model training and continuous optimization.  

Outcomes

Increased User Engagement: The AI-driven content recommendations led to a 30% increase in user engagement across the client’s digital platforms.

Higher Content Consumption: The personalized recommendations resulted in a 25% increase in content consumption, particularly for video content and in-depth articles.

Improved User Satisfaction: The consistent delivery of relevant and engaging content across channels significantly improved user satisfaction and loyalty.

Conclusion

This case study illustrates how the integration of Real-Time Customer Data Platform (RTCDP) and Adobe Sensei can transform a media company’s approach to content delivery. By leveraging AI-driven recommendations and real-time data, Surge Software Solutions helped the client enhance user engagement, increase content consumption, and deliver a more personalized and satisfying experience across all digital platforms.

Contact us today to learn how we can help you achieve similar success with Real-Time Customer Data Platform

Join us and make your company a better place.