feat: Add Render.com deployment support with production data

Render Configuration:
- render.yaml for declarative deployment
- requirements-dashboard.txt (lightweight deps for cloud)
- Updated .streamlit/config.toml for production
- Updated app.py to auto-detect production vs local data

Production Data:
- Added data/production/test-07/ with 30 real call analyses
- Updated .gitignore to allow data/production/

Documentation:
- Added Render.com section to DEPLOYMENT.md with step-by-step guide

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
sujucu70
2026-01-19 16:45:57 +01:00
parent 75e7b9da3d
commit 7ddb8a2ee5
129 changed files with 22527 additions and 2 deletions

View File

@@ -0,0 +1,195 @@
{
"call_id": "10122025_0082038C3CFBF392",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF392",
"events": [],
"turn_metrics": {
"total_turns": 1,
"agent_turns": 1,
"customer_turns": 0,
"agent_talk_ratio": 0.9249333333333334,
"customer_talk_ratio": 0.0,
"silence_ratio": 0.0,
"interruption_count": 0,
"avg_turn_duration_sec": 208.11,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 225.0,
"language": "es",
"speaker_count": 1,
"created_at": "2026-01-19T13:39:15.555279"
},
"outcome": "INQUIRY_RESOLVED",
"lost_sales_drivers": [
{
"driver_code": "PRICE_TOO_HIGH",
"confidence": 0.85,
"evidence_spans": [
{
"text": "tengo un pago bastante alto en los kilovatios, he pagado 0.15 por kilovatio.",
"start_time": 90.0,
"end_time": 95.0,
"speaker": "customer"
}
],
"reasoning": "El cliente menciona que su tarifa es alta, lo que puede llevarlo a considerar otras opciones.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una revisión de tarifas y posibles descuentos o alternativas más económicas.",
"replicable_practice": null
},
{
"driver_code": "CONTRACT_PERMANENCE",
"confidence": 0.8,
"evidence_spans": [
{
"text": "yo voy a rescindir el contrato justamente cuando llegue febrero del 26, pero me ponen la factura que la renovación es anual automática y yo no la quiero.",
"start_time": 20.0,
"end_time": 30.0,
"speaker": "customer"
}
],
"reasoning": "El cliente está preocupado por la renovación automática y las penalizaciones asociadas.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Clarificar las condiciones del contrato y ofrecer opciones que eviten la renovación automática.",
"replicable_practice": null
}
],
"poor_cx_drivers": [
{
"driver_code": "BILLING_NOT_CLARIFIED",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Claro, en esta ocasión, cuando el día que lo vayas a renovar te lo podemos dejar al 0,13.",
"start_time": 100.0,
"end_time": 105.0,
"speaker": "agent"
}
],
"reasoning": "El agente no explica claramente cómo se determina el precio y las condiciones de la tarifa.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar una explicación más detallada sobre cómo se calculan las tarifas y los beneficios de la renovación.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_BILL_COMPLAINT",
"confidence": 0.9,
"evidence_spans": [
{
"text": "tengo un pago bastante alto en los kilovatios, he pagado 0.15 por kilovatio.",
"start_time": 90.0,
"end_time": 95.0,
"speaker": "customer"
}
],
"reasoning": "El cliente se queja de una factura alta, lo que puede indicar insatisfacción con el servicio.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Realizar un seguimiento con el cliente para discutir su factura y ofrecer soluciones.",
"replicable_practice": null
},
{
"driver_code": "EXPLICIT_CANCELLATION_INTENT",
"confidence": 0.85,
"evidence_spans": [
{
"text": "yo voy a rescindir el contrato justamente cuando llegue febrero del 26.",
"start_time": 20.0,
"end_time": 30.0,
"speaker": "customer"
}
],
"reasoning": "El cliente expresa su intención de cancelar el contrato, lo que indica un alto riesgo de fuga.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Implementar estrategias de retención y ofrecer alternativas atractivas para mantener al cliente.",
"replicable_practice": null
}
],
"agent_classification": "MIXED",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Vale, pero mi cuestión es la siguiente.",
"start_time": 15.0,
"end_time": 18.0,
"speaker": "customer"
}
],
"description": "El agente mantiene una comunicación clara y permite al cliente expresar sus dudas.",
"coaching_recommendation": null,
"replicable_practice": "Fomentar un ambiente donde el cliente se sienta cómodo para hacer preguntas.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "NOT_LISTENING",
"skill_type": "improvement_needed",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Pero la permanencia no se renueva, tranquilo.",
"start_time": 50.0,
"end_time": 55.0,
"speaker": "agent"
}
],
"description": "El agente no parece escuchar completamente las preocupaciones del cliente sobre la permanencia.",
"coaching_recommendation": "Entrenar en habilidades de escucha activa para entender mejor las preocupaciones del cliente.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.7,
"evidence_spans": [
{
"text": "Sí, claro, tendrías penalización y te cobrarían.",
"start_time": 120.0,
"end_time": 125.0,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía al explicar las penalizaciones, lo que puede frustrar al cliente.",
"coaching_recommendation": "Incluir frases de empatía en la capacitación para mejorar la conexión con el cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:39:48.706445",
"pipeline_version": null
},
"created_at": "2026-01-19T13:39:48.706473"
}

View File

@@ -0,0 +1,177 @@
{
"call_id": "10122025_0082038C3CFBF3A6",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF3A6",
"events": [],
"turn_metrics": {
"total_turns": 31,
"agent_turns": 16,
"customer_turns": 15,
"agent_talk_ratio": 0.663910034602076,
"customer_talk_ratio": 0.22878892733564016,
"silence_ratio": 0.08301038062283736,
"interruption_count": 0,
"avg_turn_duration_sec": 8.322258064516127,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 289.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:39:15.820073"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "BILLING_NOT_CLARIFIED",
"confidence": 0.85,
"evidence_spans": [
{
"text": "apenas está ingresando el dinero de las facturas",
"start_time": 160.1,
"end_time": 164.0,
"speaker": "agent"
}
],
"reasoning": "El agente no explica claramente el estado del pago y su impacto en la activación del servicio.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar una explicación más clara sobre el proceso de facturación y tiempos de activación.",
"replicable_practice": null
},
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Ya en estos momentos le acabo de realizar la solicitud de reengancho",
"start_time": 192.6,
"end_time": 196.0,
"speaker": "agent"
}
],
"reasoning": "El cliente no tiene claro qué sucederá después de la solicitud de reenganche.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Asegurarse de que el cliente entienda los próximos pasos y el tiempo estimado de activación.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "OUTAGE_PENDING",
"confidence": 0.9,
"evidence_spans": [
{
"text": "el servicio se encuentra suspendido",
"start_time": 101.0,
"end_time": 104.0,
"speaker": "agent"
}
],
"reasoning": "El problema del cliente (corte de luz) no se resuelve en esta llamada.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Permitir que el agente gestione directamente la reactivación del servicio.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.82,
"evidence_spans": [
{
"text": "¿Usted no puede agilizar un poco el trámite?",
"start_time": 136.0,
"end_time": 139.0,
"speaker": "customer"
}
],
"reasoning": "El cliente muestra frustración por la lentitud del proceso.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una solución más rápida o compensación por la espera.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "La solicitud de reenganche tiene un tiempo estimado de activación de 1 a 24 horas.",
"start_time": 136.0,
"end_time": 140.0,
"speaker": "agent"
}
],
"description": "El agente comunica claramente el tiempo estimado para la activación del servicio.",
"coaching_recommendation": null,
"replicable_practice": "Mantener al cliente informado sobre los tiempos de espera y procesos.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "esto ya depende de la distribuidora",
"start_time": 142.4,
"end_time": 145.0,
"speaker": "agent"
}
],
"description": "El agente no toma responsabilidad en la resolución del problema del cliente.",
"coaching_recommendation": "Entrenar a los agentes en la gestión de problemas y en cómo ofrecer soluciones efectivas.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "no, no, señor, pues esto ya depende de la distribuidora.",
"start_time": 142.4,
"end_time": 145.0,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía ante la situación del cliente sin luz.",
"coaching_recommendation": "Instruir a los agentes en la importancia de mostrar empatía y comprensión hacia el cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:39:49.009049",
"pipeline_version": null
},
"created_at": "2026-01-19T13:39:49.009070"
}

View File

@@ -0,0 +1,171 @@
{
"call_id": "10122025_0082038C3CFBF3B7",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF3B7",
"events": [
{
"event_type": "HOLD_START",
"start_time": 0.88,
"end_time": null,
"duration_sec": null,
"metadata": {
"trigger_text": "Buenas noches, soy Ana. Veo que llamas para dar de baja un contrato. ¿Cómo puedo ayudarte? Hola, bue"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 1,
"agent_turns": 1,
"customer_turns": 0,
"agent_talk_ratio": 0.9801058201058201,
"customer_talk_ratio": 0.0,
"silence_ratio": 0.0,
"interruption_count": 0,
"avg_turn_duration_sec": 185.24,
"source": "observed"
},
"hold_count": 1,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 189.0,
"language": "es",
"speaker_count": 1,
"created_at": "2026-01-19T13:39:50.720680"
},
"outcome": "CANCELLATION_COMPLETED",
"lost_sales_drivers": [
{
"driver_code": "COMPETITOR_PREFERENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "porque es que estoy con otra compañía",
"start_time": 10.0,
"end_time": 12.0,
"speaker": "customer"
}
],
"reasoning": "El cliente menciona que está con otra compañía, lo que indica preferencia por la competencia.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una comparación de tarifas y beneficios para intentar retener al cliente.",
"replicable_practice": null
},
{
"driver_code": "NO_RETENTION_ATTEMPT",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No sé si hay algo más en lo que yo te pueda ayudar o asesorar el día de hoy.",
"start_time": 150.0,
"end_time": 155.0,
"speaker": "agent"
}
],
"reasoning": "El agente no intenta retener al cliente ni ofrece alternativas para mantenerlo.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Capacitar a los agentes en técnicas de retención y ofrecer alternativas al cliente.",
"replicable_practice": null
}
],
"poor_cx_drivers": [
{
"driver_code": "LONG_HOLD",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Permíteme un momento, por favor, y reviso.",
"start_time": 15.0,
"end_time": 17.0,
"speaker": "agent"
}
],
"reasoning": "El cliente estuvo en espera mientras el agente revisaba información, lo que puede generar frustración.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Reducir el tiempo de espera o proporcionar actualizaciones durante la espera.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "EXPLICIT_CANCELLATION_INTENT",
"confidence": 0.9,
"evidence_spans": [
{
"text": "sería para dar de baja un contrato.",
"start_time": 5.0,
"end_time": 7.0,
"speaker": "customer"
}
],
"reasoning": "El cliente expresa claramente su intención de cancelar el servicio.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Implementar un seguimiento post-cancelación para entender las razones y ofrecer soluciones.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Vale, en este caso, pues va a llegarte a tu correo electrónico la confirmación de la cancelación.",
"start_time": 130.0,
"end_time": 135.0,
"speaker": "agent"
}
],
"description": "El agente comunica claramente el proceso de cancelación.",
"coaching_recommendation": null,
"replicable_practice": "Asegurarse de que el cliente entienda los pasos a seguir y lo que recibirá.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "NO_RETENTION_EFFORT",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "No sé si hay algo más en lo que yo te pueda ayudar o asesorar el día de hoy.",
"start_time": 150.0,
"end_time": 155.0,
"speaker": "agent"
}
],
"description": "El agente no intenta retener al cliente ni ofrece alternativas.",
"coaching_recommendation": "Entrenar en técnicas de retención y cómo presentar ofertas atractivas.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:40:15.368484",
"pipeline_version": null
},
"created_at": "2026-01-19T13:40:15.368507"
}

View File

@@ -0,0 +1,49 @@
{
"call_id": "10122025_0082038C3CFBF3D2",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF3D2",
"events": [],
"turn_metrics": {
"total_turns": 0,
"agent_turns": 0,
"customer_turns": 0,
"agent_talk_ratio": 0.0,
"customer_talk_ratio": 0.0,
"silence_ratio": 1.0,
"interruption_count": 0,
"avg_turn_duration_sec": 0.0,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 13.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:39:51.024250"
},
"outcome": "UNKNOWN",
"lost_sales_drivers": [],
"poor_cx_drivers": [],
"fcr_status": "UNKNOWN",
"fcr_failure_drivers": [],
"churn_risk": "UNKNOWN",
"churn_risk_drivers": [],
"agent_classification": "UNKNOWN",
"agent_positive_skills": [],
"agent_improvement_areas": [],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:39:54.159179",
"pipeline_version": null
},
"created_at": "2026-01-19T13:39:54.159206"
}

View File

