Skip to content

AI Analysis Result Feedback Collection System

1. Overview

This document outlines the design for collecting user feedback on AI analysis results in the EMS system. The goal is to understand how AI-generated root cause analysis helps users resolve incidents and continuously improve the AI model's accuracy and usefulness through both active and passive feedback mechanisms.

2. Core Concepts

  • Active Feedback: Explicit user actions that indicate satisfaction or dissatisfaction with AI analysis results
  • Passive Feedback: Implicit user behaviors that can be tracked to infer the usefulness of AI analysis

3. Feedback Collection Strategy

3.1 Active Feedback Mechanisms

3.1.1 Immediate Feedback (Analysis Result Page)

Location: Displayed prominently on the AI analysis result tab/page.
Behavior and Interaction:
1. Minimal Initial Ask(required): Start with thumbs up/down with "Help us improve!" prompt.
2. Smart Second Layer Feedback(optional):

**If thumbs down feedback, immediately ask "What went wrong?"**    
- ❌ Incorrect root cause    
- ❌ Missing important information    
- ❌ Irrelevant suggestions

**If thumbs up feedback, ask "What worked best?"**     
- ✅ Accurate root cause identified    
- ✅ Helpful troubleshooting steps    
- ✅ Helpful remediation suggestions     
- ✅ Resolve alert/incident
  1. Detailed Feedback Option(optional): Expandable section for free text comments

Timing and Contextual Prompts:
1. Show at the Beginning/End: Show the "Help us improve!" feedback widget when user first lands on the analysis page.
2. Contextual Timing:
Minimum Feedback Threshold: 20 feedback submissions per AI runbook

Condition Feedback Status Behavior
Feedback count < 20 REQUIRED User must provide feedback before closing report
Feedback count ≥ 20 AND score < 6.0 REQUIRED Low score needs more feedback to improve
Feedback count ≥ 20 AND score ≥ 6.0 OPTIONAL User can skip feedback
Feedback count ≥ 50 AND score ≥ 8.0 OPTIONAL High confidence, minimal prompts

3.2 Passive Feedback Mechanisms

3.2.1 User Behavior Tracking

Page Engagement Metrics:
- Time spent on AI analysis page
- Scroll depth and reading patterns
- Copy/paste actions from analysis content
- Click the links provided in the analysis report

4. Feedback Data Model

4.1 Active Feedback Schema

Feedback:

{
    "ai_runbook_id": "uuid",
    "feedback_id": "uuid",
    "analysis_id": "uuid",
    "alert_id": "uuid",
    "user_id": "string",
    "feedback_type": "immediate|followup|survey",
    "timestamp": "timestamp",
    "satisfaction": "good|bad",
    "categories": [
        "incorrect_root_cause",
        "missing_information",
        "irrelevant_suggestions",
        "accurate_root_cause",
        "helpful_troubleshooting",
        "helpful_remediation",
        "resolved_incident"
    ],
    "binary_helpful": true,
    "free_text": "string"
}

4.2 Passive Feedback Schema

  • Time spent on AI analysis page
  • Scroll depth and reading patterns
  • Copy/paste actions from analysis content
  • Click the links provided in the analysis report
{
    "session_id": "uuid",
    "analysis_id": "uuid",
    "user_id": "string",
    "engagement_metrics": {
        "view_duration_seconds": 0,
        "scroll_percentage": 0,
        "clicks_on_suggestions": 0,
        "copy_paste_actions": 0
    }
}

5. Report Scoring System

5.1 Score Display

Location: Displayed prominently at the top of every AI analysis report.

Visual Representation: 1. Show score in the analysis report header:

┌─────────────────────────────────────────────────────────────┐
│  AI Analysis Report                                         │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ 🎯 Reliability Score: 8.5/10  (Based on 47 votes)   │   │
│  │ ████████████████████░░░░  HIGH CONFIDENCE           │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  Root Cause Analysis:                                       │
│  ...                                                        │
└─────────────────────────────────────────────────────────────┘

Score Tiers:

Score Range Label Color Description
8.0 - 10.0 HIGH CONFIDENCE 🟢 Green Highly reliable, consistently helpful
6.0 - 7.9 MODERATE CONFIDENCE 🟡 Yellow Generally reliable, some improvements needed
4.0 - 5.9 LOW CONFIDENCE 🟠 Orange Use with caution, needs more feedback
0.0 - 3.9 NEEDS IMPROVEMENT 🔴 Red Low reliability, under review
N/A NEW 🔵 Blue Not enough feedback yet
  1. Show different colors in alert AI analysis icon with different scores

5.2 AI Runbook Binding

Each AI analysis report is bound to an ai_runbook identifier in the alert body: Score Model:

{
    "ai_runbook_id": "uuid",
    "ai_runbook": "string",
    "score": 9.0,
    "feedback_count": 12
}

6. Score Calculation Algorithm

6.1 Scoring Components

The score is calculated using a weighted combination of Active and Passive feedback:

Component Weight Description
Active Feedback 90% Direct user ratings
Passive Feedback 10% Behavioral signals

6.2 Active Feedback Scoring (90%)

