May 1, 2026

Next Best Action Recommendation System

IQVIA Senior ML Engineer 2020-2024 5 min read

Built a global, AI-driven decisioning system to prioritize sales and marketing actions through personalized, data-driven recommendations at scale.

Cover for Next Best Action Recommendation System

Overview

The Next Best Action (NBA) system is an AI-driven decisioning engine that recommends the most effective action a commercial user should take for a given account or healthcare provider (HCP). Rather than focusing on isolated message recommendations, the system prioritizes what to do next—such as outreach, channel selection, and follow-up strategy.

The system was deployed globally and used across multiple regions, supporting sales and marketing teams with consistent, data-driven guidance. It enabled organizations to move from manual, intuition-driven workflows to scalable, prioritized engagement strategies grounded in behavioral data.

Problem

  • Sales and marketing decisions were manual, inconsistent, and dependent on individual experience
  • No unified prioritization existed across accounts, channels, or actions
  • Large volumes of interaction data were underutilized due to noise and fragmentation
  • Feedback signals were sparse and indirect, making optimization difficult
  • Naive recommendation approaches led to repetitive actions and reduced effectiveness over time

Constraints

  • Large-scale datasets with high-cardinality entities (accounts, users, actions)
  • High-volume interaction logs requiring distributed batch processing
  • Noisy behavioral data requiring filtering, aggregation, and feature extraction
  • Sparse feedback signals where engagement is only a proxy for success
  • Need to balance relevance with diversity to avoid over-targeting and fatigue
  • Computational constraints when generating recommendations at scale

Approach

Framed the problem as a ranking task: for each account, generate and rank a set of candidate actions based on expected impact.

Built a batch-driven recommendation pipeline consisting of:

  • Distributed data processing using Dask on Kubeflow to scale pandas-based transformations
  • Interaction preprocessing to filter low-signal events, aggregate behavior, and extract features such as recency, frequency, and engagement strength
  • A Neural Factorization Machine (NFM) model to capture higher-order feature interactions across users, accounts, and actions
  • Post-processing steps to ensure diversity and avoid repetitive recommendations

In addition, introduced configurable business-rule controls (“knobs”) that allowed sales and marketing users to tune recommendation outputs based on strategy, campaign goals, or regional needs.

Prioritized:

  • Data quality and feature engineering
  • Scalable batch processing over real-time systems
  • Flexibility to adapt recommendations to business constraints

System Design

The system is a distributed batch pipeline built on Kubeflow and Dask.

Data Processing Layer

  • Interaction data is processed using Dask clusters deployed via Kubernetes
  • Jobs are orchestrated through Kubeflow Pipelines
  • Data is partitioned by region and segment to support global deployments
  • Preprocessing includes filtering irrelevant interactions, aggregating events, and constructing behavioral features

Modeling Layer

  • Neural Factorization Machine (NFM) is trained offline on aggregated interaction data
  • Feature space includes behavioral signals, contextual attributes, and temporal patterns
  • Model captures non-linear interactions between users, accounts, and actions

Recommendation Layer

  • Candidate actions are generated per account in batch
  • Actions are scored and ranked using the trained model
  • Business-rule tuning and post-processing adjust outputs based on strategic priorities and diversity considerations

Recommendations are materialized and consumed downstream in sales and marketing workflows.

Key Decisions

Frame the problem as action-level ranking

Shifting from message-level recommendations to action-level decisioning aligned the system with real-world workflows and enabled better prioritization across channels and strategies.

Use Neural Factorization Machines for modeling

NFM allowed the system to capture higher-order feature interactions while remaining practical for large-scale batch training and inference.

Introduce business-controlled tuning mechanisms

Exposing configurable knobs enabled:

  • Alignment with evolving business strategies
  • Flexibility across regions and user roles
  • Faster iteration without retraining models

However, this also introduced variability depending on how effectively users tuned the system.

Build a batch-first distributed system

A batch architecture provided:

  • Scalable processing of large interaction datasets
  • Operational simplicity and reliability
  • Flexibility to adapt pipelines across regions

Results & Impact

  • Adoption: Recommendation utilization exceeded 90% in several deployments, indicating strong user trust and alignment with workflows
  • Field Productivity: 93% increase in top-tier accounts achieving call plan targets
  • Engagement:
    • 4x increase in rep-triggered email send rates
    • 14x increase in marketing consent opt-ins
  • Scale: Deployed across global teams, supporting thousands of users and adapting to regional engagement patterns

The system enabled a shift from manual prioritization to consistent, data-driven decision-making across commercial operations.

Tradeoffs

  • Batch processing limited responsiveness to recent behavioral changes
  • Neural models increased dependency on feature quality and training data consistency
  • Business-rule tuning improved flexibility but introduced user-dependent performance variability
  • Lack of a closed feedback loop meant the system did not automatically learn from user adjustments or outcomes
  • Compute cost increased with large-scale batch scoring

Learnings

  • Combining ML ranking with user-controlled business logic is often necessary in enterprise systems
  • Model sophistication alone is insufficient—how outputs are controlled and consumed is equally important
  • User-level tuning improves adoption but creates uneven outcomes across users
  • Absence of a feedback loop limits long-term system optimization
  • Neural models are effective but remain heavily dependent on upstream data quality

Future Work

  • Introduce a closed feedback loop to learn from user actions and outcomes
  • Replace manual tuning with adaptive, data-driven optimization
  • Implement contextual bandits to balance exploration and exploitation
  • Improve consistency across users through guided tuning strategies
  • Incorporate sequence-aware models for multi-step action planning