@@ -0,0 +1,158 @@
{
"call_id": "10122025_0082038C3CFBF3E5",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF3E5",
"events": [],
"turn_metrics": {
"total_turns": 16,
"agent_turns": 8,
"customer_turns": 8,
"agent_talk_ratio": 0.40787628865979386,
"customer_talk_ratio": 0.36681443298969074,
"silence_ratio": 0.17926804123711335,
"interruption_count": 0,
"avg_turn_duration_sec": 4.696562500000001,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 97.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:39:56.176539"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "WRONG_DEPARTMENT",
"confidence": 0.85,
"evidence_spans": [
{
"text": "En ese caso ya tienes que hablar con lo que sería la distribuidora.",
"start_time": 48.5,
"end_time": 52.0,
"speaker": "agent"
}
],
"reasoning": "El agente deriva al cliente a otro departamento sin resolver su consulta.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Implementar un sistema de transferencia directa al departamento correspondiente.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.8,
"evidence_spans": [
{
"text": "¿Que el contador de luz o de gas?",
"start_time": 43.8,
"end_time": 47.2,
"speaker": "agent"
}
],
"reasoning": "El agente no escucha adecuadamente la consulta del cliente sobre el contador.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en habilidades de escucha activa.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.9,
"evidence_spans": [
{
"text": "Por favor, mira el teléfono donde me tenga que dirigir, por favor.",
"start_time": 58.2,
"end_time": 63.4,
"speaker": "customer"
}
],
"reasoning": "El cliente no tiene claro a dónde debe dirigirse después de la llamada.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Proporcionar instrucciones claras y detalladas sobre los próximos pasos.",
"replicable_practice": null
}
],
"churn_risk": "UNKNOWN",
"churn_risk_drivers": [],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "El número sería 990. 878878. 119.",
"start_time": 63.4,
"end_time": 66.0,
"speaker": "agent"
}
],
"description": "El agente comunica claramente el número de teléfono de la distribuidora.",
"coaching_recommendation": null,
"replicable_practice": "Dictar información importante de forma clara y pausada.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Yo no manejo eso, tiene que llamar al 800-700-706.",
"start_time": 52.0,
"end_time": 56.5,
"speaker": "agent"
}
],
"description": "El agente no resuelve la consulta del cliente y lo deriva a otro número.",
"coaching_recommendation": "Capacitar en resolución de problemas y manejo de consultas.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Disculpe. Nosotros queríamos saber con quién tenemos que hablar.",
"start_time": 14.9,
"end_time": 18.0,
"speaker": "customer"
}
],
"description": "El agente no muestra empatía hacia la confusión del cliente.",
"coaching_recommendation": "Entrenar en habilidades de empatía y comprensión de la situación del cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:40:19.917981",
"pipeline_version": null
},
"created_at": "2026-01-19T13:40:19.918003"
}

View File

@@ -0,0 +1,176 @@
{
"call_id": "10122025_0082038C3CFBF3FE",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF3FE",
"events": [],
"turn_metrics": {
"total_turns": 27,
"agent_turns": 14,
"customer_turns": 13,
"agent_talk_ratio": 0.5551020408163264,
"customer_talk_ratio": 0.3143148688046647,
"silence_ratio": 0.11303206997084535,
"interruption_count": 0,
"avg_turn_duration_sec": 11.044814814814814,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 343.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:40:17.379865"
},
"outcome": "BILLING_INQUIRY_RESOLVED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "BILLING_NOT_CLARIFIED",
"confidence": 0.85,
"evidence_spans": [
{
"text": "La factura no presenta movimiento de pago, es decir, no se realizó pago alguno en ella.",
"start_time": 47.7,
"end_time": 51.0,
"speaker": "agent"
}
],
"reasoning": "El agente no explica claramente la situación de las facturas pendientes, lo que genera confusión.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar una explicación más detallada sobre el estado de las facturas y los pagos realizados.",
"replicable_practice": null
},
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.8,
"evidence_spans": [
{
"text": "¿Hasta qué día tengo para pagarlo? Porque no sea cosa que me corten la luz, no sé.",
"start_time": 208.4,
"end_time": 212.0,
"speaker": "customer"
}
],
"reasoning": "El cliente no tiene claro el plazo para el pago, lo que puede generar ansiedad.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Asegurarse de que el cliente entienda claramente los plazos y las consecuencias de no pagar a tiempo.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_BILL_COMPLAINT",
"confidence": 0.82,
"evidence_spans": [
{
"text": "me parece mentira que desde enero me ponga que hay una factura pendiente y no me hayan dicho nada antes",
"start_time": 17.9,
"end_time": 22.0,
"speaker": "customer"
}
],
"reasoning": "El cliente expresa frustración por la falta de comunicación sobre las facturas pendientes.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Implementar un sistema de notificación proactiva para informar a los clientes sobre facturas pendientes.",
"replicable_practice": null
},
{
"driver_code": "UNEXPECTED_CHARGES",
"confidence": 0.78,
"evidence_spans": [
{
"text": "Y yo estoy pagando cada mes las facturas de luz",
"start_time": 17.9,
"end_time": 20.0,
"speaker": "customer"
}
],
"reasoning": "El cliente se siente sorprendido por cargos inesperados, lo que puede llevar a la insatisfacción.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Revisar y aclarar la estructura de tarifas y cargos para evitar sorpresas a los clientes.",
"replicable_practice": null
}
],
"agent_classification": "MIXED",
"agent_positive_skills": [
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Permítame, por favor, si es tan amable, señora Dorotea, voy a consultarlo.",
"start_time": 47.7,
"end_time": 50.0,
"speaker": "agent"
}
],
"description": "El agente demuestra escucha activa al solicitar tiempo para consultar la información.",
"coaching_recommendation": null,
"replicable_practice": "Continuar utilizando frases que demuestren atención y disposición para ayudar.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "CONFUSING_EXPLANATION",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "El valor que te di es el saldo de la factura, pero el valor real de la factura era de 79 euros con 23 céntimos.",
"start_time": 113.1,
"end_time": 118.0,
"speaker": "agent"
}
],
"description": "El agente proporciona información confusa sobre los valores de las facturas.",
"coaching_recommendation": "Entrenar en la claridad y simplicidad al explicar detalles de facturación.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LOW_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.78,
"evidence_spans": [
{
"text": "La factura se le hace una compensación a la factura.",
"start_time": 113.1,
"end_time": 115.0,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía hacia la frustración del cliente por las facturas pendientes.",
"coaching_recommendation": "Incluir entrenamiento en habilidades de empatía y manejo de situaciones difíciles.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:40:44.365065",
"pipeline_version": null
},
"created_at": "2026-01-19T13:40:44.365089"
}

View File

@@ -0,0 +1,269 @@
{
"call_id": "10122025_0082038C3CFBF54F",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF54F",
"events": [
{
"event_type": "SILENCE",
"start_time": 71.5,
"end_time": 83.03,
"duration_sec": 11.530000000000001,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 363.04,
"end_time": 375.21,
"duration_sec": 12.169999999999959,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 375.69,
"end_time": 410.099,
"duration_sec": 34.40899999999999,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 411.94,
"end_time": 430.27,
"duration_sec": 18.329999999999984,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 558.43,
"end_time": 570.4,
"duration_sec": 11.970000000000027,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 49,
"agent_turns": 25,
"customer_turns": 24,
"agent_talk_ratio": 0.4529732888146913,
"customer_talk_ratio": 0.29434056761268773,
"silence_ratio": 0.23632554257095145,
"interruption_count": 0,
"avg_turn_duration_sec": 9.704369565217391,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 5,
"interruption_count": 0,
"audio_duration_sec": 599.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:40:21.933920"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "....",
"start_time": 375.7,
"end_time": 410.1,
"speaker": "agent"
}
],
"reasoning": "Se presentan silencios prolongados que generan frustración en el cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes para mantener la comunicación activa durante la llamada.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Pero entonces él te pudo contacto.",
"start_time": 113.3,
"end_time": 117.0,
"speaker": "agent"
}
],
"reasoning": "El agente no comprende la situación del cliente y hace preguntas irrelevantes.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Mejorar las habilidades de escucha activa del agente.",
"replicable_practice": null
},
{
"driver_code": "LOW_EMPATHY",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Vale, pero tranquilo, comprender las consultas.",
"start_time": 135.2,
"end_time": 139.2,
"speaker": "agent"
}
],
"reasoning": "El agente no muestra empatía ante la situación delicada del cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Capacitar a los agentes en habilidades de empatía y manejo de situaciones sensibles.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "MISSING_INFORMATION",
"confidence": 0.9,
"evidence_spans": [
{
"text": "No me registra que tengas ficha de cliente creada con tu DNI.",
"start_time": 183.8,
"end_time": 191.6,
"speaker": "agent"
}
],
"reasoning": "El agente no tiene acceso a la información necesaria para resolver la consulta.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Asegurar que los agentes tengan acceso a la base de datos completa de clientes.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.82,
"evidence_spans": [
{
"text": "Llevan un año y medio llamándome y me han solicitado que por favor me ponga en contacto con ustedes.",
"start_time": 206.7,
"end_time": 218.4,
"speaker": "customer"
}
],
"reasoning": "El cliente expresa frustración por la situación prolongada.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una solución inmediata y seguimiento proactivo.",
"replicable_practice": null
},
{
"driver_code": "UNEXPECTED_CHARGES",
"confidence": 0.78,
"evidence_spans": [
{
"text": "Están solicitándole a una persona durante más de un año mi DNI sin yo tener ningún servicio con ustedes.",
"start_time": 37.4,
"end_time": 51.3,
"speaker": "customer"
}
],
"reasoning": "El cliente se siente confundido y molesto por la solicitud de información que no debería tener.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Clarificar la situación y asegurar que no haya cargos indebidos.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.76,
"evidence_spans": [
{
"text": "Claro, Indícame tu DNI, por favor.",
"start_time": 156.9,
"end_time": 161.1,
"speaker": "agent"
}
],
"description": "El agente solicita información de manera clara.",
"coaching_recommendation": null,
"replicable_practice": "Mantener un lenguaje claro y directo al solicitar información.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "NOT_LISTENING",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Pero entonces él te pudo contacto.",
"start_time": 113.3,
"end_time": 117.0,
"speaker": "agent"
}
],
"description": "El agente no escucha adecuadamente la situación del cliente.",
"coaching_recommendation": "Entrenar en técnicas de escucha activa y reformulación de preguntas.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LOW_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Vale, pero tranquilo, comprender las consultas.",
"start_time": 135.2,
"end_time": 139.2,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía ante la situación del cliente.",
"coaching_recommendation": "Incluir formación en empatía y manejo de situaciones difíciles.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:40:52.018259",
"pipeline_version": null
},
"created_at": "2026-01-19T13:40:52.018288"
}

View File

@@ -0,0 +1,120 @@
{
"call_id": "10122025_0082038C3CFBF5B8",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF5B8",
"events": [],
"turn_metrics": {
"total_turns": 15,
"agent_turns": 8,
"customer_turns": 7,
"agent_talk_ratio": 0.638888888888889,
"customer_talk_ratio": 0.21159722222222221,
"silence_ratio": 0.11277777777777774,
"interruption_count": 0,
"avg_turn_duration_sec": 8.164666666666667,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 144.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:40:46.367954"
},
"outcome": "BILLING_INQUIRY_RESOLVED",
"lost_sales_drivers": [
{
"driver_code": "NO_INTEREST_IN_UPGRADE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "De momento aún no, pero lo tendré en cuenta.",
"start_time": 128.3,
"end_time": 130.8,
"speaker": "customer"
}
],
"reasoning": "El cliente no mostró interés en cambiar de tarifa o servicios adicionales.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer información más atractiva sobre los beneficios de los servicios adicionales.",
"replicable_practice": null
}
],
"poor_cx_drivers": [],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [],
"churn_risk": "NO_RISK",
"churn_risk_drivers": [],
"agent_classification": "GOOD_PERFORMER",
"agent_positive_skills": [
{
"skill_code": "EFFECTIVE_PROBLEM_RESOLUTION",
"skill_type": "positive",
"confidence": 0.9,
"evidence_spans": [
{
"text": "Me registra el sistema que al día de hoy, en este momento con las facturaciones, permíteme, porque se me registra que estás al día.",
"start_time": 83.2,
"end_time": 90.0,
"speaker": "agent"
}
],
"description": "El agente resolvió eficazmente la consulta sobre la factura.",
"coaching_recommendation": null,
"replicable_practice": "Confirmar el estado de las facturas de manera clara y concisa.",
"source": "inferred"
},
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Hola, muy buena noche, bienvenido. Hablas con Juan David.",
"start_time": 2.6,
"end_time": 9.6,
"speaker": "agent"
}
],
"description": "El agente se presenta de manera clara y amigable.",
"coaching_recommendation": null,
"replicable_practice": "Iniciar la llamada con un saludo cálido y presentación.",
"source": "inferred"
},
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.8,
"evidence_spans": [
{
"text": "¿A cuál correo te han indicado?",
"start_time": 47.8,
"end_time": 50.2,
"speaker": "agent"
}
],
"description": "El agente demuestra escucha activa al preguntar sobre el correo indicado.",
"coaching_recommendation": null,
"replicable_practice": "Hacer preguntas específicas para clarificar la situación del cliente.",
"source": "inferred"
}
],
"agent_improvement_areas": [],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:41:03.169323",
"pipeline_version": null
},
"created_at": "2026-01-19T13:41:03.169344"
}

View File

