Qué es una Crisis en Redes Sociales
Una crisis en redes sociales es cualquier situación que amenaza la reputación de tu marca y genera conversación negativa a escala, requiriendo respuesta inmediata y coordinada.
Anatomía de una Crisis Digital
Fase 1: Chispa Inicial (0-2 horas)
├─ Post/comentario negativo de usuario
├─ Alcance limitado (< 1,000 personas)
└─ Ventana de contención
Fase 2: Amplificación (2-8 horas)
├─ Shares/retweets aumentan exponencialmente
├─ Influencers/medios recogen historia
├─ Trending topics/hashtags negativos
└─ Alcance: 10,000-100,000 personas
Fase 3: Crisis Total (8-24 horas)
├─ Cobertura mediática mainstream
├─ Impacto en ventas/acciones
├─ Presión de stakeholders
└─ Alcance: 100,000+ personas
Fase 4: Resolución y Recuperación (días-semanas)
├─ Acciones correctivas públicas
├─ Reconstrucción de confianza
└─ Monitoreo post-crisis
Estadística crítica: El 60% de las crisis se pueden contener en Fase 1-2 con respuesta rápida y adecuada. En Fase 3, el daño reputacional promedia 6-12 meses de recuperación.
Tipos de Crisis en Redes Sociales
1. Crisis de Producto/Servicio
Ejemplos:
- Falla masiva de producto
- Recall de seguridad
- Servicio caído prolongadamente
- Bug crítico en software
Severidad: Alta
Velocidad de escalación: Media-Rápida
2. Crisis de Atención al Cliente
Ejemplos:
- Video viral de mal servicio
- Interacción inapropiada de empleado
- Respuesta insensible de marca
Severidad: Media-Alta
Velocidad de escalación: Muy Rápida
3. Crisis de Valores/Ética
Ejemplos:
- Comentario discriminatorio de ejecutivo
- Práctica laboral cuestionable revelada
- Inconsistencia con valores declarados
- Apropiación cultural
Severidad: Muy Alta
Velocidad de escalación: Explosiva
4. Crisis de Seguridad/Privacidad
Ejemplos:
- Data breach
- Filtración de información de usuarios
- Hackeo de cuentas
Severidad: Crítica
Velocidad de escalación: Inmediata
5. Crisis de Terceros
Ejemplos:
- Escándalo de CEO/ejecutivo
- Problema con proveedor
- Socio comercial en controversia
Severidad: Variable
Velocidad de escalación: Media
Sistema de Detección Temprana
Indicadores de Alerta
Señales Cuantitativas:
class CrisisDetector:
def __init__(self):
self.baseline_metrics = self.calcular_baseline()
self.umbrales_alerta = {
'mencion_spike': 3.0, # 3x volumen normal
'sentimiento_negativo': 0.30, # >30% negativo
'velocidad_mencion': 100, # >100 menciones/hora
'influencer_reach': 100000, # Alcance de influencer negativo
'trending_score': 0.7 # Probabilidad de trending
}
def detectar_anomalias(self, metricas_actuales):
"""
Detecta desviaciones significativas del baseline
"""
alertas = []
# 1. Spike de volumen
ratio_volumen = metricas_actuales['menciones'] / self.baseline_metrics['menciones_promedio']
if ratio_volumen >= self.umbrales_alerta['mencion_spike']:
alertas.append({
'tipo': 'volumen_anomalo',
'severidad': self.calcular_severidad_volumen(ratio_volumen),
'mensaje': f'Volumen {ratio_volumen:.1f}x superior al normal',
'valor': metricas_actuales['menciones']
})
# 2. Sentimiento negativo elevado
pct_negativo = metricas_actuales['sentimiento_negativo'] / metricas_actuales['menciones']
if pct_negativo >= self.umbrales_alerta['sentimiento_negativo']:
alertas.append({
'tipo': 'sentimiento_negativo_alto',
'severidad': 'alta' if pct_negativo > 0.5 else 'media',
'mensaje': f'{pct_negativo:.1%} de menciones son negativas',
'tendencia': self.calcular_tendencia_sentimiento()
})
# 3. Velocidad de menciones
velocidad = metricas_actuales['menciones_ultima_hora']
if velocidad >= self.umbrales_alerta['velocidad_mencion']:
alertas.append({
'tipo': 'velocidad_alta',
'severidad': 'critica' if velocidad > 500 else 'alta',
'mensaje': f'{velocidad} menciones en la última hora'
})
# 4. Influencer involvement
if metricas_actuales['max_influencer_reach'] >= self.umbrales_alerta['influencer_reach']:
alertas.append({
'tipo': 'influencer_negativo',
'severidad': 'alta',
'mensaje': f'Influencer con {metricas_actuales["max_influencer_reach"]} followers publicó negativo',
'influencer': metricas_actuales['top_influencer']
})
# 5. Trending risk
trending_score = self.calcular_trending_probability(metricas_actuales)
if trending_score >= self.umbrales_alerta['trending_score']:
alertas.append({
'tipo': 'riesgo_trending',
'severidad': 'critica',
'mensaje': f'{trending_score:.0%} probabilidad de trending topic',
'hashtags': metricas_actuales['hashtags_emergentes']
})
return alertas
def calcular_severidad_general(self, alertas):
"""
Determina nivel de crisis basado en alertas
"""
if not alertas:
return 'normal'
severidades = [a['severidad'] for a in alertas]
criticas = severidades.count('critica')
altas = severidades.count('alta')
if criticas >= 2 or (criticas >= 1 and altas >= 2):
return 'CRISIS_TOTAL'
elif criticas >= 1 or altas >= 3:
return 'CRISIS_EMERGENTE'
elif altas >= 1:
return 'ALERTA_TEMPRANA'
else:
return 'MONITORIZACION_ACTIVA'
# Implementación de monitoreo continuo
import time
from datetime import datetime
detector = CrisisDetector()
def monitoreo_continuo():
while True:
# Obtener métricas actuales
metricas = obtener_metricas_tiempo_real()
# Detectar anomalías
alertas = detector.detectar_anomalias(metricas)
if alertas:
nivel_crisis = detector.calcular_severidad_general(alertas)
# Log y notificación
log_alerta(nivel_crisis, alertas)
if nivel_crisis in ['CRISIS_TOTAL', 'CRISIS_EMERGENTE']:
# Notificación inmediata a equipo de crisis
enviar_notificacion_urgente(alertas)
activar_protocolo_crisis(nivel_crisis)
elif nivel_crisis == 'ALERTA_TEMPRANA':
# Notificar a social media manager
enviar_notificacion_alerta(alertas)
time.sleep(300) # Check cada 5 minutos
# Ejecutar
monitoreo_continuo()
Señales Cualitativas:
def analizar_contenido_alerta(menciones):
"""
Análisis cualitativo de menciones sospechosas
"""
palabras_crisis = [
'boicot', 'boycott', 'cancelar', 'cancel',
'inaceptable', 'vergüenza', 'disgusto',
'demanda', 'lawsuit', 'legal',
'racista', 'sexista', 'discriminación'
]
emojis_negativos = ['😡', '🤬', '😤', '💩', '🤮']
puntuacion_riesgo = 0
for mencion in menciones:
texto = mencion['texto'].lower()
# Palabras de alto riesgo
palabras_encontradas = [p for p in palabras_crisis if p in texto]
puntuacion_riesgo += len(palabras_encontradas) * 10
# Emojis negativos
emojis_encontrados = [e for e in emojis_negativos if e in mencion['texto']]
puntuacion_riesgo += len(emojis_encontrados) * 5
# Mayúsculas sostenidas (grito)
if len([c for c in texto if c.isupper()]) / len(texto) > 0.5:
puntuacion_riesgo += 5
# Múltiples signos de exclamación
puntuacion_riesgo += texto.count('!') * 2
return {
'puntuacion_riesgo': puntuacion_riesgo,
'nivel': 'alto' if puntuacion_riesgo > 50 else 'medio' if puntuacion_riesgo > 20 else 'bajo'
}
Protocolo de Respuesta a Crisis
Framework PADRE
Pausar Analizar Decidir Responder Evaluar
1. PAUSAR (0-15 minutos)
CHECKLIST INMEDIATO:
□ Detener publicaciones programadas en todas las plataformas
□ Notificar a equipo ejecutivo
□ Activar war room virtual/física
□ Recopilar información inicial
□ NO responder impulsivamente
⚠️ ERROR COMÚN: Responder sin información completa empeora 80% de las crisis
Script de comunicación interna:
Asunto: [CRISIS NIVEL X] - Activación de protocolo
Equipo,
Se ha detectado una situación de crisis nivel [X]:
Resumen inicial: [1-2 líneas]
Alcance actual: [X menciones, Y impresiones]
Plataformas afectadas: [Lista]
ACCIONES INMEDIATAS:
1. Pausar todo contenido programado
2. Reunión de crisis en [ubicación/link] en 15 minutos
3. NO responder públicamente hasta coordinar
Líder de crisis: [Nombre]
2. ANALIZAR (15-60 minutos)
Matriz de Evaluación de Crisis:
class CrisisEvaluator:
def evaluar_crisis(self, situacion):
"""
Evalúa severidad y tipo de respuesta necesaria
"""
# Factores de severidad (1-10)
factores = {
'alcance_actual': self.evaluar_alcance(situacion['menciones']),
'velocidad_propagacion': self.evaluar_velocidad(situacion['velocidad']),
'sentimiento_negativo': situacion['pct_negativo'] * 10,
'involvement_medios': 10 if situacion['mencion_medios'] else 0,
'involvement_influencers': self.evaluar_influencers(situacion['influencers']),
'gravedad_asunto': self.evaluar_gravedad(situacion['tipo']),
'validez_queja': self.evaluar_validez(situacion['descripcion'])
}
score_total = sum(factores.values()) / len(factores)
# Determinar nivel
if score_total >= 8:
nivel = 'NIVEL_5_CATASTROFICO'
tiempo_respuesta = '30 minutos'
elif score_total >= 6:
nivel = 'NIVEL_4_SEVERO'
tiempo_respuesta = '1 hora'
elif score_total >= 4:
nivel = 'NIVEL_3_MODERADO'
tiempo_respuesta = '2-4 horas'
elif score_total >= 2:
nivel = 'NIVEL_2_LEVE'
tiempo_respuesta = '4-8 horas'
else:
nivel = 'NIVEL_1_MINIMO'
tiempo_respuesta = '24 horas'
return {
'nivel': nivel,
'score': score_total,
'factores': factores,
'tiempo_respuesta_objetivo': tiempo_respuesta,
'stakeholders_notificar': self.determinar_stakeholders(nivel),
'aprobaciones_requeridas': self.determinar_aprobaciones(nivel)
}
def evaluar_gravedad(self, tipo_crisis):
"""
Tipos de crisis por gravedad
"""
gravedad_map = {
'seguridad_fisica': 10, # Peligro para personas
'data_breach': 9,
'discriminacion': 9,
'legal': 8,
'producto_defectuoso': 7,
'servicio_malo': 5,
'error_comunicacion': 4,
'malentendido': 3
}
return gravedad_map.get(tipo_crisis, 5)
Template de Análisis de Crisis:
## ANÁLISIS DE CRISIS - [FECHA/HORA]
### 1. RESUMEN EJECUTIVO
- **Origen**: [Dónde/cómo comenzó]
- **Causa raíz**: [Qué realmente pasó]
- **Alcance actual**: [Números]
- **Nivel de crisis**: [1-5]
### 2. MÉTRICAS
- Menciones totales: X
- Sentimiento: X% negativo
- Alcance estimado: X personas
- Velocidad: X menciones/hora
- Trending: Sí/No
- Medios involucrados: Lista
### 3. ANÁLISIS DE CONTENIDO
- **Queja principal**: [Texto]
- **Validez**: [Válida/Parcialmente/Infundada]
- **Tono dominante**: [Enojo/Decepción/Preocupación]
- **Demandas del público**: [Lista]
### 4. PARTES INVOLUCRADAS
- **Originador**: [@usuario, followers, influencia]
- **Amplificadores clave**: [Lista]
- **Voces a favor**: [Si existen]
### 5. CONTEXTO ADICIONAL
- **Antecedentes relevantes**:
- **Situaciones similares pasadas**:
- **Factor agravante/mitigante**:
### 6. RIESGOS
- **Corto plazo** (24-72h):
- **Mediano plazo** (semanas):
- **Largo plazo** (meses):
### 7. RECOMENDACIÓN
- **Tipo de respuesta**: [Disculpa/Explicación/Acción/Silencio estratégico]
- **Timing**: [Inmediato/X horas]
- **Portavoz**: [Rol]
- **Canales**: [Lista]
3. DECIDIR (60-90 minutos)
Matriz de Decisión de Respuesta:
| Situación | Acción Recomendada | Portavoz | Canal |
|---|---|---|---|
| Crisis válida, culpa nuestra | Disculpa sincera + Acción correctiva | CEO/alta dirección | Comunicado oficial + video |
| Malentendido, podemos explicar | Aclaración + Contexto | Responsable área afectada | Thread de Twitter + blog post |
| Queja válida, trabajando en ello | Reconocimiento + Timeline de solución | Social Media Manager | Respuesta directa + status page |
| Ataque infundado/trolls | Silencio estratégico o fact-check tranquilo | Community Manager | Solo si escala |
| Crisis de terceros | Distanciamiento + Valores | Vocero oficial | Statement formal |
Ejemplos de Respuestas Efectivas:
### RESPUESTA TIPO 1: Disculpa Completa
"Nos equivocamos. [Descripción específica de qué salió mal].
Esto va en contra de nuestros valores de [valor] y entendemos completamente
la decepción y frustración que esto causó.
Acciones que estamos tomando YA:
1. [Acción inmediata específica]
2. [Acción de mediano plazo]
3. [Cambio estructural para prevenir]
Cronograma: [Fechas concretas]
Para los afectados: [Compensación/remedio específico]
Seguiremos actualizando en [canal] cada [frecuencia].
Asumimos total responsabilidad. Lo sentimos.
[Nombre + cargo]"
✅ Específica
✅ Asume responsabilidad
✅ Acciones concretas
✅ Timeline
✅ Humana
### RESPUESTA TIPO 2: Aclaración
"Vemos la preocupación sobre [tema] y queremos aclarar:
Lo que realmente ocurrió:
[Explicación clara y factual]
Por qué parece diferente:
[Contexto sin sonar defensivo]
Lo que estamos haciendo:
[Acciones si son necesarias]
Agradecemos el feedback y la oportunidad de aclarar.
Estamos abiertos a seguir conversando.
[Nombre + cargo]"
✅ No defensiva
✅ Factual
✅ Abierta al diálogo
4. RESPONDER
Checklist pre-publicación:
Antes de publicar CUALQUIER respuesta:
□ ¿Es completamente honesta y factual?
□ ¿Suena humana, no corporativa?
□ ¿Evita lenguaje legal/robótico?
□ ¿Incluye acciones concretas?
□ ¿Ha sido aprobada por [nivel requerido]?
□ ¿Legal ha revisado (si necesario)?
□ ¿Tenemos respaldo para las promesas?
□ ¿Anticipamos preguntas de seguimiento?
□ ¿Está lista versión para prensa?
□ ¿Equipo de CS tiene talking points?
Canales de Respuesta:
def determinar_canales_respuesta(nivel_crisis, audiencia_afectada):
"""
Selecciona canales apropiados para respuesta
"""
estrategia = {
'canales_principales': [],
'canales_secundarios': [],
'canales_internos': []
}
# Siempre usar donde comenzó la crisis
estrategia['canales_principales'].append(crisis['plataforma_origen'])
if nivel_crisis >= 4: # Severo o catastrófico
estrategia['canales_principales'].extend([
'comunicado_prensa',
'landing_page_dedicada',
'email_a_clientes',
'video_ceo'
])
estrategia['canales_secundarios'].extend([
'todas_redes_sociales',
'blog_corporativo',
'llamadas_a_stakeholders_clave'
])
estrategia['canales_internos'].extend([
'email_a_todos_empleados',
'town_hall_emergencia'
])
elif nivel_crisis >= 3: # Moderado
estrategia['canales_principales'].extend([
'twitter',
'facebook',
'instagram'
])
estrategia['canales_secundarios'].extend([
'blog_post',
'email_a_afectados'
])
else: # Leve
estrategia['canales_principales'].extend([
'respuesta_directa',
'twitter/plataforma_relevante'
])
return estrategia
5. EVALUAR (Durante y post-crisis)
Dashboard de Monitoreo en Crisis:
class CrisisDashboard:
def generar_metricas_tiempo_real(self):
"""
Métricas críticas durante crisis activa
"""
return {
# Volumen y alcance
'menciones_ultima_hora': self.get_mentions_last_hour(),
'menciones_total_crisis': self.get_total_mentions(),
'alcance_estimado': self.calculate_reach(),
'trending_status': self.check_trending(),
# Sentimiento
'distribucion_sentimiento': self.get_sentiment_distribution(),
'cambio_sentimiento': self.get_sentiment_trend(), # Mejorando/Empeorando
# Engagement
'respuesta_oficial_engagement': {
'views': self.get_response_views(),
'shares': self.get_response_shares(),
'comentarios': self.get_response_comments(),
'sentiment_comentarios': self.analyze_response_comments()
},
# Contencion
'nuevas_quejas_similares': self.count_new_similar_complaints(),
'expansion_a_otros_temas': self.detect_topic_expansion(),
# Medios
'articulos_medios': self.count_media_articles(),
'tono_cobertura': self.analyze_media_tone(),
# Impacto negocio
'impacto_ventas': self.estimate_sales_impact(),
'cancelaciones': self.count_cancellations(),
'visitas_web': self.get_web_traffic_change()
}
def determinar_efectividad_respuesta(self, metricas_pre, metricas_post):
"""
Evalúa si la respuesta está funcionando
"""
mejoras = {}
# Volumen disminuyendo
if metricas_post['menciones_ultima_hora'] < metricas_pre['menciones_ultima_hora']:
mejoras['volumen'] = 'MEJORANDO'
else:
mejoras['volumen'] = 'EMPEORANDO'
# Sentimiento mejorando
delta_sentiment = (
metricas_post['distribucion_sentimiento']['positivo'] -
metricas_pre['distribucion_sentimiento']['positivo']
)
if delta_sentiment > 5: # +5% positivo
mejoras['sentimiento'] = 'MEJORANDO_SIGNIFICATIVO'
elif delta_sentiment > 0:
mejoras['sentimiento'] = 'MEJORANDO_LEVE'
else:
mejoras['sentimiento'] = 'ESTABLE_O_EMPEORANDO'
# Engagement con respuesta
if metricas_post['respuesta_oficial_engagement']['sentiment_comentarios'] > 0.6:
mejoras['recepcion_respuesta'] = 'POSITIVA'
elif metricas_post['respuesta_oficial_engagement']['sentiment_comentarios'] > 0.4:
mejoras['recepcion_respuesta'] = 'MIXTA'
else:
mejoras['recepcion_respuesta'] = 'NEGATIVA'
# Recomendación
if all(m in ['MEJORANDO', 'MEJORANDO_SIGNIFICATIVO', 'POSITIVA', 'MIXTA']
for m in mejoras.values()):
recomendacion = 'MANTENER_ESTRATEGIA'
elif mejoras['sentimiento'] == 'ESTABLE_O_EMPEORANDO' and mejoras['volumen'] == 'EMPEORANDO':
recomendacion = 'AJUSTAR_ESTRATEGIA_URGENTE'
else:
recomendacion = 'MONITOREAR_CERCANO'
return {
'mejoras': mejoras,
'recomendacion': recomendacion,
'requiere_accion_adicional': recomendacion == 'AJUSTAR_ESTRATEGIA_URGENTE'
}
Casos de Estudio Reales
Caso 1: United Airlines - "Passenger Dragging" (2017)
Situación: Pasajero arrastrado fuera del avión violentamente
Timeline:
Domingo 9pm: Video viral
Lunes 8am: CEO envía email interno defendiendo empleados
Lunes 11am: Email se filtra → explosión de indignación
Lunes 2pm: CEO publica disculpa tibia en Twitter
Martes: Disculpa completa y compromiso de cambios
Daño: -$1.4 billones en valor de mercado
Recuperación: 9 meses
Errores cometidos:
- Respuesta inicial defensiva
- Mensaje interno inconsistente con público
- Disculpa tardía y gradual (no inmediata y completa)
Lecciones:
- Nunca defiendas lo indefendible
- Consistencia interna/externa
- Disculpa completa desde el inicio
Caso 2: KFC UK - "Chicken Shortage" (2018)
Situación: Cambio de proveedor logístico resulta en 900 restaurantes sin pollo
Respuesta (EXCELENTE):
Tweet con imagen:
[Logo KFC con letras reordenadas: "FCK"]
"We're sorry. A chicken restaurant without any chicken.
It's not ideal."
Tono: Humor autocrítico
Timing: 48 horas después
Mensaje: Disculpa genuina + humor británico
Resultado:
- 1M+ likes
- Converted crisis into brand love moment
- Pérdidas financieras pero ganancia reputacional
Lecciones:
- Conocer tu audiencia (humor apropiado)
- Autenticidad > perfección corporativa
- Timing correcto para tono ligero
Caso 3: Domino's Pizza - "Disgusting Video" (2009)
Situación: Empleados publican video contaminando comida
Respuesta:
Día 1: CEO publica video en YouTube
- Disculpa personal y directa
- Explica que empleados fueron despedidos y enfrentan cargos
- Detalla pasos de limpieza e inspección
- Agradece a comunidad online por alertar
Adicional:
- Crearon cuenta de Twitter para monitorear
- Respondieron a cada mención
- Timeline de acciones publicado diariamente
Resultado:
- Controlaron narrativa en 72 horas
- Transformaron de crisis a caso de estudio de buena gestión
Lecciones:
- Video humaniza la respuesta
- Acción rápida y visible
- Transparencia completa
Herramientas y Tecnología
Stack de Crisis Management
Monitoreo y Alertas:
Brandwatch / Talkwalker
├─ Alertas en tiempo real
├─ Análisis de sentimiento
└─ Crisis prediction
Sprinklr / Hootsuite
├─ Monitoreo multi-canal
├─ Workflow de aprobaciones
└─ Reportes automatizados
Custom Solution:
├─ APIs de redes sociales
├─ Sentiment analysis
├─ Alert system (PagerDuty)
└─ Dashboard (Grafana/Tableau)
Coordinación de Equipo:
Slack / Microsoft Teams
├─ Canal dedicado #crisis-response
├─ Integraciones con monitoring
└─ War room virtual
Asana / Monday.com
├─ Crisis playbook digitalizado
├─ Task tracking
└─ Aprobación workflows
Google Workspace
├─ Documentos colaborativos
├─ Respuestas draft
└─ Post-mortem análisis
Comunicación Externa:
Landing page builder (preparado)
├─ Template de crisis pre-diseñado
├─ Deploy en <10 minutos
└─ SEO optimizado
Email marketing platform
├─ Listas segmentadas
├─ Templates de crisis
└─ Envío rápido a stakeholders
Social media management
├─ Aprobación multi-nivel
├─ Publicación coordinada
└─ Response tracking
Playbook de Crisis (Template)
# PLAYBOOK DE CRISIS - [EMPRESA]
## EQUIPO DE CRISIS
### Roles y Responsabilidades
**Crisis Lead** - [Nombre]
- Decisión final en respuestas
- Coordinación general
- Contacto: [teléfono 24/7]
**Social Media Manager** - [Nombre]
- Monitoreo continuo
- Respuestas aprobadas
- Contacto: [teléfono 24/7]
**PR/Comunicaciones** - [Nombre]
- Comunicados de prensa
- Relación con medios
- Contacto: [teléfono 24/7]
**Legal** - [Nombre]
- Revisión de statements
- Asesoría legal
- Contacto: [teléfono]
**CEO/Executive Sponsor** - [Nombre]
- Decisiones de alto nivel
- Portavoz si necesario
- Contacto: [teléfono]
## NIVELES DE CRISIS
### Nivel 1 - Verde
- Detección temprana
- <1000 menciones
- Sentimiento mixto
- **Acción**: Monitoreo activo, respuesta si necesario
### Nivel 2 - Amarillo
- 1000-5000 menciones
- >30% sentimiento negativo
- **Acción**: Activar equipo reducido, preparar respuesta
### Nivel 3 - Naranja
- 5000-20000 menciones
- Trending local/nacional
- **Acción**: War room, respuesta coordinada, notificar ejecutivos
### Nivel 4 - Rojo
- >20000 menciones
- Cobertura medios mainstream
- **Acción**: Protocolo completo, CEO involved, comunicado oficial
### Nivel 5 - Negro
- Trending #1
- Impacto en acciones/ventas
- Legal issues
- **Acción**: Crisis total, todos los recursos, external PR si necesario
## TEMPLATES DE RESPUESTA
[Incluir 10-15 templates para diferentes escenarios]
## CONTACTOS DE EMERGENCIA
[Lista con contactos 24/7 de todos los stakeholders]
## POST-MORTEM TEMPLATE
[Template para análisis post-crisis]
Prevención de Crisis
Auditoría de Riesgos
class RiskAuditor:
def auditar_riesgos(self, empresa):
"""
Identifica vectores de riesgo potenciales
"""
riesgos = []
# 1. Riesgos de producto/servicio
if empresa['tiene_producto_fisico']:
riesgos.append({
'categoria': 'producto',
'riesgo': 'Defecto de fabricación / Recall',
'probabilidad': 'media',
'impacto': 'alto',
'mitigacion': 'QA robusto, seguro de producto'
})
# 2. Riesgos de recursos humanos
riesgos.append({
'categoria': 'rrhh',
'riesgo': 'Empleado publica contenido inapropiado',
'probabilidad': 'media',
'impacto': 'alto',
'mitigacion': 'Social media policy, training'
})
# 3. Riesgos de seguridad
if empresa['maneja_datos_usuarios']:
riesgos.append({
'categoria': 'seguridad',
'riesgo': 'Data breach',
'probabilidad': 'baja',
'impacto': 'critico',
'mitigacion': 'Pen testing, monitoring, insurance'
})
# 4. Riesgos de terceros
for proveedor in empresa['proveedores_criticos']:
riesgos.append({
'categoria': 'terceros',
'riesgo': f'Crisis de reputación de {proveedor}',
'probabilidad': 'baja',
'impacto': 'medio',
'mitigacion': 'Due diligence, escape clauses'
})
# 5. Riesgos de comunicación
riesgos.append({
'categoria': 'comunicacion',
'riesgo': 'Tono insensible en campaña',
'probabilidad': 'media',
'impacto': 'medio-alto',
'mitigacion': 'Revisión multicultural, approval process'
})
return riesgos
Mejores Prácticas de Prevención
- Social Media Policy clara para empleados
- Training regular de crisis management
- Simulacros de crisis (2-4 veces al año)
- Monitoreo continuo, no solo reactivo
- Relaciones proactivas con medios
- Cultura de transparencia interna
- Legal compliance robusto
Próximos Pasos
Esta Semana
- Crea tu equipo de crisis (nombres + contactos)
- Identifica tus top 5 riesgos potenciales
- Configura alertas para monitoreo 24/7
- Draft 3 templates de respuesta para escenarios comunes
Próximos 30 Días
- Desarrolla playbook completo de crisis
- Realiza primer simulacro con equipo
- Establece procesos de aprobación
- Crea landing page template de crisis
Recursos Adicionales
- Libro: "The Four Stages of Highly Effective Crisis Management" - Jane Jordan-Meier
- Case studies: Harvard Business Review crisis management cases
- Curso: Crisis Communications en Coursera
Continúa Aprendiendo
- Complementa con: "Fundamentos de Social Listening" para monitoreo proactivo
- Profundiza en: "Análisis de Sentimiento en Redes Sociales" para detección temprana
Reflexión final: La mejor crisis es la que nunca ocurre. Invierte en prevención, monitoreo y preparación. Pero cuando llegue - y llegará - recuerda: velocidad + honestidad + acción = recuperación posible.