🌟 In-session recommender

Decide which product features to highlight for each user as they browse, based on their adoption patterns and preferences.

About the use case

To ensure efficient product adoption, you must react in real-time to suggest optimal features so that the end users can reach their next product adoption milestone faster.

Using Next Best Action (NBA) modeling combined with personalizations, you can build an ultimate product adoption engine by highlighting the most relevant features to each user in real time.


  • Increases user engagement by highlighting relevant features based on user behavior.
  • Reduces churn by keeping users engaged and satisfied with personalized experiences.
  • Enhances feature adoption through targeted recommendations.
  • Boosts ROI by leveraging machine learning without the need for extensive resources.

How it works

Let's take an example of a SaaS app, "Otto," which offers features like Task Management, Time Tracking, and Team Collaboration. We aim to predict which feature to highlight to each user based on their behavior and adoption patterns.

Step 1: Create the model

  1. Data preparation

    1. Ensure you have at least 21 days of data collection and a minimum of 10,000 average daily events.
    2. Collect events related to feature usage, such as:
      • Tasks created
      • Time entries logged
      • Messages sent in team collaboration
    3. Ensure your goal event, such as "Feature Adoption," has a minimum daily average of 200 true and 200 false users over 30 days.
  2. Model creation

    1. Navigate to the Next Best Action section in Intempt and select "Create model."
    2. Choose the target goal representing the behavior you want to predict, such as "Becomes a Product Qualified Lead."
    3. Select the actions (events) you want to choose between, such as "Task Created," "Time Entry Logged," and "Message Sent."
    4. Filter out training data for better results by filtering users that would skew the results (e.g. users that did not login for the last 30 days)
  3. Training the model

    1. After the model is created, it starts the training and generating predictions. Intempt will create an output attribute to store prediction values.
    2. Review the model's prediction quality by checking the "Results" tab.
    3. Wait to collect more data if necessary to improve prediction quality.

Step 2:Create segments

  1. Create segments based on the model output. Each user will have a predicted next best action, such as:
    • "task_created" for users likely to adopt Task Management
    • "time_entry_logged" for users likely to adopt Time Tracking
    • "message_sent" for users likely to adopt Team Collaboration
  2. Segment creation details:
    • For Task Management, create a segment where the NBA attribute value is "task_created."
    • For Time Tracking, create a segment where the NBA attribute value is "time_entry_logged."
    • For Team Collaboration, create a segment where the NBA attribute value is "message_sent."

Step 3: Set up personalizations

  1. Create experiences

    1. Navigate to the Personalizations section and select "Create Personalization."
    2. For users with the next best action of "task_created":
      • Design a visual experience showcasing the advanced task management features. Use an engaging banner at the top of the dashboard highlighting "Did you know? You can now create recurring tasks and set task dependencies for better project management!" Include a call-to-action (CTA) button "Learn More" that directs users to a detailed guide or tutorial.
    3. For users with a next best action of "time_entry_logged":
      • Create an experience with a pop-up modal that appears when the user logs time. The modal should have a message like "Maximize your productivity! Integrate your calendar and track your time seamlessly." Include a CTA button "Get Started" leading to the integration setup page.
    4. For users with a next best action of "message_sent":
      • Develop a sidebar notification that highlights new collaboration tools. Use text such as "Enhance your team's communication with our new real-time document editing and video conferencing features." Add a CTA button "Try Now" that takes users to the feature setup page.
  2. Configure targeting

    1. Use the segments created from the NBA model as the targeting criteria.
    2. Assign the relevant experiences to each segment:
      • Segment: NBA attribute value "task_created" β†’ Experience: Advanced Task Management Features
      • Segment: NBA attribute value "time_entry_logged" β†’ Experience: Time-Saving Tips and Integrations
      • Segment: NBA attribute value "message_sent" β†’ Experience: New Collaboration Tools
  3. Start personalization

    1. Review the configured experiences and their targeting settings.
    2. Start the personalization campaign.

Step 4: Monitor and optimize

  1. Analyze results

    1. Regularly check the performance metrics in the Personalizations analytics section.
    2. Key personalization metrics to monitor:
      • Unique Views: Number of users who viewed the personalized experience.
      • Conversions: Number of users who triggered the desired action.
      • Conversion Percentage: Percentage of users who triggered the desired action.
      • Lift: Improvement in conversion rate compared to the control group.
  2. Adjust and refine

    1. Based on the analysis, tweak the segments and experiences to optimize recommendations.
    2. Implement A/B tests to compare different approaches. For example, test different messaging for promoting Task Management features.
    3. Continuously refine the NBA model and personalizations based on user feedback and performance data.

Read more