@@ -0,0 +1,140 @@
{
"call_id": "10122025_0082038C3CFBF65B",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF65B",
"events": [],
"turn_metrics": {
"total_turns": 1,
"agent_turns": 1,
"customer_turns": 0,
"agent_talk_ratio": 0.9598076923076925,
"customer_talk_ratio": 0.0,
"silence_ratio": 0.0,
"interruption_count": 0,
"avg_turn_duration_sec": 149.73000000000002,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 156.0,
"language": "es",
"speaker_count": 1,
"created_at": "2026-01-19T13:40:54.022168"
},
"outcome": "UNKNOWN",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.9,
"evidence_spans": [
{
"text": "¿Hola Hola Hola tendré que finalizar la llamada me oye?",
"start_time": 30.0,
"end_time": 34.0,
"speaker": "agent"
}
],
"reasoning": "La llamada presenta múltiples silencios prolongados, lo que genera frustración en el cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes para que mantengan la comunicación activa durante la llamada.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.85,
"evidence_spans": [
{
"text": "¿Hola Miriam me escuchas?",
"start_time": 5.8,
"end_time": 10.0,
"speaker": "agent"
}
],
"reasoning": "El agente no escucha adecuadamente, repitiendo la misma pregunta sin recibir respuesta.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Fomentar la escucha activa y la verificación de la conexión antes de continuar.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.88,
"evidence_spans": [
{
"text": "tendré que finalizar la llamada me oye?",
"start_time": 34.0,
"end_time": 36.0,
"speaker": "agent"
}
],
"reasoning": "El cliente no recibe claridad sobre los próximos pasos a seguir, lo que puede llevar a una nueva llamada.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar instrucciones claras sobre qué hacer si la llamada se corta.",
"replicable_practice": null
}
],
"churn_risk": "UNKNOWN",
"churn_risk_drivers": [],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [],
"agent_improvement_areas": [
{
"skill_code": "NOT_LISTENING",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "¿Hola Miriam me escuchas?",
"start_time": 5.8,
"end_time": 10.0,
"speaker": "agent"
}
],
"description": "El agente no escucha adecuadamente al cliente, repitiendo preguntas sin respuesta.",
"coaching_recommendation": "Entrenar en técnicas de escucha activa y en cómo manejar situaciones de falta de respuesta.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LONG_SILENCE",
"skill_type": "improvement_needed",
"confidence": 0.9,
"evidence_spans": [
{
"text": "¿Hola Hola Hola tendré que finalizar la llamada me oye?",
"start_time": 30.0,
"end_time": 34.0,
"speaker": "agent"
}
],
"description": "El agente permite largos silencios que afectan la experiencia del cliente.",
"coaching_recommendation": "Capacitar en mantener la comunicación activa y en cómo manejar la incertidumbre durante la llamada.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:41:11.721261",
"pipeline_version": null
},
"created_at": "2026-01-19T13:41:11.721285"
}

View File

@@ -0,0 +1,334 @@
{
"call_id": "10122025_0082038C3CFBF6C6",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF6C6",
"events": [
{
"event_type": "HOLD_START",
"start_time": 85.23,
"end_time": null,
"duration_sec": null,
"metadata": {
"trigger_text": "Vamos a ver qué es lo que está pasando, José Miguel. Entonces la factura correcta es la de 55 con 65"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 117.29,
"end_time": 124.81,
"duration_sec": 7.519999999999996,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 282.88,
"end_time": 314.0,
"duration_sec": 31.120000000000005,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 444.64,
"end_time": 458.64,
"duration_sec": 14.0,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 494.52,
"end_time": 502.84,
"duration_sec": 8.319999999999993,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 548.21,
"end_time": 588.3,
"duration_sec": 40.08999999999992,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 758.41,
"end_time": 768.01,
"duration_sec": 9.600000000000023,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 795.25,
"end_time": 848.92,
"duration_sec": 53.66999999999996,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 1151.51,
"end_time": 1191.05,
"duration_sec": 39.539999999999964,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 1682.9,
"end_time": 1763.97,
"duration_sec": 81.06999999999994,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 1796.77,
"end_time": 1821.76,
"duration_sec": 24.99000000000001,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 123,
"agent_turns": 62,
"customer_turns": 61,
"agent_talk_ratio": 0.4657568291376541,
"customer_talk_ratio": 0.30308462774504574,
"silence_ratio": 0.217916443492233,
"interruption_count": 0,
"avg_turn_duration_sec": 12.453104347826093,
"source": "observed"
},
"hold_count": 1,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 10,
"interruption_count": 0,
"audio_duration_sec": 1867.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:41:05.187577"
},
"outcome": "BILLING_DISPUTE_OPENED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Un momento por favor. Gracias.",
"start_time": 85.2,
"end_time": 124.8,
"speaker": "agent"
}
],
"reasoning": "El agente deja al cliente en espera sin comunicación durante un tiempo prolongado.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Reducir los tiempos de silencio y mantener al cliente informado durante la espera.",
"replicable_practice": null
},
{
"driver_code": "BILLING_NOT_CLARIFIED",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Hay un error que se está generando, José, Yo ya voy a entrar a validarlo.",
"start_time": 249.8,
"end_time": 269.0,
"speaker": "agent"
}
],
"reasoning": "El agente no proporciona una explicación clara sobre la discrepancia en las facturas.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Mejorar la claridad en la comunicación sobre facturas y discrepancias.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Yo es que no tengo más, es que yo solamente.",
"start_time": 269.0,
"end_time": 271.8,
"speaker": "customer"
}
],
"reasoning": "El agente parece no captar la frustración del cliente sobre la facturación duplicada.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en escucha activa y empatía.",
"replicable_practice": null
}
],
"fcr_status": "REPEAT_CALL",
"fcr_failure_drivers": [
{
"driver_code": "BILLING_REVIEW_PENDING",
"confidence": 0.9,
"evidence_spans": [
{
"text": "Déjeme yo valido la información, no me tardo.",
"start_time": 282.0,
"end_time": 282.0,
"speaker": "agent"
}
],
"reasoning": "El problema de facturación no se resuelve en esta llamada, lo que puede llevar a una futura llamada.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Asegurar que el agente tenga acceso a la información necesaria para resolver la consulta en la primera llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_BILL_COMPLAINT",
"confidence": 0.85,
"evidence_spans": [
{
"text": "me están pidiendo ustedes doble factura de pago.",
"start_time": 271.8,
"end_time": 271.8,
"speaker": "customer"
}
],
"reasoning": "El cliente se queja de un cargo duplicado, lo que puede generar insatisfacción.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Investigar la causa de la queja y ofrecer una solución o compensación.",
"replicable_practice": null
},
{
"driver_code": "UNEXPECTED_CHARGES",
"confidence": 0.8,
"evidence_spans": [
{
"text": "me envían ustedes otra factura que dice que debo.",
"start_time": 34.9,
"end_time": 34.9,
"speaker": "customer"
}
],
"reasoning": "El cliente está sorprendido por cargos inesperados, lo que puede llevar a la insatisfacción.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Aclarar los cargos y ofrecer una revisión de la cuenta.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.7,
"evidence_spans": [
{
"text": "¿Y qué sucede específicamente con esa factura?",
"start_time": 31.7,
"end_time": 31.7,
"speaker": "agent"
}
],
"description": "El agente hace preguntas para entender mejor la situación del cliente.",
"coaching_recommendation": null,
"replicable_practice": "Hacer preguntas abiertas para obtener más información del cliente.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Vamos a ver qué es lo que está pasando.",
"start_time": 85.2,
"end_time": 85.2,
"speaker": "agent"
}
],
"description": "El agente no resuelve el problema de facturación durante la llamada.",
"coaching_recommendation": "Capacitar en resolución de problemas y en el uso de herramientas para verificar cuentas.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LONG_HOLD",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Un momento por favor. Gracias.",
"start_time": 85.2,
"end_time": 124.8,
"speaker": "agent"
}
],
"description": "El cliente experimenta un tiempo de espera prolongado sin información.",
"coaching_recommendation": "Reducir los tiempos de espera y mantener al cliente informado durante la espera.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:41:39.948184",
"pipeline_version": null
},
"created_at": "2026-01-19T13:41:39.948211"
}

View File

@@ -0,0 +1,103 @@
{
"call_id": "10122025_0082038C3CFBF73E",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF73E",
"events": [],
"turn_metrics": {
"total_turns": 1,
"agent_turns": 1,
"customer_turns": 0,
"agent_talk_ratio": 0.9696232876712328,
"customer_talk_ratio": 0.0,
"silence_ratio": 0.0,
"interruption_count": 0,
"avg_turn_duration_sec": 283.13,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 292.0,
"language": "es",
"speaker_count": 1,
"created_at": "2026-01-19T13:41:41.952855"
},
"outcome": "TRANSFER_OUT",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "MULTI_TRANSFER",
"confidence": 0.85,
"evidence_spans": [
{
"text": "te voy a transferir para que hagas estos pagos",
"start_time": 120.0,
"end_time": 125.0,
"speaker": "agent"
}
],
"reasoning": "El cliente es transferido a otro departamento para realizar el pago, lo que puede causar frustración.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Implementar un sistema que permita a los agentes procesar pagos directamente.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [],
"churn_risk": "NO_RISK",
"churn_risk_drivers": [],
"agent_classification": "GOOD_PERFORMER",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.9,
"evidence_spans": [
{
"text": "El total es 146 con 18.",
"start_time": 100.0,
"end_time": 102.0,
"speaker": "agent"
}
],
"description": "El agente comunica claramente el total a pagar.",
"coaching_recommendation": null,
"replicable_practice": "Continuar comunicando información financiera de manera clara y precisa.",
"source": "inferred"
},
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.85,
"evidence_spans": [
{
"text": "¿Tú me podrías confirmar el número del DNI, por favor?",
"start_time": 15.0,
"end_time": 18.0,
"speaker": "agent"
}
],
"description": "El agente escucha activamente y solicita información necesaria.",
"coaching_recommendation": null,
"replicable_practice": "Seguir haciendo preguntas para confirmar información y demostrar atención.",
"source": "inferred"
}
],
"agent_improvement_areas": [],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:41:54.517076",
"pipeline_version": null
},
"created_at": "2026-01-19T13:41:54.517098"
}

View File

@@ -0,0 +1,231 @@
{
"call_id": "10122025_0082038C3CFBF748",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF748",
"events": [],
"turn_metrics": {
"total_turns": 26,
"agent_turns": 13,
"customer_turns": 13,
"agent_talk_ratio": 0.3572873563218392,
"customer_talk_ratio": 0.48388505747126453,
"silence_ratio": 0.10362068965517238,
"interruption_count": 0,
"avg_turn_duration_sec": 5.629384615384618,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 174.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:41:41.955351"
},
"outcome": "OUTAGE_ESCALATED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "OUTAGE_NOT_EXPLAINED",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Yo no puedo saber si ha sido un tema de la zona, eso ya lo maneja el área encargada de averías.",
"start_time": 56.0,
"end_time": 62.0,
"speaker": "B"
}
],
"reasoning": "El agente no proporciona información sobre la avería ni tiempo estimado de resolución.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Verificar en el sistema si hay incidencias conocidas en la zona y comunicar tiempo estimado.",
"replicable_practice": null
},
{
"driver_code": "WRONG_DEPARTMENT",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Tú ya te comunicas con el área de averías para informar y pues que te hagan una incidencia.",
"start_time": 31.5,
"end_time": 36.0,
"speaker": "B"
}
],
"reasoning": "Cliente derivado a otro número sin transferencia, genera fricción.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Implementar transferencia directa al departamento de averías.",
"replicable_practice": null
},
{
"driver_code": "LOW_EMPATHY",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Te sugiero, antes de que cuelgues, trata de hablar con tu señora madre para que te confirme el DNI.",
"start_time": 145.0,
"end_time": 150.0,
"speaker": "B"
}
],
"reasoning": "El agente no muestra empatía ante la situación del cliente que está sin luz.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Capacitar en habilidades de empatía y atención al cliente.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "OUTAGE_PENDING",
"confidence": 0.9,
"evidence_spans": [
{
"text": "Yo lo que puedo hacer ante eso es simplemente verificar si tú tienes un importe por impago.",
"start_time": 56.3,
"end_time": 60.0,
"speaker": "B"
}
],
"reasoning": "La avería no se resuelve en esta llamada, cliente debe llamar a otro número.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Permitir que el agente abra la incidencia directamente o transfiera la llamada.",
"replicable_practice": null
},
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Entonces lo que quería saber era si tienen algún tipo de avería aún.",
"start_time": 12.6,
"end_time": 16.0,
"speaker": "A"
}
],
"reasoning": "El cliente no tiene claros los próximos pasos a seguir para resolver su problema.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar instrucciones claras sobre cómo proceder después de la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "REPEATED_OUTAGES",
"confidence": 0.82,
"evidence_spans": [
{
"text": "No tenemos luz en la casa de campo.",
"start_time": 12.6,
"end_time": 16.0,
"speaker": "A"
}
],
"reasoning": "Cliente reporta problemas recurrentes de suministro.",
"proposed_label": null,
"source": "inferred",
"origin": "COMPANY",
"corrective_action": "Escalar a calidad de servicio para investigar causa de cortes frecuentes.",
"replicable_practice": null
},
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.78,
"evidence_spans": [
{
"text": "Estoy harto de tener que llamar cada vez que pasa esto.",
"start_time": 70.0,
"end_time": 73.5,
"speaker": "A"
}
],
"reasoning": "Cliente muestra alta frustración con el servicio.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer seguimiento proactivo y posible compensación.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "El número de teléfono es el siguiente: 800-700-706.",
"start_time": 80.0,
"end_time": 84.5,
"speaker": "B"
}
],
"description": "El agente comunica claramente el número de teléfono.",
"coaching_recommendation": null,
"replicable_practice": "Dictar información importante de forma clara y pausada.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_OUTAGE_HANDLING",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Yo no puedo saber si ha sido un tema de la zona, eso ya lo maneja el área de averías.",
"start_time": 56.0,
"end_time": 62.0,
"speaker": "B"
}
],
"description": "El agente no intenta ayudar con la avería, solo deriva.",
"coaching_recommendation": "Capacitar en uso del sistema para verificar incidencias en zona antes de derivar.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Bueno, yo lo que puedo hacer es simplemente verificar si tienes impago.",
"start_time": 45.0,
"end_time": 50.0,
"speaker": "B"
}
],
"description": "El agente no muestra empatía ante el problema del cliente sin luz.",
"coaching_recommendation": "Practicar frases de empatía: 'Entiendo lo difícil que es quedarse sin luz'.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:42:22.773425",
"pipeline_version": null
},
"created_at": "2026-01-19T13:42:22.773449"
}

View File

