Skip to main content

Overview

SENTi-radar’s crisis detection system continuously monitors topics for negative sentiment spikes, emotion anomalies, and volatility surges. When a crisis is detected, the platform triggers real-time alerts and elevates the topic to your Crisis & Alerts Log.

Crisis Levels

Every topic is assigned one of four crisis levels:

None

0-1 negative signalsSentiment is stable or positive. Normal monitoring recommended.

Low

2-3 negative signalsMinor concerns detected. Watch closely but no immediate action required.

Medium

4-5 negative signalsElevated concern. Negative emotions are rising. Proactive engagement advised.

High

6+ negative signalsCrisis risk. Immediate attention required. Public anger/fear dominating.

Detection Algorithm

The crisis level is calculated based on negative keyword density:
// Source: TopicDetail.tsx (lines 262-268)
const negKw = [
  'war', 'attack', 'crisis', 'shortage', 'tension', 'conflict',
  'scandal', 'ban', 'protest', 'threat', 'crash', 'decline',
  'fail', 'corrupt', 'dangerous'
];

const negCount = negKw.filter(w => text.includes(w)).length;

const crisisLevel: 'none' | 'medium' | 'high' = 
  negCount >= 4 ? 'high' 
  : negCount >= 2 ? 'medium' 
  : 'none';
The algorithm combines keyword matching with emotion analysis. A topic with 48% anger + 22% fear will typically trigger a “high” crisis level.

Real-World Crisis Examples

Example 1: Climate Summit (High Crisis)

// Source: mockData.ts
{
  title: 'Climate Summit 2026',
  sentiment: 'negative',
  crisisLevel: 'high',
  volatility: 85,
  emotions: [
    { emotion: 'anger', percentage: 42 },
    { emotion: 'sadness', percentage: 25 },
    { emotion: 'fear', percentage: 18 }
  ],
  summary: '42% anger, 25% sadness → Key frustrations: broken promises (55%), insufficient targets (30%), greenwashing (12%)'
}
Why it’s a crisis:
  • 67% negative emotions (anger + sadness + fear)
  • Keywords: “broken promises”, “greenwashing”, “too little too late”
  • Volatility: 85/100
  • Volume spiked 60% after leaked draft targets

Example 2: Food Prices (High Crisis)

{
  title: 'Global Food Prices',
  hashtag: '#FoodCrisis',
  sentiment: 'negative',
  crisisLevel: 'high',
  volatility: 91,
  emotions: [
    { emotion: 'anger', percentage: 48 },
    { emotion: 'fear', percentage: 22 }
  ],
  summary: 'Outrage at: corporate profiteering (52%), government inaction (33%), supply chain failures (12%)'
}
Why it’s a crisis:
  • 70% negative emotions (anger + fear + sadness)
  • Personal impact: “Can’t feed my family” posts up 200%
  • Viral evidence: Grocery receipt photos spreading
  • Keywords: “corporate greed”, “can’t afford”, “price controls”

Example 3: AI Regulation (Medium Crisis)

{
  title: 'AI Regulation Debate',
  sentiment: 'mixed',
  crisisLevel: 'medium',
  volatility: 72,
  emotions: [
    { emotion: 'fear', percentage: 35 },
    { emotion: 'anger', percentage: 28 },
    { emotion: 'surprise', percentage: 18 }
  ]
}
Why it’s medium:
  • 63% negative/anxious emotions (fear + anger)
  • Polarized debate (not universal outrage)
  • Main concerns: job displacement (48%), lack of oversight (31%)
  • Moderate volatility indicates ongoing debate, not crisis

Crisis & Alerts Log

The Crisis & Alerts Log displays real-time notifications for active crises:

Negative Spike Detected (🔴 Red)

Triggered when:
  • Sentiment drops below -20
  • Anger or fear exceeds 40%
  • Volume spikes 50%+ with negative tone
Example:
🔴 Negative spike detected
Anger dominant in public discourse
Just now

Sentiment Shift (🟡 Yellow)

Triggered when:
  • Sentiment changes 30+ points within 6 hours
  • Volume increases 100%+ (viral momentum)
Example:
🟡 Sentiment Shift
Sudden increase in conversation volume
30 min ago

Stable / Positive (🔵 Blue)

Default state when no crisis detected:
🔵 No critical alerts
Public conversation is moderate
2 hours ago

Scheduled Monitoring & Alerts

Set up automated crisis monitoring with the Schedule Analysis feature:
1

Open Schedule Modal

Click the “Schedule Analysis” button in the dashboard header or topic detail panel.
2

Configure Topic & Frequency

Select the topic to monitor and choose a frequency:
  • Every hour
  • Every 6 hours
  • Daily
  • Weekly
  • Custom (cron expression)
3

Set Alert Thresholds