Phase 1: Thumbs Up/Down with Confidence Weighting

Simple thumbs up/down ratio adjusted by sample size confidence:

Base Score = (Thumbs Up Count / Total Feedback Count) × 10
Confidence Factor = min(Total Feedback Count / 20, 1.0)
Active Score = Base Score × Confidence Factor + 5.0 × (1 - Confidence Factor)

Where:
- 👍 Thumbs Up: counts as 1
- 👎 Thumbs Down: counts as 0
- Default Score: 5.0 (neutral starting point)
- Confidence Threshold: 20 feedbacks

Example Calculations:

Scenario 👍 👎 Total Base Score Confidence Active Score
New runbook 2 0 2 10.0 0.1 10×0.1 + 5×0.9 = 5.5
Low feedback 6 4 10 6.0 0.5 6×0.5 + 5×0.5 = 5.5
Good confidence 16 4 20 8.0 1.0 8×1.0 + 5×0 = 8.0
High confidence 40 10 50 8.0 1.0 8×1.0 + 5×0 = 8.0

Why Confidence Weighting? - Prevents extreme scores from small sample sizes (e.g., 1 thumbs up = 10.0) - New runbooks start near neutral (5.0) until enough feedback is collected - Score becomes more "real" as feedback count increases

Phase 2 (Future): Include Sub-item Weights

Sub-items can be added later to provide more granular scoring: - ✅ Accurate root cause: +0.3 - ✅ Helpful troubleshooting: +0.2 - ✅ Helpful remediation: +0.2 - ✅ Resolved incident: +0.5 - ❌ Incorrect root cause: -0.3 - ❌ Missing information: -0.2 - ❌ Irrelevant suggestions: -0.2

6.3 Passive Feedback Scoring (10%)

Passive Score = (Engagement Score) * 10

Engagement Score Components:
- View Duration: 
  - < 10 seconds: 0.0 (too short, likely not read)
  - 10-30 seconds: 0.3
  - 30-120 seconds: 0.6 (optimal reading time)
  - > 120 seconds: 0.4 (may indicate confusion)

- Scroll Percentage:
  - 0-25%: 0.0
  - 25-50%: 0.1
  - 50-75%: 0.2
  - 75-100%: 0.3

- Copy/Paste Actions:
  - 0: 0.0
  - 1-2: 0.2
  - 3+: 0.3 (strong signal of usefulness)

- Link Clicks:
  - 0: 0.0
  - 1+: 0.1

Maximum Passive Score: 1.0 → Normalized to 10

6.4 Final Score Calculation

Final Score = (Active Score * 0.9) + (Passive Score * 0.1)

Example:
- Active Score: 8.0 (mostly positive feedback)
- Passive Score: 7.0 (good engagement)
- Final Score: (8.0 * 0.9) + (7.0 * 0.1) = 7.2 + 0.7 = 7.9

6.5 Score Decay and Recency Weighting

To ensure scores reflect recent performance, apply time-based weighting:

Time Weight = e^(-days_ago / 90)

Where:
- Feedback from today: weight = 1.0
- Feedback from 30 days ago: weight ≈ 0.72
- Feedback from 90 days ago: weight ≈ 0.37
- Feedback from 180 days ago: weight ≈ 0.14

This value can be adjusted based on business needs (30 days for more aggressive decay, 180 days for more conservative)

Example Calculation:

Assume an AI Runbook has 4 feedback submissions:

Feedback Score Days Ago Time Weight Weighted Score
#1 9.0 0 (today) 1.0 9.0 × 1.0 = 9.0
#2 8.0 30 0.72 8.0 × 0.72 = 5.76
#3 4.0 90 0.37 4.0 × 0.37 = 1.48
#4 3.0 180 0.14 3.0 × 0.14 = 0.42
Weighted Score Sum = 9.0 + 5.76 + 1.48 + 0.42 = 16.66
Weight Sum = 1.0 + 0.72 + 0.37 + 0.14 = 2.23

Final Weighted Score = 16.66 / 2.23 = 7.47

Comparison with Simple Average:

Simple Average = (9.0 + 8.0 + 4.0 + 3.0) / 4 = 6.0
Weighted Average = 7.47

The time-weighted approach better reflects recent improvements, encouraging continuous enhancement of AI analysis quality.

7. Analytics and Reporting

7.1 Feedback Metrics Dashboard

Key Performance Indicators:
- Helpfulness Score: Average rating across all feedback
- Feedback Volume: Number of feedback submissions per day/week
- Resolution Impact: Percentage of users who report AI analysis helped resolve
- Time Savings: Average time saved when AI analysis is used
- Accuracy Trends: Improvement in accuracy ratings over time

Feedback Distribution:
- Positive vs. negative feedback ratios
- Most common feedback categories
- User segments with highest/lowest satisfaction
- Most/least useful for different service/subagent

8. Related Features Changes

  • Auto add field ai_report_url to incident/alert detail body when EMS AI analysis is triggered.
  • Add field ai_report_url to SNOW Issue creation workflow so that SNOW can link back to the AI analysis report.
  • Add feedback widget to manual resolve incident/alert dialog if the incident/alert has AI analysis report.