@@ -0,0 +1,247 @@
{
"call_id": "10122025_0082038C3CFBF766",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF766",
"events": [
{
"event_type": "SILENCE",
"start_time": 417.77,
"end_time": 423.06,
"duration_sec": 5.2900000000000205,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 506.29,
"end_time": 514.61,
"duration_sec": 8.319999999999993,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 567.19,
"end_time": 576.87,
"duration_sec": 9.67999999999995,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 39,
"agent_turns": 20,
"customer_turns": 19,
"agent_talk_ratio": 0.6804298921417563,
"customer_talk_ratio": 0.1960585516178736,
"silence_ratio": 0.10842835130970725,
"interruption_count": 0,
"avg_turn_duration_sec": 15.34813513513513,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 3,
"interruption_count": 0,
"audio_duration_sec": 649.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:41:56.526548"
},
"outcome": "CANCELLATION_COMPLETED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Vale, te va a per un momento mientras reviso si alguna manera de revertir esto y ya regreso contigo.",
"start_time": 96.1,
"end_time": 104.2,
"speaker": "agent"
}
],
"reasoning": "El agente deja al cliente en espera sin comunicación durante un tiempo prolongado.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Mantener al cliente informado durante las pausas, explicando que se está revisando su caso.",
"replicable_practice": null
},
{
"driver_code": "ISSUE_NOT_RESOLVED",
"confidence": 0.9,
"evidence_spans": [
{
"text": "No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo.",
"start_time": 411.0,
"end_time": 414.0,
"speaker": "agent"
}
],
"reasoning": "El problema del cliente no se resuelve en la llamada, lo que genera insatisfacción.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar alternativas o soluciones proactivas en lugar de simplemente informar que no se puede hacer nada.",
"replicable_practice": null
},
{
"driver_code": "LOW_EMPATHY",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo.",
"start_time": 411.0,
"end_time": 414.0,
"speaker": "agent"
}
],
"reasoning": "El agente no muestra empatía hacia la frustración del cliente por la situación.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en habilidades de empatía para que reconozcan y validen las emociones del cliente.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Vale, pues sí, digamos que en sí pues la manera es esa o directamente dar el cambio de titularidad.",
"start_time": 437.4,
"end_time": 440.0,
"speaker": "agent"
}
],
"reasoning": "El cliente no tiene claro qué pasos seguir después de la llamada, lo que puede llevar a una futura consulta.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar un resumen claro de los próximos pasos al final de la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "EXPLICIT_CANCELLATION_INTENT",
"confidence": 0.9,
"evidence_spans": [
{
"text": "Lo que pasa es que yo esta tarde hice una llamada y me contestó un compañero tuyo sí lo necesitaba era darme de baja con los servicios que yo tenía con ustedes.",
"start_time": 10.9,
"end_time": 20.0,
"speaker": "customer"
}
],
"reasoning": "El cliente expresa claramente su intención de cancelar el servicio.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Implementar estrategias de retención para abordar las preocupaciones del cliente antes de que se complete la cancelación.",
"replicable_practice": null
},
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Es que la verdad es que yo no sabía eso y compañero a mí tampoco me lo explicó ni me lo dijo.",
"start_time": 423.1,
"end_time": 426.0,
"speaker": "customer"
}
],
"reasoning": "El cliente muestra frustración por la falta de información y claridad en el proceso.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Aumentar la claridad en la comunicación y la formación de los agentes sobre los procesos para evitar confusiones.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Mira, el número de la distribuidora. La distribuidora, la zona Ciberto, la distribución, el número de ellos es. 990. 171.",
"start_time": 534.7,
"end_time": 540.0,
"speaker": "agent"
}
],
"description": "El agente comunica claramente el número de contacto de la distribuidora.",
"coaching_recommendation": null,
"replicable_practice": "Dictar información importante de forma clara y pausada.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.9,
"evidence_spans": [
{
"text": "No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo.",
"start_time": 411.0,
"end_time": 414.0,
"speaker": "agent"
}
],
"description": "El agente no resuelve adecuadamente el problema del cliente.",
"coaching_recommendation": "Capacitar en técnicas de resolución de problemas y en el uso del sistema para encontrar soluciones.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo.",
"start_time": 411.0,
"end_time": 414.0,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía ante la frustración del cliente.",
"coaching_recommendation": "Entrenar en habilidades de empatía y en cómo validar las preocupaciones del cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:42:36.899430",
"pipeline_version": null
},
"created_at": "2026-01-19T13:42:36.899454"
}

View File

@@ -0,0 +1,313 @@
{
"call_id": "10122025_0082038C3CFBF779",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF779",
"events": [
{
"event_type": "SILENCE",
"start_time": 102.87,
"end_time": 111.44,
"duration_sec": 8.569999999999993,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 366.3,
"end_time": 371.66,
"duration_sec": 5.360000000000014,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 416.54,
"end_time": 421.66,
"duration_sec": 5.1200000000000045,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 422.38,
"end_time": 430.46,
"duration_sec": 8.079999999999984,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 63,
"agent_turns": 32,
"customer_turns": 31,
"agent_talk_ratio": 0.3595125925925922,
"customer_talk_ratio": 0.49777925925925975,
"silence_ratio": 0.11825185185185182,
"interruption_count": 0,
"avg_turn_duration_sec": 9.470688524590166,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 4,
"interruption_count": 0,
"audio_duration_sec": 675.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:42:24.789163"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [
{
"driver_code": "PRICE_TOO_HIGH",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Es que me están estafando.",
"start_time": 253.5,
"end_time": 255.0,
"speaker": "customer"
}
],
"reasoning": "El cliente expresa que siente que está siendo estafado por los precios.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Revisar la estructura de precios y ofrecer opciones más competitivas.",
"replicable_practice": null
},
{
"driver_code": "COMPETITOR_PREFERENCE",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Yo tenía la tarifa One en otro domicilio de la calle San Juan.",
"start_time": 253.5,
"end_time": 255.0,
"speaker": "customer"
}
],
"reasoning": "El cliente menciona que tenía una tarifa más baja con otra compañía.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una comparación clara de tarifas y beneficios frente a la competencia.",
"replicable_practice": null
},
{
"driver_code": "NO_SAVINGS_CALCULATION",
"confidence": 0.75,
"evidence_spans": [
{
"text": "¿O sea, que el P cuánto es? ¿Y el p?",
"start_time": 111.4,
"end_time": 113.0,
"speaker": "customer"
}
],
"reasoning": "El agente no proporciona un cálculo claro de ahorros potenciales.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Instruir a los agentes a calcular y comunicar ahorros potenciales durante la llamada.",
"replicable_practice": null
}
],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Silencio prolongado durante la llamada.",
"start_time": 102.9,
"end_time": 111.5,
"speaker": "agent"
}
],
"reasoning": "El silencio prolongado genera frustración en el cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Entrenar a los agentes para que mantengan la comunicación durante la búsqueda de información.",
"replicable_practice": null
},
{
"driver_code": "BILLING_NOT_CLARIFIED",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No lo entiendo. A ver, qué potencia.",
"start_time": 153.4,
"end_time": 155.0,
"speaker": "customer"
}
],
"reasoning": "El cliente no entiende la explicación sobre la facturación.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Mejorar la claridad en la explicación de tarifas y facturación.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Perdón. Yo tampoco lo entiendo esto y es que me pone muy nervioso.",
"start_time": 159.7,
"end_time": 161.0,
"speaker": "customer"
}
],
"reasoning": "El agente no escucha adecuadamente las preocupaciones del cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Fomentar la escucha activa y la empatía en las interacciones con los clientes.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.8,
"evidence_spans": [
{
"text": "O sea, el.",
"start_time": 421.7,
"end_time": 423.0,
"speaker": "agent"
}
],
"reasoning": "El cliente no tiene claros los próximos pasos a seguir.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Asegurarse de que el cliente entienda los siguientes pasos antes de finalizar la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.82,
"evidence_spans": [
{
"text": "Es que me están estafando.",
"start_time": 253.5,
"end_time": 255.0,
"speaker": "customer"
}
],
"reasoning": "El cliente muestra frustración y desconfianza hacia la compañía.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una solución personalizada y seguimiento para mejorar la satisfacción del cliente.",
"replicable_practice": null
},
{
"driver_code": "EXPLICIT_CANCELLATION_INTENT",
"confidence": 0.78,
"evidence_spans": [
{
"text": "¿Cuánto me va a costar llevarla a mí ahora?",
"start_time": 295.8,
"end_time": 297.0,
"speaker": "customer"
}
],
"reasoning": "El cliente está considerando cambiar de proveedor.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Implementar un programa de retención para clientes en riesgo.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_TECHNICAL_EXPLANATION",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Vale, pues venga, díganme usted los datos de la factura.",
"start_time": 300.3,
"end_time": 302.0,
"speaker": "agent"
}
],
"description": "El agente solicita información de manera clara para ayudar al cliente.",
"coaching_recommendation": null,
"replicable_practice": "Hacer preguntas claras y directas para obtener la información necesaria.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "CONFUSING_EXPLANATION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Pero estamos hablando de la potencia, porque usted tiene un precio, uno solo, para cualquier hora del día, en lo que es el consumo.",
"start_time": 128.6,
"end_time": 132.0,
"speaker": "agent"
}
],
"description": "El agente proporciona explicaciones confusas sobre la facturación.",
"coaching_recommendation": "Entrenar en la simplificación de explicaciones técnicas y en el uso de ejemplos claros.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No, no se preocupe, porque esto es una cosa que a mí se me escapa, ¿Sabe?",
"start_time": 159.7,
"end_time": 161.0,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía ante la frustración del cliente.",
"coaching_recommendation": "Instruir a los agentes a reconocer y validar las emociones del cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:43:12.261658",
"pipeline_version": null
},
"created_at": "2026-01-19T13:43:12.261684"
}

View File

@@ -0,0 +1,317 @@
{
"call_id": "10122025_0082038C3CFBF7D0",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF7D0",
"events": [
{
"event_type": "SILENCE",
"start_time": 88.17,
"end_time": 99.05,
"duration_sec": 10.879999999999995,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 104.97,
"end_time": 124.38,
"duration_sec": 19.409999999999997,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 190.68,
"end_time": 197.96,
"duration_sec": 7.280000000000001,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 242.08,
"end_time": 258.96,
"duration_sec": 16.879999999999967,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 292.57,
"end_time": 344.8,
"duration_sec": 52.23000000000002,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 1021.32,
"end_time": 1029.4,
"duration_sec": 8.080000000000041,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 102,
"agent_turns": 51,
"customer_turns": 51,
"agent_talk_ratio": 0.2869023746701846,
"customer_talk_ratio": 0.5220571679859276,
"silence_ratio": 0.17481882145998273,
"interruption_count": 0,
"avg_turn_duration_sec": 9.189869999999996,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 6,
"interruption_count": 0,
"audio_duration_sec": 1137.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:42:38.906715"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [
{
"driver_code": "PRICE_TOO_HIGH",
"confidence": 0.85,
"evidence_spans": [
{
"text": "A partir de mil kilovatios de potencia se generó un cobro de 50 a 60 euros aproximadamente",
"start_time": 72.0,
"end_time": 76.0,
"speaker": "agent"
}
],
"reasoning": "El cliente considera que el costo de la modificación de potencia es elevado",
"proposed_label": null,
"source": "inferred",
"origin": "COMPANY",
"corrective_action": "Ofrecer opciones de tarifas más competitivas o descuentos para nuevos clientes",
"replicable_practice": null
},
{
"driver_code": "NO_INTEREST_IN_UPGRADE",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Pero yo no he pasado de mil, ¿No? ¿Que si no he pasado de mil tiene que ser a cero?",
"start_time": 167.9,
"end_time": 171.0,
"speaker": "customer"
}
],
"reasoning": "El cliente no está interesado en pagar por un aumento de potencia que no considera necesario",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Explorar las necesidades del cliente y ofrecer alternativas que se ajusten a su consumo",
"replicable_practice": null
},
{
"driver_code": "DISTRUST_OF_OFFERS",
"confidence": 0.75,
"evidence_spans": [
{
"text": "A mí me han dicho que no, que accesa cero, no, que no hay que pagar nada, me han dicho a mí.",
"start_time": 180.6,
"end_time": 184.0,
"speaker": "customer"
}
],
"reasoning": "El cliente desconfía de la información proporcionada por el agente",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Proporcionar información clara y transparente sobre tarifas y costos",
"replicable_practice": null
}
],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.9,
"evidence_spans": [
{
"text": "Dame un segundo, por favor.",
"start_time": 240.9,
"end_time": 242.1,
"speaker": "agent"
}
],
"reasoning": "El agente genera largos silencios que pueden frustrar al cliente",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes para mantener la comunicación activa durante la llamada",
"replicable_practice": null
},
{
"driver_code": "INCORRECT_INFO",
"confidence": 0.85,
"evidence_spans": [
{
"text": "No, es que siempre el valor de. El valor de la modificación de potencia tiene ese valor, vale, tiene un valor.",
"start_time": 174.6,
"end_time": 178.0,
"speaker": "agent"
}
],
"reasoning": "El agente proporciona información confusa sobre los costos de modificación de potencia",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Capacitar a los agentes en la claridad de la información sobre tarifas",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.88,
"evidence_spans": [
{
"text": "Dame un segundo, por favor.",
"start_time": 240.9,
"end_time": 242.1,
"speaker": "agent"
}
],
"reasoning": "El cliente no tiene claros los próximos pasos para la modificación de potencia",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar un resumen claro de los pasos a seguir al final de la llamada",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.8,
"evidence_spans": [
{
"text": "A ver, pero yo no he pasado de mil, ¿No? ¿Que si no he pasado de mil tiene que ser a cero.",
"start_time": 167.9,
"end_time": 171.0,
"speaker": "customer"
}
],
"reasoning": "El cliente muestra frustración por la falta de claridad en la información",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer un seguimiento proactivo para resolver dudas y asegurar satisfacción",
"replicable_practice": null
},
{
"driver_code": "UNEXPECTED_CHARGES",
"confidence": 0.78,
"evidence_spans": [
{
"text": "Pero será 50. Como me han dicho 50 me han dicho.",
"start_time": 272.9,
"end_time": 275.2,
"speaker": "customer"
}
],
"reasoning": "El cliente está sorprendido por los cargos inesperados relacionados con la modificación de potencia",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Aclarar todos los cargos y costos antes de proceder con cambios",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Vale, entonces lo que te gustaría es aumentar la potencia.",
"start_time": 60.9,
"end_time": 64.3,
"speaker": "agent"
}
],
"description": "El agente comunica claramente la intención del cliente",
"coaching_recommendation": null,
"replicable_practice": "Reiterar y confirmar las solicitudes del cliente para asegurar comprensión",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "NOT_LISTENING",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Pero yo no he pasado de mil, ¿No? ¿Que si no he pasado de mil tiene que ser a cero.",
"start_time": 167.9,
"end_time": 171.0,
"speaker": "customer"
}
],
"description": "El agente no escucha adecuadamente las preocupaciones del cliente",
"coaching_recommendation": "Entrenar en habilidades de escucha activa y validación de preocupaciones",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "CONFUSING_EXPLANATION",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No, es que siempre el valor de. El valor de la modificación de potencia tiene ese valor, vale, tiene un valor.",
"start_time": 174.6,
"end_time": 178.0,
"speaker": "agent"
}
],
"description": "El agente proporciona explicaciones confusas sobre los costos",
"coaching_recommendation": "Capacitar en la simplificación de explicaciones técnicas y costos",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:43:18.810404",
"pipeline_version": null
},
"created_at": "2026-01-19T13:43:18.810431"
}