Define crisis triggers using interactive sliders:
// Source: ScheduleAnalysisModal.tsx
{
  sentimentDropsBelow: 30,     // Alert if sentiment < 30%
  volumeSpikesAbove: 150,      // Alert if volume > 150% of avg
  angerEmotionExceeds: 40,     // Alert if anger > 40%
  viralMomentumDetected: true  // Alert on viral trends
}
4

Choose Delivery Channels

Configure where alerts are sent:
  • Email: Multiple addresses (comma-separated)
  • Slack: Channel webhooks (#sentiment-alerts)
  • Webhook: Custom API endpoints
5

Select Report Types

Choose what to include in alerts:
  • Executive Summary
  • Full Analysis
  • Crisis Alerts Only (recommended for high-frequency monitoring)
  • Trend Comparison

Alert Threshold Configuration

The Schedule Analysis modal provides granular control over alert conditions:

Sentiment Drop Threshold

<Slider 
  defaultValue={[30]} 
  max={100} 
  step={1} 
/>
Use case: Alert when positive sentiment falls below 30% (indicating majority negative/neutral sentiment).

Volume Spike Detection

<Slider 
  defaultValue={[150]} 
  max={500} 
  step={10} 
/>
Use case: Alert when volume exceeds 150% of the hourly average (viral trend detection).

Emotion-Specific Triggers

<Slider 
  label="Anger emotion exceeds" 
  defaultValue={[40]} 
  max={100} 
  step={1} 
/>
Use case: Trigger crisis alert when anger surpasses 40% (indicates public outrage).
You can combine multiple thresholds. For example: Alert only if both anger > 40% and volume spikes > 150%.

Volatility Score

Volatility measures sentiment stability over time (0-100 scale):
// Source: mockData.ts
{
  volatility: 91,  // Extremely volatile
  crisisLevel: 'high'
}

Interpreting Volatility

  • 0-40: Stable sentiment, predictable trends
  • 41-70: Moderate fluctuations, evolving narrative
  • 71-100: Highly volatile, rapid sentiment shifts
Crisis correlation: Topics with volatility > 70 have a 3x higher chance of becoming crises.
The volatility chart displays 20 mini-bars showing recent fluctuations. Height = sentiment change magnitude.

Crisis Response Workflow

When a crisis is detected:
1

Verify the Alert

Check the Crisis & Alerts Log for the trigger:
  • What emotion spiked? (anger, fear, disgust)
  • What’s the volume change?
  • What are people saying? (read Top Voices / Pointers)
2

Analyze Root Cause

Use the AI Insights panel to generate a strategic analysis:
  • Click “Generate Report” to get LLM-powered recommendations
  • Review “Key Concerns Identified” and “Risk Factors to Monitor”
3

Monitor Top Phrases

Review the Top Voices panel for specific complaints:
  • Negative pointers show recurring criticisms
  • Positive pointers reveal what’s working
Example: “‘Poor handling of the situation’ (84 mentions)”
4

Track Live Feed

Read raw posts in the Recent Activity panel to understand tone and context.
5

Take Action

Based on AI Insights recommendations:
  • Engage proactively on social media
  • Issue official statements
  • Address specific concerns (pricing, policy, transparency)
  • Monitor sentiment shift after response

Integration with Other Features

Crisis → AI Insights

When a crisis is detected, the AI Insights panel automatically includes crisis-specific guidance:
## Recommended Actions
1. **Monitor and document** — track the anger signals in real-time
2. **Engage proactively** — address leading concerns with transparent communication
3. **Establish rapid response protocols** — Immediate crisis communication is recommended.

Crisis → Export Reports

Export crisis data for stakeholder briefings:
// CSV Export includes:
{
  title: 'Global Food Prices',
  sentiment: 'negative',
  crisisLevel: 'high',
  volatility: 91,
  summary: 'Outrage at corporate profiteering...'
}

Best Practices

Set Conservative Thresholds

Start with sensitive thresholds (e.g., sentiment < 40%, anger > 30%) to catch early warnings. You can relax them if you get too many false positives.

Monitor High-Stakes Topics Daily

For brand launches, policy announcements, or PR-sensitive topics, set hourly monitoring with Crisis Alerts Only enabled.

Cross-Check Emotion + Volume

A 50% anger spike with low volume (< 1K mentions) may not warrant crisis response. Always consider scale.

Use Webhooks for Automation

Integrate with PagerDuty, Opsgenie, or custom incident management systems for 24/7 crisis coverage.

Limitations

Keyword-based detection: The current system uses keyword matching, which can miss sarcasm, context, or subtle negativity. For higher accuracy, consider integrating transformer-based models (BERT, RoBERTa) for emotion classification.No historical baseline: Crisis levels are absolute, not relative to the topic’s normal sentiment. A consistently negative topic (e.g., “Tax Increases”) may always show “medium” crisis even when stable.Platform bias: X/Twitter tends to amplify outrage more than YouTube. Cross-reference multiple platforms before declaring a crisis.

Build docs developers (and LLMs) love