Skip to main content
Back to Learn More

NBA — Next Best Action Engine

ES Reference: Phase 2 (INTOS-ES-P2-001) — Next Best Action, Section 10

Overview

The Next Best Action (NBA) engine converts analytics into a small number of prioritized, actionable recommendations. Instead of a long list of things you could do, NBA tells you the one or two highest-impact actions to take right now — each with a clear reason, priority signal, and action path.

NBA starts as a rules-driven engine with AI explanations, not an opaque autonomous agent. Every recommendation stores its rule version, reason codes, input snapshot, and feedback — so you can understand why it was suggested and dismiss or snooze it with a trail.

Key Principles

  • Focused, not exhaustive — a small set of top actions, not a recommendation dump
  • Explainable — every recommendation shows what triggered it and why it's prioritized
  • User-controlled — complete, dismiss, snooze, and mark-not-relevant on every action
  • No compulsive pressure — no streaks, no unhealthy urgency, no "you're falling behind"
  • Rules-driven with versioned logic — transparent scoring, not black-box AI
  • Stale detection — recommendations auto-expire when inputs change

Action Sources & Priority Signals

Action Source Example Actions Priority Signals
Data Trust Confirm metric, resolve conflict, remove unsupported claim Critical requirement, high reuse count, interview proximity
Preparation Prepare question, learn topic, create story Role importance, readiness gap size, due date
Practice Practise P&L answer, run leadership panel simulation Low readiness score, high importance competency
Application Follow up with recruiter, update application stage/date Inactivity duration, upcoming interview date, stage deadline
Career Path Add evidence item, build skill for adjacent role, complete milestone Dream Job gap size, milestone due date, timeline urgency

Recommendation Lifecycle

CREATED → ACTIVE → COMPLETED
               ↓
           DISMISSED (with reason)
               ↓
           SNOOZED → ACTIVE (after snooze period)
               ↓
           NOT_RELEVANT (feedback recorded)
               ↓
           STALE (inputs changed, auto-expired)

Screens in This Feature Area

1. NBA Panel (/dashboard/nba)

The main NBA interface showing current prioritized recommendations.

Buttons & Actions:

Button Behavior
View Recommendation Open detailed action brief with reasoning and context
Do It Now Launch the recommended action directly (opens relevant screen)
Skip / Dismiss Remove recommendation with optional reason
Snooze Postpone for a configurable period (hours/days)
Mark Not Relevant Provide feedback that this recommendation wasn't useful
See History View past recommendations and actions taken

2. Recommendation Detail

In-depth view of a single recommendation with full context.

What It Shows:

  • What — the specific recommended action
  • Why — the data, gap, or event that triggered it
  • Priority — urgency × impact explanation
  • Context — linked readiness component, gap, job, or competency
  • Action Button — one-click navigation to complete the action
  • Due Date — if time-sensitive (upcoming interview, deadline)

3. NBA History

Chronological log of past recommendations and their outcomes.

Buttons & Actions:

Button Behavior
Filter by Status Completed, Dismissed, Snoozed, Not Relevant
Filter by Source Data Trust, Preparation, Practice, Application, Career Path
View Original See the original recommendation context

Recommendation Data Model

Every recommendation stores:

Field Description
ruleVersion Which NBA rule set generated this
reasonCodes Specific rules/conditions that triggered it
inputSnapshot Data state at time of generation (readiness, gaps, dates)
priority Calculated urgency × impact score
dueDate Recommended completion date (if applicable)
state Active, Completed, Dismissed, Snoozed, Not Relevant, Stale
actionLink Deep link to the screen where the action can be completed
feedback User-provided reason for dismiss/not-relevant

Anti-Patterns (What NBA Does NOT Do)

  • No compulsive streaks — "3-day prep streak" pressure is explicitly avoided
  • No unsupported urgency — "Apply NOW before it's too late!" without concrete reason
  • No recommendation dump — you get 1-3 top actions, not a list of 20
  • No opaque AI decisions — every recommendation has rule-based reasoning
  • No stale persistence — recommendations auto-expire when underlying data changes
  • No protected-attribute signal — recommendations never use age, gender, ethnicity, or similar attributes

Related ES Requirements

ID Requirement
P2-E07 Prioritized actionable recommendations from analytics
P2 NBA Store ruleVersion, reason codes, input snapshot, priority, due date, state
P2 NBA Users can complete, dismiss, snooze and mark not relevant
P2 NBA Avoid compulsive streak pressure and unsupported urgency
P2 NBA Return focused set of top actions, not a recommendation dump
AC-07 Next Best Action is focused, explainable and free of stale duplicates

Related Docs

  • [[readiness]] — NBA uses readiness gaps as primary priority signals
  • [[dashboard]] — NBA recommendations appear on the dashboard for immediate visibility
  • [[practice]] — NBA can trigger practice sessions for weak competency areas
  • [[dream-job]] — NBA generates career-path actions toward dream job milestones
  • [[analytics]] — NBA action effectiveness is tracked in analytics
Based on INTOS-ES-P0-001 (Phase 0), INTOS-ES-P1-001 (Phase 1), INTOS-ES-P2-001 (Phase 2), INTOS-ES-P3-001 (Phase 3), and INTOS-ES-P4-001 (Phase 4) Engineering Specifications v1.0