View File

@@ -0,0 +1,229 @@
{
"call_id": "10122025_0082038C3CFBF80E",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF80E",
"events": [
{
"event_type": "SILENCE",
"start_time": 353.11,
"end_time": 359.2,
"duration_sec": 6.089999999999975,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 392.65,
"end_time": 399.37,
"duration_sec": 6.720000000000027,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 520.62,
"end_time": 534.94,
"duration_sec": 14.32000000000005,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 51,
"agent_turns": 26,
"customer_turns": 25,
"agent_talk_ratio": 0.4114076782449725,
"customer_talk_ratio": 0.4321023765996342,
"silence_ratio": 0.13429616087751395,
"interruption_count": 0,
"avg_turn_duration_sec": 9.218399999999999,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 3,
"interruption_count": 0,
"audio_duration_sec": 547.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:43:14.267000"
},
"outcome": "BILLING_DISPUTE_OPENED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Silencio prolongado durante la llamada",
"start_time": 353.1,
"end_time": 359.2,
"speaker": "agent"
}
],
"reasoning": "El silencio prolongado genera incomodidad y frustración en el cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes para que mantengan la comunicación durante la búsqueda de información.",
"replicable_practice": null
},
{
"driver_code": "BILLING_NOT_CLARIFIED",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No sé cómo el final, como tal modificación de potencia no se le ha realizado al cliente",
"start_time": 96.6,
"end_time": 100.0,
"speaker": "agent"
}
],
"reasoning": "El agente no explica claramente la situación de la factura y la modificación de potencia.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar formación sobre cómo explicar claramente los detalles de facturación.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.75,
"evidence_spans": [
{
"text": "No, yo no tenía esa potencia.",
"start_time": 138.9,
"end_time": 140.0,
"speaker": "customer"
}
],
"reasoning": "El agente no escucha adecuadamente las preocupaciones del cliente sobre la potencia contratada.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Fomentar la escucha activa y la empatía en la formación de agentes.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.9,
"evidence_spans": [
{
"text": "¿Cómo se hace eso? Explíquemelo.",
"start_time": 210.6,
"end_time": 212.0,
"speaker": "customer"
}
],
"reasoning": "El cliente no tiene claros los pasos a seguir para resolver su problema.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar un resumen claro de los próximos pasos al cliente al final de la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_BILL_COMPLAINT",
"confidence": 0.85,
"evidence_spans": [
{
"text": "me ha venido la carta hoy... he pagado 363,73 de factura",
"start_time": 16.6,
"end_time": 20.0,
"speaker": "customer"
}
],
"reasoning": "El cliente se queja de una factura alta, lo que indica insatisfacción.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una revisión detallada de la factura y posibles soluciones.",
"replicable_practice": null
},
{
"driver_code": "UNEXPECTED_CHARGES",
"confidence": 0.8,
"evidence_spans": [
{
"text": "me pone que tengo contratado 8.500 kilovatios, cuando yo eso no lo he contratado.",
"start_time": 20.0,
"end_time": 24.0,
"speaker": "customer"
}
],
"reasoning": "El cliente está sorprendido por cargos inesperados relacionados con la potencia contratada.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Investigar la situación y ofrecer una explicación clara al cliente.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "No sé cómo el final, como tal modificación de potencia no se le ha realizado al cliente.",
"start_time": 96.6,
"end_time": 100.0,
"speaker": "agent"
}
],
"description": "El agente no resuelve adecuadamente la disputa sobre la modificación de potencia.",
"coaching_recommendation": "Capacitar en resolución de problemas y en el manejo de disputas de facturación.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No sé cómo ha sido eso, ni cómo ni de qué manera.",
"start_time": 20.0,
"end_time": 24.0,
"speaker": "customer"
}
],
"description": "El agente no muestra empatía ante la frustración del cliente.",
"coaching_recommendation": "Incluir entrenamiento en empatía y manejo de situaciones difíciles.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:43:58.395735",
"pipeline_version": null
},
"created_at": "2026-01-19T13:43:58.395760"
}

View File

@@ -0,0 +1,233 @@
{
"call_id": "10122025_0082038C3CFBF812",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF812",
"events": [
{
"event_type": "SILENCE",
"start_time": 71.8,
"end_time": 77.48,
"duration_sec": 5.680000000000007,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 111.76,
"end_time": 164.82,
"duration_sec": 53.05999999999999,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 176.02,
"end_time": 183.39,
"duration_sec": 7.369999999999976,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 185.15,
"end_time": 234.34,
"duration_sec": 49.19,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "HOLD_START",
"start_time": 439.31,
"end_time": null,
"duration_sec": null,
"metadata": {
"trigger_text": "Bueno, pues voy a enviar lo que es la enviaría la cancelación del acuerdo de ese fraccionamiento. Va"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 703.47,
"end_time": 708.74,
"duration_sec": 5.269999999999982,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 751.43,
"end_time": 768.8,
"duration_sec": 17.370000000000005,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 53,
"agent_turns": 27,
"customer_turns": 26,
"agent_talk_ratio": 0.5164932432432433,
"customer_talk_ratio": 0.23759684684684695,
"silence_ratio": 0.23424549549549528,
"interruption_count": 0,
"avg_turn_duration_sec": 12.634566037735853,
"source": "observed"
},
"hold_count": 1,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 6,
"interruption_count": 0,
"audio_duration_sec": 888.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:43:20.822096"
},
"outcome": "BILLING_INQUIRY_RESOLVED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Silencio prolongado durante la llamada",
"start_time": 111.8,
"end_time": 164.8,
"speaker": "unknown"
}
],
"reasoning": "El silencio prolongado puede generar frustración en el cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Entrenar a los agentes para que mantengan la comunicación durante la espera.",
"replicable_practice": null
},
{
"driver_code": "BILLING_NOT_CLARIFIED",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Bueno, veo que tiene facturación de cada dos meses, pero es del otro suministro que tiene acá en la dirección Escalera del Paseíllo es así la tiene bimestral.",
"start_time": 410.8,
"end_time": 421.4,
"speaker": "agent"
}
],
"reasoning": "El agente no explica claramente la facturación, lo que puede confundir al cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar formación sobre cómo explicar las facturas de manera clara y concisa.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [],
"churn_risk": "NO_RISK",
"churn_risk_drivers": [],
"agent_classification": "MIXED",
"agent_positive_skills": [
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.78,
"evidence_spans": [
{
"text": "Claro, más que nada por eso.",
"start_time": 322.9,
"end_time": 324.0,
"speaker": "agent"
}
],
"description": "El agente demuestra que está escuchando activamente al cliente.",
"coaching_recommendation": null,
"replicable_practice": "Repetir o parafrasear lo que el cliente dice para mostrar comprensión.",
"source": "inferred"
},
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.76,
"evidence_spans": [
{
"text": "Vamos a validar. Me indica el DNI del titular del Contrato, por favor.",
"start_time": 60.8,
"end_time": 65.2,
"speaker": "agent"
}
],
"description": "El agente comunica claramente los pasos a seguir.",
"coaching_recommendation": null,
"replicable_practice": "Utilizar un lenguaje claro y directo al solicitar información.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "LONG_SILENCE",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Silencio prolongado durante la llamada",
"start_time": 111.8,
"end_time": 164.8,
"speaker": "unknown"
}
],
"description": "El agente permite silencios prolongados que afectan la experiencia del cliente.",
"coaching_recommendation": "Entrenar a los agentes para que mantengan la comunicación durante las esperas.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "BILLING_KNOWLEDGE_GAPS",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No sabría decirle porque me aparece esa bimestral.",
"start_time": 430.7,
"end_time": 432.0,
"speaker": "agent"
}
],
"description": "El agente muestra falta de conocimiento sobre la facturación.",
"coaching_recommendation": "Proporcionar formación adicional sobre los procesos de facturación y tarifas.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:43:45.012114",
"pipeline_version": null
},
"created_at": "2026-01-19T13:43:45.012143"
}

View File

@@ -0,0 +1,195 @@
{
"call_id": "10122025_0082038C3CFBF851",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF851",
"events": [],
"turn_metrics": {
"total_turns": 1,
"agent_turns": 1,
"customer_turns": 0,
"agent_talk_ratio": 0.9680672268907563,
"customer_talk_ratio": 0.0,
"silence_ratio": 0.0,
"interruption_count": 0,
"avg_turn_duration_sec": 230.4,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 238.0,
"language": "es",
"speaker_count": 1,
"created_at": "2026-01-19T13:43:47.022903"
},
"outcome": "TECHNICIAN_SCHEDULED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "ISSUE_NOT_RESOLVED",
"confidence": 0.85,
"evidence_spans": [
{
"text": "el técnico puede llegar en ese caso de una 24 horas",
"start_time": 90.0,
"end_time": 95.0,
"speaker": "agent"
}
],
"reasoning": "El problema de la caldera no se resuelve en la llamada, solo se informa que el técnico podría llegar al día siguiente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Ofrecer una solución inmediata o una escalación para asegurar la llegada del técnico.",
"replicable_practice": null
},
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.8,
"evidence_spans": [
{
"text": "estar muy pendiente el día de mañana",
"start_time": 100.0,
"end_time": 105.0,
"speaker": "agent"
}
],
"reasoning": "El cliente no tiene claridad sobre qué esperar después de la llamada.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar un resumen claro de los próximos pasos y tiempos de espera.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "TECHNICIAN_VISIT_REQUIRED",
"confidence": 0.9,
"evidence_spans": [
{
"text": "necesidad de pasarnos a lo que sería la parte de mantenimiento",
"start_time": 80.0,
"end_time": 85.0,
"speaker": "agent"
}
],
"reasoning": "El cliente necesita que un técnico visite su hogar para resolver el problema.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Asegurar que el agente pueda programar la visita del técnico directamente.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "SERVICE_QUALITY_ISSUES",
"confidence": 0.82,
"evidence_spans": [
{
"text": "la caldera que bueno, arranca y tal, pero luego al momento se para",
"start_time": 20.0,
"end_time": 25.0,
"speaker": "customer"
}
],
"reasoning": "El cliente está experimentando problemas recurrentes con el servicio de gas.",
"proposed_label": null,
"source": "inferred",
"origin": "COMPANY",
"corrective_action": "Realizar un seguimiento proactivo para asegurar la satisfacción del cliente tras la visita del técnico.",
"replicable_practice": null
},
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.78,
"evidence_spans": [
{
"text": "estoy muy preocupada porque no tengo calefacción",
"start_time": 60.0,
"end_time": 65.0,
"speaker": "customer"
}
],
"reasoning": "El cliente muestra frustración y preocupación por la falta de calefacción.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una compensación o un seguimiento para asegurar que el problema se resuelva.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "te comprendo",
"start_time": 30.0,
"end_time": 32.0,
"speaker": "agent"
}
],
"description": "El agente demuestra que está escuchando al cliente.",
"coaching_recommendation": null,
"replicable_practice": "Repetir o parafrasear lo que el cliente dice para mostrar comprensión.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "lo más seguro es que el día de mañana pues vaya hacia tu domicilio",
"start_time": 95.0,
"end_time": 100.0,
"speaker": "agent"
}
],
"description": "El agente no resuelve el problema en la llamada, solo informa sobre la posible llegada del técnico.",
"coaching_recommendation": "Capacitar en la gestión de problemas para ofrecer soluciones inmediatas.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "no te transfiero directamente al área de mantenimientos",
"start_time": 110.0,
"end_time": 115.0,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía al no transferir al cliente a la solución adecuada.",
"coaching_recommendation": "Practicar la empatía y la importancia de transferir a los departamentos correctos.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:44:26.519123",
"pipeline_version": null
},
"created_at": "2026-01-19T13:44:26.519144"
}

View File

@@ -0,0 +1,68 @@
{
"call_id": "10122025_0082038C3CFBF852",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF852",
"events": [],
"turn_metrics": {
"total_turns": 1,
"agent_turns": 1,
"customer_turns": 0,
"agent_talk_ratio": 0.05818181818181823,
"customer_talk_ratio": 0.0,
"silence_ratio": 0.0,
"interruption_count": 0,
"avg_turn_duration_sec": 1.2800000000000011,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 22.0,
"language": "es",
"speaker_count": 1,
"created_at": "2026-01-19T13:44:00.397868"
},
"outcome": "UNKNOWN",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "No lo veo ahí tampoco.",
"start_time": 13.4,
"end_time": 15.0,
"speaker": "customer"
}
],
"reasoning": "El silencio prolongado puede indicar falta de respuesta o atención del agente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes para que mantengan la comunicación activa durante la llamada.",
"replicable_practice": null
}
],
"fcr_status": "UNKNOWN",
"fcr_failure_drivers": [],
"churn_risk": "UNKNOWN",
"churn_risk_drivers": [],
"agent_classification": "UNKNOWN",
"agent_positive_skills": [],
"agent_improvement_areas": [],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:44:06.650226",
"pipeline_version": null
},
"created_at": "2026-01-19T13:44:06.650251"
}

View File

@@ -0,0 +1,247 @@
{
"call_id": "10122025_0082038C3CFBF860",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF860",
"events": [
{
"event_type": "SILENCE",
"start_time": 606.16,
"end_time": 612.4,
"duration_sec": 6.240000000000009,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 635.53,
"end_time": 644.81,
"duration_sec": 9.279999999999973,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 877.65,
"end_time": 891.98,
"duration_sec": 14.330000000000041,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 74,
"agent_turns": 37,
"customer_turns": 37,
"agent_talk_ratio": 0.5223875715453803,
"customer_talk_ratio": 0.3414309076042516,
"silence_ratio": 0.12856909239574824,
"interruption_count": 0,
"avg_turn_duration_sec": 14.659583333333334,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 3,
"interruption_count": 0,
"audio_duration_sec": 1223.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:44:08.666514"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Vale, permítame, verifico acá en el sistema que me registra, ya vuelvo contigo.",
"start_time": 127.2,
"end_time": 135.0,
"speaker": "agent"
}
],
"reasoning": "El agente deja al cliente en espera sin comunicación durante un tiempo prolongado.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "El agente debe mantener al cliente informado mientras verifica información.",
"replicable_practice": null
},
{
"driver_code": "BILLING_NOT_CLARIFIED",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Pero ese contrato está de baja con nosotros.",
"start_time": 178.6,
"end_time": 180.0,
"speaker": "agent"
}
],
"reasoning": "El agente no explica claramente por qué el cliente no recibe las facturas.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar una explicación clara sobre el estado del contrato y las facturas.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.75,
"evidence_spans": [
{
"text": "¿Y tú de pronto recibiste alguna llamada extraña desde ese tiempo de pronto que haya sido supuestamente Endesa?",
"start_time": 201.8,
"end_time": 205.0,
"speaker": "agent"
}
],
"reasoning": "El agente interrumpe y no escucha adecuadamente las preocupaciones del cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Fomentar la escucha activa y evitar interrupciones durante la conversación.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Vale, en este caso tendríamos que volver a desactivar el contrato.",
"start_time": 260.9,
"end_time": 263.0,
"speaker": "agent"
}
],
"reasoning": "El cliente no tiene claro qué pasos seguir para resolver su situación.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "El agente debe proporcionar un resumen claro de los próximos pasos a seguir.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.82,
"evidence_spans": [
{
"text": "No entiendo. Por eso llamé, le digo, me pareció raro que no me pasaran la factura.",
"start_time": 225.2,
"end_time": 230.0,
"speaker": "customer"
}
],
"reasoning": "El cliente expresa frustración por la falta de claridad en la facturación.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una solución clara y seguimiento para evitar que el cliente se sienta perdido.",
"replicable_practice": null
},
{
"driver_code": "THREAT_TO_LEAVE",
"confidence": 0.78,
"evidence_spans": [
{
"text": "Hombre, evidentemente porque yo no me he dado de baja.",
"start_time": 274.6,
"end_time": 276.0,
"speaker": "customer"
}
],
"reasoning": "El cliente menciona que no ha dado de baja el servicio, lo que indica una posible intención de cambiar de proveedor.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Implementar un plan de retención que aborde las preocupaciones del cliente.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.7,
"evidence_spans": [
{
"text": "Vale, ¿Con quién hablo?",
"start_time": 58.0,
"end_time": 60.0,
"speaker": "agent"
}
],
"description": "El agente muestra interés en conocer la identidad del cliente.",
"coaching_recommendation": null,
"replicable_practice": "Hacer preguntas abiertas para involucrar al cliente en la conversación.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Si aquí aparece baja cambio de comercializadora, esto se dio de baja el 12 de agosto.",
"start_time": 186.5,
"end_time": 190.0,
"speaker": "agent"
}
],
"description": "El agente no resuelve el problema del cliente y no ofrece alternativas.",
"coaching_recommendation": "Capacitar en resolución de problemas y en cómo manejar situaciones de baja de servicio.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No, yo no he dado baja al contrato.",
"start_time": 182.7,
"end_time": 184.0,
"speaker": "customer"
}
],
"description": "El agente no muestra empatía ante la frustración del cliente.",
"coaching_recommendation": "Entrenar en habilidades de empatía y en cómo validar las preocupaciones del cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:44:39.662557",
"pipeline_version": null
},
"created_at": "2026-01-19T13:44:39.662582"
}

View File

@@ -0,0 +1,213 @@
{
"call_id": "10122025_0082038C3CFBF900",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF900",
"events": [],
"turn_metrics": {
"total_turns": 12,
"agent_turns": 6,
"customer_turns": 6,
"agent_talk_ratio": 0.4175731707317074,
"customer_talk_ratio": 0.3745121951219512,
"silence_ratio": 0.1601219512195121,
"interruption_count": 0,
"avg_turn_duration_sec": 5.412583333333334,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 82.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:44:41.675000"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "OUTAGE_NOT_EXPLAINED",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Vale, pero nosotros solamente somos facturación, quién se encarga de eso es la distribuidora y avería.",
"start_time": 25.1,
"end_time": 30.0,
"speaker": "agent"
}
],
"reasoning": "El agente no proporciona información sobre la avería ni tiempo estimado de resolución.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "El agente debe ser capacitado para proporcionar información sobre el estado de las averías.",
"replicable_practice": null
},
{
"driver_code": "WRONG_DEPARTMENT",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Eso sería directamente con la distribuidora.",
"start_time": 51.7,
"end_time": 54.0,
"speaker": "agent"
}
],
"reasoning": "El cliente es dirigido a un departamento incorrecto sin una transferencia adecuada.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Implementar un sistema de transferencia directa al departamento de averías.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Pero averías me dicen que no, que ellos son averías, que ellos no pueden generar para ponerme un generador eléctrico.",
"start_time": 44.1,
"end_time": 48.0,
"speaker": "customer"
}
],
"reasoning": "El agente no escucha adecuadamente las preocupaciones del cliente sobre la falta de luz.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en habilidades de escucha activa.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "OUTAGE_PENDING",
"confidence": 0.9,
"evidence_spans": [
{
"text": "Llevo más de 12 horas sin luz en casa.",
"start_time": 11.7,
"end_time": 15.0,
"speaker": "customer"
}
],
"reasoning": "La avería no se resuelve en esta llamada, el cliente debe buscar ayuda en otro lugar.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Permitir que el agente abra la incidencia directamente o transfiera la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "REPEATED_OUTAGES",
"confidence": 0.82,
"evidence_spans": [
{
"text": "Llevo más de 12 horas sin luz en casa.",
"start_time": 11.7,
"end_time": 15.0,
"speaker": "customer"
}
],
"reasoning": "El cliente menciona un corte prolongado de luz, lo que puede indicar problemas recurrentes.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Escalar a calidad de servicio para investigar la causa de cortes frecuentes.",
"replicable_practice": null
},
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.78,
"evidence_spans": [
{
"text": "Estoy harto de tener que llamar cada vez que pasa esto.",
"start_time": 70.0,
"end_time": 73.5,
"speaker": "customer"
}
],
"reasoning": "El cliente muestra alta frustración con el servicio.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer seguimiento proactivo y posible compensación.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Te doy el número de la distribuidora de avería.",
"start_time": 40.6,
"end_time": 43.0,
"speaker": "agent"
}
],
"description": "El agente comunica claramente el número de contacto.",
"coaching_recommendation": null,
"replicable_practice": "Dictar información importante de forma clara y pausada.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Nosotros tampoco, eso sería directamente con la distribuidora.",
"start_time": 51.7,
"end_time": 54.0,
"speaker": "agent"
}
],
"description": "El agente no intenta resolver el problema del cliente, solo deriva.",
"coaching_recommendation": "Capacitar en uso del sistema para verificar incidencias en zona antes de derivar.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Vale, pero nosotros solamente somos facturación.",
"start_time": 25.1,
"end_time": 30.0,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía ante el problema del cliente sin luz.",
"coaching_recommendation": "Practicar frases de empatía: 'Entiendo lo difícil que es quedarse sin luz'.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:45:13.575977",
"pipeline_version": null
},
"created_at": "2026-01-19T13:45:13.576001"
}

View File

@@ -0,0 +1,121 @@
{
"call_id": "10122025_0082038C3CFBF911",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF911",
"events": [],
"turn_metrics": {
"total_turns": 1,
"agent_turns": 1,
"customer_turns": 0,
"agent_talk_ratio": 0.9151666666666666,
"customer_talk_ratio": 0.0,
"silence_ratio": 0.0,
"interruption_count": 0,
"avg_turn_duration_sec": 54.91,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 60.0,
"language": "es",
"speaker_count": 1,
"created_at": "2026-01-19T13:44:41.677548"
},
"outcome": "UNKNOWN",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Hola, Hola, buenas noches, soy Marian por ayudarte.",
"start_time": 0.2,
"end_time": 5.0,
"speaker": "agent"
}
],
"reasoning": "El agente no responde adecuadamente a la interacción inicial del cliente, lo que genera confusión.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes para que respondan de manera más activa y fluida desde el inicio de la llamada.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Procede por saliberar llamada, No oímos al cliente, Notice.",
"start_time": 5.0,
"end_time": 10.0,
"speaker": "agent"
}
],
"reasoning": "El agente parece no estar escuchando al cliente, lo que lleva a una falta de comunicación efectiva.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Fomentar la escucha activa y la confirmación de entendimiento durante la llamada.",
"replicable_practice": null
}
],
"fcr_status": "UNKNOWN",
"fcr_failure_drivers": [],
"churn_risk": "UNKNOWN",
"churn_risk_drivers": [],
"agent_classification": "UNKNOWN",
"agent_positive_skills": [],
"agent_improvement_areas": [
{
"skill_code": "NOT_LISTENING",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Procede por saliberar llamada, No oímos al cliente, Notice.",
"start_time": 5.0,
"end_time": 10.0,
"speaker": "agent"
}
],
"description": "El agente no escucha adecuadamente al cliente, lo que afecta la calidad de la interacción.",
"coaching_recommendation": "Implementar sesiones de entrenamiento en escucha activa y técnicas de comunicación.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_RAPPORT",
"skill_type": "improvement_needed",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Hola, Hola, buenas noches, soy Marian por ayudarte.",
"start_time": 0.2,
"end_time": 5.0,
"speaker": "agent"
}
],
"description": "El agente no establece una conexión adecuada con el cliente desde el inicio.",
"coaching_recommendation": "Entrenar en técnicas de construcción de rapport y calidez en la comunicación.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:44:56.265849",
"pipeline_version": null
},
"created_at": "2026-01-19T13:44:56.265868"
}

View File

@@ -0,0 +1,200 @@
{
"call_id": "10122025_0082038C3CFBF918",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF918",
"events": [
{
"event_type": "SILENCE",
"start_time": 260.3,
"end_time": 265.66,
"duration_sec": 5.360000000000014,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 371.53,
"end_time": 377.05,
"duration_sec": 5.520000000000039,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 47,
"agent_turns": 24,
"customer_turns": 23,
"agent_talk_ratio": 0.23903660886319808,
"customer_talk_ratio": 0.6593641618497115,
"silence_ratio": 0.07867052023121397,
"interruption_count": 0,
"avg_turn_duration_sec": 9.92063829787234,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 2,
"interruption_count": 0,
"audio_duration_sec": 519.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:44:58.280185"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Silencio prolongado durante la llamada",
"start_time": 260.3,
"end_time": 265.7,
"speaker": "agent"
}
],
"reasoning": "El silencio prolongado genera frustración en el cliente y afecta la experiencia.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes para mantener la comunicación activa durante la búsqueda de información.",
"replicable_practice": null
},
{
"driver_code": "BILLING_NOT_CLARIFIED",
"confidence": 0.8,
"evidence_spans": [
{
"text": "no sé el por qué no se la han cobrado por el banco",
"start_time": 5.7,
"end_time": 10.0,
"speaker": "customer"
}
],
"reasoning": "El agente no proporciona una explicación clara sobre la situación de la factura.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Asegurarse de que los agentes tengan acceso a información clara sobre facturación y puedan explicarla adecuadamente.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "BILLING_REVIEW_PENDING",
"confidence": 0.9,
"evidence_spans": [
{
"text": "no me muestra aquí que se haya domiciliado por nuestra parte",
"start_time": 183.1,
"end_time": 187.0,
"speaker": "agent"
}
],
"reasoning": "El problema de la domiciliación no se resuelve en esta llamada, lo que puede llevar a una futura llamada.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Permitir que el agente revise y confirme la domiciliación antes de finalizar la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.78,
"evidence_spans": [
{
"text": "no sé el por qué pasa lo que te estoy diciendo",
"start_time": 10.0,
"end_time": 15.0,
"speaker": "customer"
}
],
"reasoning": "El cliente expresa frustración por la falta de claridad en la situación de su factura.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una solución clara y seguimiento para resolver la situación de la factura.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "¿Me puede facilitar la dirección del punto de suministro, por favor?",
"start_time": 29.0,
"end_time": 32.0,
"speaker": "agent"
}
],
"description": "El agente escucha activamente y solicita información relevante.",
"coaching_recommendation": null,
"replicable_practice": "Hacer preguntas abiertas para obtener más información del cliente.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "no me muestra aquí que se haya domiciliado por nuestra parte",
"start_time": 183.1,
"end_time": 187.0,
"speaker": "agent"
}
],
"description": "El agente no resuelve el problema de la domiciliación de la factura.",
"coaching_recommendation": "Capacitar a los agentes en la resolución de problemas de facturación y domiciliación.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "no sé el por qué pasa lo que te estoy diciendo",
"start_time": 10.0,
"end_time": 15.0,
"speaker": "customer"
}
],
"description": "El agente no muestra empatía ante la frustración del cliente.",
"coaching_recommendation": "Entrenar en el uso de frases empáticas para conectar mejor con el cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:45:22.383969",
"pipeline_version": null
},
"created_at": "2026-01-19T13:45:22.383993"
}

View File

@@ -0,0 +1,86 @@
{
"call_id": "10122025_0082038C3CFBF955",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF955",
"events": [],
"turn_metrics": {
"total_turns": 5,
"agent_turns": 3,
"customer_turns": 2,
"agent_talk_ratio": 0.7558823529411764,
"customer_talk_ratio": 0.09411764705882344,
"silence_ratio": 0.12862745098039216,
"interruption_count": 0,
"avg_turn_duration_sec": 8.669999999999998,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 51.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:45:15.590704"
},
"outcome": "UNKNOWN",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "NOT_LISTENING",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Mira. Hace un par de horas he dado de alta la luz...",
"start_time": 16.0,
"end_time": 20.0,
"speaker": "customer"
}
],
"reasoning": "El agente no parece captar la información importante que el cliente está proporcionando.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en escucha activa para asegurar que entienden completamente la situación del cliente.",
"replicable_practice": null
},
{
"driver_code": "LONG_SILENCE",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Sí, es cierto, escuchando bien, solo que.",
"start_time": 46.0,
"end_time": 48.0,
"speaker": "agent"
}
],
"reasoning": "Se percibe un silencio prolongado que puede generar incomodidad en el cliente.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Instruir a los agentes a mantener una comunicación constante durante la llamada.",
"replicable_practice": null
}
],
"fcr_status": "UNKNOWN",
"fcr_failure_drivers": [],
"churn_risk": "UNKNOWN",
"churn_risk_drivers": [],
"agent_classification": "UNKNOWN",
"agent_positive_skills": [],
"agent_improvement_areas": [],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:45:24.712229",
"pipeline_version": null
},
"created_at": "2026-01-19T13:45:24.712251"
}

View File

@@ -0,0 +1,195 @@
{
"call_id": "10122025_0082038C3CFBF981",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF981",
"events": [],
"turn_metrics": {
"total_turns": 19,
"agent_turns": 10,
"customer_turns": 9,
"agent_talk_ratio": 0.5256000000000001,
"customer_talk_ratio": 0.25934999999999986,
"silence_ratio": 0.17933333333333343,
"interruption_count": 0,
"avg_turn_duration_sec": 4.957578947368421,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 120.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:45:24.397841"
},
"outcome": "OUTAGE_ESCALATED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "OUTAGE_NOT_EXPLAINED",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Pero sí ha habido situaciones de otras partes en particular.",
"start_time": 47.3,
"end_time": 50.0,
"speaker": "agent"
}
],
"reasoning": "El agente no proporciona información clara sobre la situación de la avería ni el tiempo estimado de resolución.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar información detallada sobre la avería y el tiempo estimado de resolución.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.8,
"evidence_spans": [
{
"text": "¿Tienes una deficiencia en el servicio tú o todo el sector?",
"start_time": 27.4,
"end_time": 30.0,
"speaker": "agent"
}
],
"reasoning": "El agente no escucha adecuadamente la situación del cliente, lo que genera confusión.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en técnicas de escucha activa para entender mejor las necesidades del cliente.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "OUTAGE_PENDING",
"confidence": 0.9,
"evidence_spans": [
{
"text": "si gusta, yo le puedo dar el número a la distribuidora para que usted se comunique",
"start_time": 47.3,
"end_time": 50.0,
"speaker": "agent"
}
],
"reasoning": "La avería no se resuelve en esta llamada, el cliente debe llamar a otro número.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Permitir que el agente abra la incidencia directamente o transfiera la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "REPEATED_OUTAGES",
"confidence": 0.82,
"evidence_spans": [
{
"text": "ha saltado la luz y cuando he levantado el plomillo no va la luz.",
"start_time": 32.2,
"end_time": 35.0,
"speaker": "customer"
}
],
"reasoning": "El cliente menciona un problema recurrente con el suministro eléctrico.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Investigar la causa de los cortes recurrentes y ofrecer una solución proactiva.",
"replicable_practice": null
},
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.78,
"evidence_spans": [
{
"text": "Pero yo no estoy con vosotros, pero como el punto de suministro es vuestro.",
"start_time": 43.6,
"end_time": 47.0,
"speaker": "customer"
}
],
"reasoning": "El cliente muestra frustración al no recibir ayuda directa para su problema.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer seguimiento proactivo y posible compensación por la frustración causada.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "El número es el siguiente. Es 990. 850. 850. 840.",
"start_time": 85.1,
"end_time": 88.0,
"speaker": "agent"
}
],
"description": "El agente comunica claramente el número de contacto de la distribuidora.",
"coaching_recommendation": null,
"replicable_practice": "Dictar información importante de forma clara y pausada.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_OUTAGE_HANDLING",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Dame un segundo. Lo validamos solamente nu.",
"start_time": 18.8,
"end_time": 21.0,
"speaker": "agent"
}
],
"description": "El agente no gestiona adecuadamente la avería, lo que lleva a la escalación.",
"coaching_recommendation": "Capacitar en el manejo de averías y en la comunicación de soluciones efectivas.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Por eso pregunto, porque todavía no me sale, digamos que una novedad para ese sector.",
"start_time": 47.3,
"end_time": 50.0,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía ante la situación del cliente sin luz.",
"coaching_recommendation": "Practicar frases de empatía para conectar mejor con el cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:45:52.997827",
"pipeline_version": null
},
"created_at": "2026-01-19T13:45:52.997853"
}

View File

@@ -0,0 +1,243 @@
{
"call_id": "10122025_0082038C3CFBF99B",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF99B",
"events": [
{
"event_type": "HOLD_START",
"start_time": 112.17,
"end_time": null,
"duration_sec": null,
"metadata": {
"trigger_text": "Claro, momento, por supuesto. Permítame un momento. Bueno, por contestar la tarifa libre para esta f"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 54,
"agent_turns": 27,
"customer_turns": 27,
"agent_talk_ratio": 0.547131421744325,
"customer_talk_ratio": 0.3997861409796899,
"silence_ratio": 0.040442054958183773,
"interruption_count": 0,
"avg_turn_duration_sec": 15.520176470588245,
"source": "observed"
},
"hold_count": 1,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 837.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:45:26.722260"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [
{
"driver_code": "NO_INTEREST_IN_UPGRADE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Yo soy electricista, entonces lo que quiero saber es que eso sigue el contrato activo con la tarifa y todo eso",
"start_time": 15.0,
"end_time": 20.0,
"speaker": "customer"
}
],
"reasoning": "El cliente no está interesado en servicios adicionales y solo busca confirmar su tarifa actual.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer información clara sobre la tarifa actual y beneficios, sin presionar para cambios.",
"replicable_practice": null
},
{
"driver_code": "DISTRUST_OF_OFFERS",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Pero que todo sigue lo mismo, es decir, la tarifa libre que yo ahora he contratado.",
"start_time": 84.7,
"end_time": 90.0,
"speaker": "customer"
}
],
"reasoning": "El cliente muestra desconfianza en la información proporcionada por el agente.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Asegurarse de que el cliente entienda claramente los cambios y beneficios de la tarifa.",
"replicable_practice": null
}
],
"poor_cx_drivers": [
{
"driver_code": "LONG_HOLD",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Permítame un momento.",
"start_time": 112.2,
"end_time": 115.0,
"speaker": "agent"
}
],
"reasoning": "El cliente experimenta un tiempo de espera prolongado mientras el agente busca información.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Reducir el tiempo de espera proporcionando información más rápida o mejorando el acceso a datos.",
"replicable_practice": null
},
{
"driver_code": "NOT_LISTENING",
"confidence": 0.7,
"evidence_spans": [
{
"text": "Claro, el mantenimiento ese es que a mí el compañero no me dijo nada.",
"start_time": 84.7,
"end_time": 90.0,
"speaker": "customer"
}
],
"reasoning": "El agente no parece captar la preocupación del cliente sobre la falta de información previa.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en escucha activa para abordar mejor las preocupaciones del cliente.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Entonces iría de la siguiente manera.",
"start_time": 254.8,
"end_time": 257.0,
"speaker": "agent"
}
],
"reasoning": "El cliente no tiene claridad sobre los pasos a seguir para entender su factura.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar un resumen claro de los próximos pasos al final de la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "RATE_DISSATISFACTION",
"confidence": 0.82,
"evidence_spans": [
{
"text": "Eso de protección luz, yo soy electricista.",
"start_time": 15.0,
"end_time": 20.0,
"speaker": "customer"
}
],
"reasoning": "El cliente parece insatisfecho con los servicios adicionales que no considera útiles.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Revisar la oferta de servicios adicionales y ajustarlos a las necesidades del cliente.",
"replicable_practice": null
},
{
"driver_code": "COMPARING_RATES",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Yo a mirar el contrato digo esto para qué quiero yo esto.",
"start_time": 84.7,
"end_time": 90.0,
"speaker": "customer"
}
],
"reasoning": "El cliente está evaluando su contrato y podría estar considerando otras opciones.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una revisión de tarifas competitivas y beneficios adicionales.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_TECHNICAL_EXPLANATION",
"skill_type": "positive",
"confidence": 0.78,
"evidence_spans": [
{
"text": "En este caso se multiplican por el precio del kilovatio en días.",
"start_time": 218.2,
"end_time": 222.0,
"speaker": "agent"
}
],
"description": "El agente explica claramente cómo se calcula el costo de la potencia.",
"coaching_recommendation": null,
"replicable_practice": "Utilizar ejemplos claros y sencillos para explicar cálculos técnicos.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "LACK_OF_RAPPORT",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Yo no me fío mucho de.",
"start_time": 84.7,
"end_time": 90.0,
"speaker": "customer"
}
],
"description": "El agente no establece una buena relación con el cliente, quien expresa desconfianza.",
"coaching_recommendation": "Entrenar en habilidades de construcción de rapport y empatía.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "CONFUSING_EXPLANATION",
"skill_type": "improvement_needed",
"confidence": 0.75,
"evidence_spans": [
{
"text": "O sea que el cómputo lo va en 30 días.",
"start_time": 207.1,
"end_time": 210.0,
"speaker": "customer"
}
],
"description": "El cliente se muestra confundido sobre los cálculos de su factura.",
"coaching_recommendation": "Simplificar las explicaciones y confirmar la comprensión del cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:46:00.875606",
"pipeline_version": null
},
"created_at": "2026-01-19T13:46:00.875629"
}

View File

@@ -0,0 +1,49 @@
{
"call_id": "10122025_0082038C3CFBF9A4",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBF9A4",
"events": [],
"turn_metrics": {
"total_turns": 0,
"agent_turns": 0,
"customer_turns": 0,
"agent_talk_ratio": 0.0,
"customer_talk_ratio": 0.0,
"silence_ratio": 1.0,
"interruption_count": 0,
"avg_turn_duration_sec": 0.0,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 3.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:45:55.009437"
},
"outcome": "UNKNOWN",
"lost_sales_drivers": [],
"poor_cx_drivers": [],
"fcr_status": "UNKNOWN",
"fcr_failure_drivers": [],
"churn_risk": "UNKNOWN",
"churn_risk_drivers": [],
"agent_classification": "UNKNOWN",
"agent_positive_skills": [],
"agent_improvement_areas": [],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:45:57.886773",
"pipeline_version": null
},
"created_at": "2026-01-19T13:45:57.886800"
}

View File

@@ -0,0 +1,273 @@
{
"call_id": "10122025_0082038C3CFBFA33",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBFA33",
"events": [
{
"event_type": "SILENCE",
"start_time": 491.43,
"end_time": 501.11,
"duration_sec": 9.680000000000007,
"metadata": {
"before_speaker": "A",
"after_speaker": "B"
},
"source": "observed"
},
{
"event_type": "SILENCE",
"start_time": 503.91,
"end_time": 527.76,
"duration_sec": 23.849999999999966,
"metadata": {
"before_speaker": "B",
"after_speaker": "A"
},
"source": "observed"
}
],
"turn_metrics": {
"total_turns": 66,
"agent_turns": 33,
"customer_turns": 33,
"agent_talk_ratio": 0.5487152034261245,
"customer_talk_ratio": 0.339786937901499,
"silence_ratio": 0.09331798715203427,
"interruption_count": 0,
"avg_turn_duration_sec": 12.952203125000004,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 2,
"interruption_count": 0,
"audio_duration_sec": 934.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:45:59.903186"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [
{
"driver_code": "PRICE_TOO_HIGH",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Era porque en la última factura veo que me han subido el precio del consumo de 0,12 que yo estaba pagando a 0. 15. 54",
"start_time": 15.9,
"end_time": 39.4,
"speaker": "customer"
}
],
"reasoning": "El cliente considera que el aumento de precio es excesivo y no fue informado.",
"proposed_label": null,
"source": "inferred",
"origin": "COMPANY",
"corrective_action": "Implementar un sistema de notificación proactiva para informar a los clientes sobre cambios en tarifas.",
"replicable_practice": null
},
{
"driver_code": "COMPETITOR_PREFERENCE",
"confidence": 0.8,
"evidence_spans": [
{
"text": "pues ya llamaré a otro.",
"start_time": 119.5,
"end_time": 127.5,
"speaker": "customer"
}
],
"reasoning": "El cliente menciona que considerará otras compañías si no se le ofrece una tarifa más baja.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer comparativas de tarifas y beneficios para retener al cliente.",
"replicable_practice": null
},
{
"driver_code": "NO_RETENTION_ATTEMPT",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Si yo te logro conseguir un descuento, ¿Tú te quedarías con Endes el día de hoy?",
"start_time": 127.5,
"end_time": 133.4,
"speaker": "agent"
}
],
"reasoning": "El agente no intenta retener al cliente de manera proactiva antes de que este considere irse.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en técnicas de retención y negociación.",
"replicable_practice": null
}
],
"poor_cx_drivers": [
{
"driver_code": "LONG_SILENCE",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Silencio prolongado durante la llamada.",
"start_time": 491.4,
"end_time": 503.9,
"speaker": "unknown"
}
],
"reasoning": "Los silencios prolongados generan frustración en el cliente y afectan la experiencia.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Capacitar a los agentes para mantener la comunicación activa durante la llamada.",
"replicable_practice": null
},
{
"driver_code": "LOW_EMPATHY",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Ya está claro, María, A mí tampoco me gustan esas cosas.",
"start_time": 210.1,
"end_time": 221.5,
"speaker": "agent"
}
],
"reasoning": "El agente no muestra empatía hacia la frustración del cliente por el aumento de tarifas.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en habilidades de empatía y manejo de quejas.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Si yo te logro conseguir un descuento, ¿Tú te quedarías con Endes el día de hoy?",
"start_time": 127.5,
"end_time": 133.4,
"speaker": "agent"
}
],
"reasoning": "El cliente no tiene claro qué pasos seguir para obtener una tarifa más baja.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar un resumen claro de los pasos a seguir al final de la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "HIGH_BILL_COMPLAINT",
"confidence": 0.85,
"evidence_spans": [
{
"text": "me han subido el precio del consumo de 0,12 que yo estaba pagando a 0. 15. 54",
"start_time": 15.9,
"end_time": 39.4,
"speaker": "customer"
}
],
"reasoning": "El cliente se queja de un aumento significativo en su factura.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Revisar la estructura de tarifas y ofrecer alternativas más competitivas.",
"replicable_practice": null
},
{
"driver_code": "THREAT_TO_LEAVE",
"confidence": 0.8,
"evidence_spans": [
{
"text": "pues ya llamaré a otro.",
"start_time": 119.5,
"end_time": 127.5,
"speaker": "customer"
}
],
"reasoning": "El cliente amenaza con cambiar de compañía si no se le ofrece una mejor tarifa.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Implementar un programa de fidelización para retener a clientes en riesgo.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "¿Eres tú, María? ¿Remedios?",
"start_time": 39.4,
"end_time": 39.9,
"speaker": "agent"
}
],
"description": "El agente demuestra escucha activa al confirmar la identidad del cliente.",
"coaching_recommendation": null,
"replicable_practice": "Utilizar el nombre del cliente para personalizar la conversación.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "NOT_LISTENING",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "Ya, pero me tienen que llamar y decirme mira que ahora vamos a cambiar el precio a esto.",
"start_time": 196.0,
"end_time": 206.0,
"speaker": "customer"
}
],
"description": "El agente no escucha las preocupaciones del cliente sobre la falta de comunicación.",
"coaching_recommendation": "Entrenar en técnicas de escucha activa y validación de preocupaciones del cliente.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Lo que puedo hacer es hacer un cambio de tarifa, ¿Vale?",
"start_time": 99.9,
"end_time": 119.5,
"speaker": "agent"
}
],
"description": "El agente no ofrece una solución efectiva al problema del cliente.",
"coaching_recommendation": "Capacitar en la identificación de soluciones adecuadas y efectivas para el cliente.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:47:13.110851",
"pipeline_version": null
},
"created_at": "2026-01-19T13:47:13.110875"
}

View File

@@ -0,0 +1,158 @@
{
"call_id": "10122025_0082038C3CFBFAC5",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBFAC5",
"events": [],
"turn_metrics": {
"total_turns": 6,
"agent_turns": 3,
"customer_turns": 3,
"agent_talk_ratio": 0.15500000000000005,
"customer_talk_ratio": 0.6896153846153846,
"silence_ratio": 0.13961538461538453,
"interruption_count": 0,
"avg_turn_duration_sec": 14.64,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 104.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:46:02.884934"
},
"outcome": "UNKNOWN",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "NOT_LISTENING",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Sí es que de verdad pues están ahí, pero yo sí te estoy escuchando.",
"start_time": 31.7,
"end_time": 35.0,
"speaker": "agent"
}
],
"reasoning": "El agente parece no estar completamente atento a la situación del cliente, lo que puede generar frustración.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en técnicas de escucha activa para asegurar que entienden completamente las preocupaciones del cliente.",
"replicable_practice": null
},
{
"driver_code": "MULTI_TRANSFER",
"confidence": 0.7,
"evidence_spans": [
{
"text": "me ha dirigido a la distribuidora, me ha dicho que volviera",
"start_time": 13.0,
"end_time": 17.0,
"speaker": "customer"
}
],
"reasoning": "El cliente ha sido transferido a otro departamento, lo que puede causar confusión y frustración.",
"proposed_label": null,
"source": "inferred",
"origin": "PROCESS",
"corrective_action": "Implementar un sistema de transferencia más eficiente que minimice la necesidad de múltiples transferencias.",
"replicable_practice": null
}
],
"fcr_status": "FIRST_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.8,
"evidence_spans": [
{
"text": "tiene que llamar a averías",
"start_time": 60.0,
"end_time": 62.0,
"speaker": "agent"
}
],
"reasoning": "El agente no proporciona claridad sobre los próximos pasos que el cliente debe seguir.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Asegurarse de que los agentes expliquen claramente los pasos a seguir después de la llamada.",
"replicable_practice": null
}
],
"churn_risk": "UNKNOWN",
"churn_risk_drivers": [],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "ACTIVE_LISTENING",
"skill_type": "positive",
"confidence": 0.7,
"evidence_spans": [
{
"text": "Entonces, que te habían enviado, o sea, dirigido a la distribuidora.",
"start_time": 31.7,
"end_time": 35.0,
"speaker": "agent"
}
],
"description": "El agente demuestra cierta escucha activa al repetir lo que el cliente ha dicho.",
"coaching_recommendation": null,
"replicable_practice": "Repetir o parafrasear lo que el cliente dice para mostrar que se está escuchando.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "NOT_LISTENING",
"skill_type": "improvement_needed",
"confidence": 0.75,
"evidence_spans": [
{
"text": "Sí es que de verdad pues están ahí, pero yo sí te estoy escuchando.",
"start_time": 31.7,
"end_time": 35.0,
"speaker": "agent"
}
],
"description": "El agente no parece estar completamente atento a las preocupaciones del cliente.",
"coaching_recommendation": "Entrenar en técnicas de escucha activa y en la importancia de validar las preocupaciones del cliente.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "CONFUSING_COMMUNICATION",
"skill_type": "improvement_needed",
"confidence": 0.7,
"evidence_spans": [
{
"text": "me ha dirigido a la distribuidora, me ha dicho que volviera",
"start_time": 13.0,
"end_time": 17.0,
"speaker": "customer"
}
],
"description": "El agente no proporciona información clara sobre el proceso de transferencia.",
"coaching_recommendation": "Mejorar la claridad en la comunicación sobre los procesos y transferencias.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:46:25.280974",
"pipeline_version": null
},
"created_at": "2026-01-19T13:46:25.281001"
}

View File

@@ -0,0 +1,195 @@
{
"call_id": "10122025_0082038C3CFBFB08",
"batch_id": "test-07",
"status": "success",
"failure_reason": null,
"failure_message": null,
"observed": {
"call_id": "10122025_0082038C3CFBFB08",
"events": [],
"turn_metrics": {
"total_turns": 13,
"agent_turns": 7,
"customer_turns": 6,
"agent_talk_ratio": 0.5208333333333335,
"customer_talk_ratio": 0.3325925925925926,
"silence_ratio": 0.09990740740740728,
"interruption_count": 0,
"avg_turn_duration_sec": 7.640833333333336,
"source": "observed"
},
"hold_count": 0,
"total_hold_duration_sec": 0.0,
"transfer_count": 0,
"silence_count": 0,
"interruption_count": 0,
"audio_duration_sec": 108.0,
"language": "es",
"speaker_count": 2,
"created_at": "2026-01-19T13:46:27.294693"
},
"outcome": "INQUIRY_UNRESOLVED",
"lost_sales_drivers": [],
"poor_cx_drivers": [
{
"driver_code": "ISSUE_NOT_RESOLVED",
"confidence": 0.85,
"evidence_spans": [
{
"text": "La solicitud de reenganche ya está puesta desde las siete y media.",
"start_time": 33.5,
"end_time": 37.0,
"speaker": "agent"
}
],
"reasoning": "El problema del cliente no se resuelve durante la llamada, ya que no se reestablece el servicio.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Asegurarse de que el agente tenga la capacidad de verificar el estado de las solicitudes de reenganche.",
"replicable_practice": null
},
{
"driver_code": "LOW_EMPATHY",
"confidence": 0.8,
"evidence_spans": [
{
"text": "No sé qué habrá pasado que ellos te habrán dicho que no.",
"start_time": 48.2,
"end_time": 51.0,
"speaker": "agent"
}
],
"reasoning": "El agente no muestra empatía hacia la frustración del cliente por la falta de luz.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Entrenar a los agentes en habilidades de empatía y manejo de situaciones difíciles.",
"replicable_practice": null
}
],
"fcr_status": "REPEAT_CALL",
"fcr_failure_drivers": [
{
"driver_code": "UNCLEAR_NEXT_STEPS",
"confidence": 0.9,
"evidence_spans": [
{
"text": "Te lo han dicho por eso, no sé.",
"start_time": 91.1,
"end_time": 93.0,
"speaker": "agent"
}
],
"reasoning": "El cliente no tiene claro qué pasos seguir después de la llamada.",
"proposed_label": null,
"source": "inferred",
"origin": "AGENT",
"corrective_action": "Proporcionar un resumen claro de los próximos pasos al final de la llamada.",
"replicable_practice": null
}
],
"churn_risk": "AT_RISK",
"churn_risk_drivers": [
{
"driver_code": "REPEATED_PROBLEMS",
"confidence": 0.82,
"evidence_spans": [
{
"text": "Me cortaron la luz con una factura impagada y la pagué.",
"start_time": 6.2,
"end_time": 10.0,
"speaker": "customer"
}
],
"reasoning": "El cliente ha tenido problemas recurrentes con el servicio de luz.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Realizar un seguimiento proactivo con el cliente para resolver problemas recurrentes.",
"replicable_practice": null
},
{
"driver_code": "HIGH_FRUSTRATION",
"confidence": 0.78,
"evidence_spans": [
{
"text": "Eso le dije yo, porque llamé y el chico me dijo que mandaba la solicitud.",
"start_time": 62.0,
"end_time": 66.0,
"speaker": "customer"
}
],
"reasoning": "El cliente muestra frustración por la falta de resolución y la repetición del problema.",
"proposed_label": null,
"source": "inferred",
"origin": "CUSTOMER",
"corrective_action": "Ofrecer una compensación o solución alternativa para mitigar la frustración del cliente.",
"replicable_practice": null
}
],
"agent_classification": "NEEDS_IMPROVEMENT",
"agent_positive_skills": [
{
"skill_code": "CLEAR_COMMUNICATION",
"skill_type": "positive",
"confidence": 0.75,
"evidence_spans": [
{
"text": "OK, hay una solicitud de reenganche.",
"start_time": 33.5,
"end_time": 34.5,
"speaker": "agent"
}
],
"description": "El agente comunica claramente que hay una solicitud de reenganche.",
"coaching_recommendation": null,
"replicable_practice": "Mantener la claridad en la comunicación sobre el estado de las solicitudes.",
"source": "inferred"
}
],
"agent_improvement_areas": [
{
"skill_code": "POOR_PROBLEM_RESOLUTION",
"skill_type": "improvement_needed",
"confidence": 0.85,
"evidence_spans": [
{
"text": "No sé qué habrá pasado que ellos te habrán dicho que no.",
"start_time": 48.2,
"end_time": 51.0,
"speaker": "agent"
}
],
"description": "El agente no resuelve el problema del cliente y no ofrece alternativas.",
"coaching_recommendation": "Entrenar a los agentes en la resolución efectiva de problemas y en la verificación de estados de solicitudes.",
"replicable_practice": null,
"source": "inferred"
},
{
"skill_code": "LACK_OF_EMPATHY",
"skill_type": "improvement_needed",
"confidence": 0.8,
"evidence_spans": [
{
"text": "Vale. ¿Y se envió lo que es la solicitud de reenganche? Sí señora, eso se hizo las siete y media.",
"start_time": 67.9,
"end_time": 71.0,
"speaker": "agent"
}
],
"description": "El agente no muestra empatía hacia la situación del cliente.",
"coaching_recommendation": "Incluir entrenamiento en habilidades de empatía y manejo de quejas.",
"replicable_practice": null,
"source": "inferred"
}
],
"traceability": {
"schema_version": "1.0.0",
"prompt_version": "v2.0",
"model_id": "gpt-4o-mini-2024-07-18",
"created_at": "2026-01-19T13:46:57.956394",
"pipeline_version": null
},
"created_at": "2026-01-19T13:46:57.956418"
}