From 7ddb8a2ee5483c28d66a9b4d401acae378e28f78 Mon Sep 17 00:00:00 2001 From: sujucu70 Date: Mon, 19 Jan 2026 16:45:57 +0100 Subject: [PATCH] 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 --- .gitignore | 4 + .streamlit/config.toml | 4 +- dashboard/app.py | 13 +- .../test-07/10122025_0082038C3CFBF392.json | 195 +++ .../test-07/10122025_0082038C3CFBF3A6.json | 177 +++ .../test-07/10122025_0082038C3CFBF3B7.json | 171 +++ .../test-07/10122025_0082038C3CFBF3D2.json | 49 + .../test-07/10122025_0082038C3CFBF3E5.json | 158 +++ .../test-07/10122025_0082038C3CFBF3FE.json | 176 +++ .../test-07/10122025_0082038C3CFBF54F.json | 269 ++++ .../test-07/10122025_0082038C3CFBF5B8.json | 120 ++ .../test-07/10122025_0082038C3CFBF65B.json | 140 ++ .../test-07/10122025_0082038C3CFBF6C6.json | 334 +++++ .../test-07/10122025_0082038C3CFBF73E.json | 103 ++ .../test-07/10122025_0082038C3CFBF748.json | 231 ++++ .../test-07/10122025_0082038C3CFBF766.json | 247 ++++ .../test-07/10122025_0082038C3CFBF779.json | 313 +++++ .../test-07/10122025_0082038C3CFBF7D0.json | 317 +++++ .../test-07/10122025_0082038C3CFBF80E.json | 229 ++++ .../test-07/10122025_0082038C3CFBF812.json | 233 ++++ .../test-07/10122025_0082038C3CFBF851.json | 195 +++ .../test-07/10122025_0082038C3CFBF852.json | 68 + .../test-07/10122025_0082038C3CFBF860.json | 247 ++++ .../test-07/10122025_0082038C3CFBF900.json | 213 ++++ .../test-07/10122025_0082038C3CFBF911.json | 121 ++ .../test-07/10122025_0082038C3CFBF918.json | 200 +++ .../test-07/10122025_0082038C3CFBF955.json | 86 ++ .../test-07/10122025_0082038C3CFBF981.json | 195 +++ .../test-07/10122025_0082038C3CFBF99B.json | 243 ++++ .../test-07/10122025_0082038C3CFBF9A4.json | 49 + .../test-07/10122025_0082038C3CFBFA33.json | 273 ++++ .../test-07/10122025_0082038C3CFBFAC5.json | 158 +++ .../test-07/10122025_0082038C3CFBFB08.json | 195 +++ .../analyses/10122025_0082038C3CFBF392.json | 195 +++ .../analyses/10122025_0082038C3CFBF3A6.json | 177 +++ .../analyses/10122025_0082038C3CFBF3B7.json | 171 +++ .../analyses/10122025_0082038C3CFBF3D2.json | 49 + .../analyses/10122025_0082038C3CFBF3E5.json | 158 +++ .../analyses/10122025_0082038C3CFBF3FE.json | 176 +++ .../analyses/10122025_0082038C3CFBF54F.json | 269 ++++ .../analyses/10122025_0082038C3CFBF5B8.json | 120 ++ .../analyses/10122025_0082038C3CFBF65B.json | 140 ++ .../analyses/10122025_0082038C3CFBF6C6.json | 334 +++++ .../analyses/10122025_0082038C3CFBF73E.json | 103 ++ .../analyses/10122025_0082038C3CFBF748.json | 231 ++++ .../analyses/10122025_0082038C3CFBF766.json | 247 ++++ .../analyses/10122025_0082038C3CFBF779.json | 313 +++++ .../analyses/10122025_0082038C3CFBF7D0.json | 317 +++++ .../analyses/10122025_0082038C3CFBF80E.json | 229 ++++ .../analyses/10122025_0082038C3CFBF812.json | 233 ++++ .../analyses/10122025_0082038C3CFBF851.json | 195 +++ .../analyses/10122025_0082038C3CFBF852.json | 68 + .../analyses/10122025_0082038C3CFBF860.json | 247 ++++ .../analyses/10122025_0082038C3CFBF900.json | 213 ++++ .../analyses/10122025_0082038C3CFBF911.json | 121 ++ .../analyses/10122025_0082038C3CFBF918.json | 200 +++ .../analyses/10122025_0082038C3CFBF955.json | 86 ++ .../analyses/10122025_0082038C3CFBF981.json | 195 +++ .../analyses/10122025_0082038C3CFBF99B.json | 243 ++++ .../analyses/10122025_0082038C3CFBF9A4.json | 49 + .../analyses/10122025_0082038C3CFBFA33.json | 273 ++++ .../analyses/10122025_0082038C3CFBFAC5.json | 158 +++ .../analyses/10122025_0082038C3CFBFB08.json | 195 +++ data/production/test-07/exports/rca_tree.json | 411 ++++++ data/production/test-07/exports/summary.json | 91 ++ .../features/10122025_0082038C3CFBF392.json | 24 + .../features/10122025_0082038C3CFBF3A6.json | 24 + .../features/10122025_0082038C3CFBF3B7.json | 35 + .../features/10122025_0082038C3CFBF3D2.json | 24 + .../features/10122025_0082038C3CFBF3E5.json | 24 + .../features/10122025_0082038C3CFBF3FE.json | 24 + .../features/10122025_0082038C3CFBF54F.json | 80 ++ .../features/10122025_0082038C3CFBF5B8.json | 24 + .../features/10122025_0082038C3CFBF65B.json | 24 + .../features/10122025_0082038C3CFBF6C6.json | 145 +++ .../features/10122025_0082038C3CFBF73E.json | 24 + .../features/10122025_0082038C3CFBF748.json | 24 + .../features/10122025_0082038C3CFBF766.json | 58 + .../features/10122025_0082038C3CFBF779.json | 69 + .../features/10122025_0082038C3CFBF7D0.json | 91 ++ .../features/10122025_0082038C3CFBF80E.json | 58 + .../features/10122025_0082038C3CFBF812.json | 101 ++ .../features/10122025_0082038C3CFBF851.json | 24 + .../features/10122025_0082038C3CFBF852.json | 24 + .../features/10122025_0082038C3CFBF860.json | 58 + .../features/10122025_0082038C3CFBF900.json | 24 + .../features/10122025_0082038C3CFBF911.json | 24 + .../features/10122025_0082038C3CFBF918.json | 47 + .../features/10122025_0082038C3CFBF955.json | 24 + .../features/10122025_0082038C3CFBF981.json | 24 + .../features/10122025_0082038C3CFBF99B.json | 35 + .../features/10122025_0082038C3CFBF9A4.json | 24 + .../features/10122025_0082038C3CFBFA33.json | 47 + .../features/10122025_0082038C3CFBFAC5.json | 24 + .../features/10122025_0082038C3CFBFB08.json | 24 + data/production/test-07/rca_tree.json | 411 ++++++ .../10122025_0082038C3CFBF392.json | 31 + .../10122025_0082038C3CFBF3A6.json | 301 +++++ .../10122025_0082038C3CFBF3B7.json | 31 + .../10122025_0082038C3CFBF3D2.json | 21 + .../10122025_0082038C3CFBF3E5.json | 166 +++ .../10122025_0082038C3CFBF3FE.json | 265 ++++ .../10122025_0082038C3CFBF54F.json | 463 +++++++ .../10122025_0082038C3CFBF5B8.json | 157 +++ .../10122025_0082038C3CFBF65B.json | 31 + .../10122025_0082038C3CFBF6C6.json | 1129 +++++++++++++++++ .../10122025_0082038C3CFBF73E.json | 31 + .../10122025_0082038C3CFBF748.json | 256 ++++ .../10122025_0082038C3CFBF766.json | 373 ++++++ .../10122025_0082038C3CFBF779.json | 589 +++++++++ .../10122025_0082038C3CFBF7D0.json | 940 ++++++++++++++ .../10122025_0082038C3CFBF80E.json | 481 +++++++ .../10122025_0082038C3CFBF812.json | 499 ++++++++ .../10122025_0082038C3CFBF851.json | 31 + .../10122025_0082038C3CFBF852.json | 31 + .../10122025_0082038C3CFBF860.json | 688 ++++++++++ .../10122025_0082038C3CFBF900.json | 130 ++ .../10122025_0082038C3CFBF911.json | 31 + .../10122025_0082038C3CFBF918.json | 445 +++++++ .../10122025_0082038C3CFBF955.json | 67 + .../10122025_0082038C3CFBF981.json | 193 +++ .../10122025_0082038C3CFBF99B.json | 508 ++++++++ .../10122025_0082038C3CFBF9A4.json | 21 + .../10122025_0082038C3CFBFA33.json | 616 +++++++++ .../10122025_0082038C3CFBFAC5.json | 76 ++ .../10122025_0082038C3CFBFB08.json | 139 ++ docs/DEPLOYMENT.md | 151 +++ render.yaml | 22 + requirements-dashboard.txt | 16 + 129 files changed, 22527 insertions(+), 2 deletions(-) create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF392.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3A6.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3B7.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3D2.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3E5.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3FE.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF54F.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF5B8.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF65B.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF6C6.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF73E.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF748.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF766.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF779.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF7D0.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF80E.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF812.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF851.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF852.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF860.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF900.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF911.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF918.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF955.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF981.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF99B.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBF9A4.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBFA33.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBFAC5.json create mode 100644 data/production/test-07/analyses/test-07/10122025_0082038C3CFBFB08.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF392.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF3A6.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF3B7.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF3D2.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF3E5.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF3FE.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF54F.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF5B8.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF65B.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF6C6.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF73E.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF748.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF766.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF779.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF7D0.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF80E.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF812.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF851.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF852.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF860.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF900.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF911.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF918.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF955.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF981.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF99B.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBF9A4.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBFA33.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBFAC5.json create mode 100644 data/production/test-07/exports/analyses/10122025_0082038C3CFBFB08.json create mode 100644 data/production/test-07/exports/rca_tree.json create mode 100644 data/production/test-07/exports/summary.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF392.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF3A6.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF3B7.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF3D2.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF3E5.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF3FE.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF54F.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF5B8.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF65B.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF6C6.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF73E.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF748.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF766.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF779.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF7D0.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF80E.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF812.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF851.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF852.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF860.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF900.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF911.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF918.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF955.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF981.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF99B.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBF9A4.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBFA33.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBFAC5.json create mode 100644 data/production/test-07/features/10122025_0082038C3CFBFB08.json create mode 100644 data/production/test-07/rca_tree.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF392.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF3A6.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF3B7.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF3D2.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF3E5.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF3FE.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF54F.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF5B8.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF65B.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF6C6.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF73E.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF748.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF766.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF779.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF7D0.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF80E.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF812.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF851.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF852.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF860.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF900.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF911.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF918.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF955.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF981.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF99B.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBF9A4.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBFA33.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBFAC5.json create mode 100644 data/production/test-07/transcripts/10122025_0082038C3CFBFB08.json create mode 100644 render.yaml create mode 100644 requirements-dashboard.txt diff --git a/.gitignore b/.gitignore index 23d5319..3170a36 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,10 @@ data/.checkpoints/ data/examples/*.json !data/**/.gitkeep +# === Production Data (allowed for Render deployment) === +!data/production/ +!data/production/** + # === Python === __pycache__/ *.py[cod] diff --git a/.streamlit/config.toml b/.streamlit/config.toml index 29ca6ce..792af60 100644 --- a/.streamlit/config.toml +++ b/.streamlit/config.toml @@ -9,7 +9,9 @@ font = "sans serif" [server] headless = true -port = 8510 +# port = 8510 # Local only; Render uses $PORT env var +enableCORS = false +enableXsrfProtection = true [browser] gatherUsageStats = false diff --git a/dashboard/app.py b/dashboard/app.py index 70edf47..6009918 100644 --- a/dashboard/app.py +++ b/dashboard/app.py @@ -4,6 +4,7 @@ Rich visualization dashboard for call analysis results. Following Beyond Brand Identity Guidelines v1.0 """ +import os import sys from pathlib import Path from datetime import datetime @@ -82,7 +83,17 @@ def main(): st.markdown("---") # Batch selector - data_dir = Path(__file__).parent.parent / "data" / "output" + # On Render (production), use data/production; locally use data/output + base_path = Path(__file__).parent.parent / "data" + if os.environ.get("RENDER") or (base_path / "production").exists(): + # Check production first (has committed data for cloud) + prod_path = base_path / "production" + if prod_path.exists() and any(prod_path.iterdir()): + data_dir = prod_path + else: + data_dir = base_path / "output" + else: + data_dir = base_path / "output" batches = get_available_batches(data_dir) diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF392.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF392.json new file mode 100644 index 0000000..4862a3d --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF392.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3A6.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3A6.json new file mode 100644 index 0000000..bb7a7c2 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3A6.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3B7.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3B7.json new file mode 100644 index 0000000..4311665 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3B7.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3D2.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3D2.json new file mode 100644 index 0000000..7e02258 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3D2.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3E5.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3E5.json new file mode 100644 index 0000000..a0dfa30 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3E5.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3FE.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3FE.json new file mode 100644 index 0000000..328cecb --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF3FE.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF54F.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF54F.json new file mode 100644 index 0000000..f03ad56 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF54F.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF5B8.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF5B8.json new file mode 100644 index 0000000..31e4a2d --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF5B8.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF65B.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF65B.json new file mode 100644 index 0000000..67016ac --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF65B.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF6C6.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF6C6.json new file mode 100644 index 0000000..a0165b0 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF6C6.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF73E.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF73E.json new file mode 100644 index 0000000..310dc19 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF73E.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF748.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF748.json new file mode 100644 index 0000000..36d4673 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF748.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF766.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF766.json new file mode 100644 index 0000000..ab975e8 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF766.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF779.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF779.json new file mode 100644 index 0000000..c7050e8 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF779.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF7D0.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF7D0.json new file mode 100644 index 0000000..fb4f07e --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF7D0.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF80E.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF80E.json new file mode 100644 index 0000000..9844a20 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF80E.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF812.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF812.json new file mode 100644 index 0000000..985f11a --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF812.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF851.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF851.json new file mode 100644 index 0000000..a2b3c67 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF851.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF852.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF852.json new file mode 100644 index 0000000..0f5dc29 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF852.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF860.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF860.json new file mode 100644 index 0000000..05df14d --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF860.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF900.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF900.json new file mode 100644 index 0000000..da1c397 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF900.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF911.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF911.json new file mode 100644 index 0000000..ae6b46d --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF911.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF918.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF918.json new file mode 100644 index 0000000..7dad976 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF918.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF955.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF955.json new file mode 100644 index 0000000..fedd553 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF955.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF981.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF981.json new file mode 100644 index 0000000..3cd50ab --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF981.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF99B.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF99B.json new file mode 100644 index 0000000..a1fad8f --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF99B.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF9A4.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF9A4.json new file mode 100644 index 0000000..145985b --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBF9A4.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBFA33.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBFA33.json new file mode 100644 index 0000000..672effa --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBFA33.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBFAC5.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBFAC5.json new file mode 100644 index 0000000..0228b56 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBFAC5.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/analyses/test-07/10122025_0082038C3CFBFB08.json b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBFB08.json new file mode 100644 index 0000000..c3241c6 --- /dev/null +++ b/data/production/test-07/analyses/test-07/10122025_0082038C3CFBFB08.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF392.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF392.json new file mode 100644 index 0000000..4862a3d --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF392.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3A6.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3A6.json new file mode 100644 index 0000000..bb7a7c2 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3A6.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3B7.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3B7.json new file mode 100644 index 0000000..4311665 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3B7.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3D2.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3D2.json new file mode 100644 index 0000000..7e02258 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3D2.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3E5.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3E5.json new file mode 100644 index 0000000..a0dfa30 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3E5.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3FE.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3FE.json new file mode 100644 index 0000000..328cecb --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF3FE.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF54F.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF54F.json new file mode 100644 index 0000000..f03ad56 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF54F.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF5B8.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF5B8.json new file mode 100644 index 0000000..31e4a2d --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF5B8.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF65B.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF65B.json new file mode 100644 index 0000000..67016ac --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF65B.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF6C6.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF6C6.json new file mode 100644 index 0000000..a0165b0 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF6C6.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF73E.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF73E.json new file mode 100644 index 0000000..310dc19 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF73E.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF748.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF748.json new file mode 100644 index 0000000..36d4673 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF748.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF766.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF766.json new file mode 100644 index 0000000..ab975e8 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF766.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF779.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF779.json new file mode 100644 index 0000000..c7050e8 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF779.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF7D0.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF7D0.json new file mode 100644 index 0000000..fb4f07e --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF7D0.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF80E.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF80E.json new file mode 100644 index 0000000..9844a20 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF80E.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF812.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF812.json new file mode 100644 index 0000000..985f11a --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF812.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF851.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF851.json new file mode 100644 index 0000000..a2b3c67 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF851.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF852.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF852.json new file mode 100644 index 0000000..0f5dc29 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF852.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF860.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF860.json new file mode 100644 index 0000000..05df14d --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF860.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF900.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF900.json new file mode 100644 index 0000000..da1c397 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF900.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF911.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF911.json new file mode 100644 index 0000000..ae6b46d --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF911.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF918.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF918.json new file mode 100644 index 0000000..7dad976 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF918.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF955.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF955.json new file mode 100644 index 0000000..fedd553 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF955.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF981.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF981.json new file mode 100644 index 0000000..3cd50ab --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF981.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF99B.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF99B.json new file mode 100644 index 0000000..a1fad8f --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF99B.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBF9A4.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF9A4.json new file mode 100644 index 0000000..145985b --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBF9A4.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBFA33.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBFA33.json new file mode 100644 index 0000000..672effa --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBFA33.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBFAC5.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBFAC5.json new file mode 100644 index 0000000..0228b56 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBFAC5.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/analyses/10122025_0082038C3CFBFB08.json b/data/production/test-07/exports/analyses/10122025_0082038C3CFBFB08.json new file mode 100644 index 0000000..c3241c6 --- /dev/null +++ b/data/production/test-07/exports/analyses/10122025_0082038C3CFBFB08.json @@ -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" +} \ No newline at end of file diff --git a/data/production/test-07/exports/rca_tree.json b/data/production/test-07/exports/rca_tree.json new file mode 100644 index 0000000..c75c980 --- /dev/null +++ b/data/production/test-07/exports/rca_tree.json @@ -0,0 +1,411 @@ +{ + "batch_id": "test-07", + "created_at": "2026-01-19T13:47:13.154828", + "summary": { + "total_calls": 30, + "calls_with_lost_sales": 7, + "calls_with_poor_cx": 27, + "calls_with_both": 6, + "lost_sales_rate": 0.23333333333333334, + "poor_cx_rate": 0.9, + "calls_first_call": 23, + "calls_repeat_call": 2, + "repeat_call_rate": 0.08, + "calls_at_risk": 19, + "churn_risk_rate": 0.8636363636363636, + "agents_good_performer": 2, + "agents_needs_improvement": 20 + }, + "top_drivers": { + "lost_sales": [ + "PRICE_TOO_HIGH", + "COMPETITOR_PREFERENCE", + "NO_RETENTION_ATTEMPT", + "NO_INTEREST_IN_UPGRADE", + "DISTRUST_OF_OFFERS" + ], + "poor_cx": [ + "BILLING_NOT_CLARIFIED", + "NOT_LISTENING", + "LOW_EMPATHY", + "ISSUE_NOT_RESOLVED", + "LONG_SILENCE" + ], + "fcr_failure": [], + "churn_risk": [] + }, + "lost_sales_tree": [ + { + "driver_code": "PRICE_TOO_HIGH", + "category": "lost_sales", + "frequency": { + "total_occurrences": 4, + "calls_affected": 4, + "occurrence_rate": 0.13333333333333333, + "call_rate": 0.13333333333333333 + }, + "severity": { + "severity_score": 77.5, + "impact_level": "critical" + }, + "priority_rank": 1, + "children": [], + "sample_evidence": [ + "tengo un pago bastante alto en los kilovatios, he pagado 0.15 por kilovatio.", + "Es que me están estafando.", + "A partir de mil kilovatios de potencia se generó un cobro de 50 a 60 euros aproximadamente" + ] + }, + { + "driver_code": "COMPETITOR_PREFERENCE", + "category": "lost_sales", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 75.5, + "impact_level": "critical" + }, + "priority_rank": 2, + "children": [], + "sample_evidence": [ + "porque es que estoy con otra compañía", + "Yo tenía la tarifa One en otro domicilio de la calle San Juan.", + "pues ya llamaré a otro." + ] + }, + { + "driver_code": "NO_RETENTION_ATTEMPT", + "category": "lost_sales", + "frequency": { + "total_occurrences": 2, + "calls_affected": 2, + "occurrence_rate": 0.06666666666666667, + "call_rate": 0.06666666666666667 + }, + "severity": { + "severity_score": 69.25, + "impact_level": "high" + }, + "priority_rank": 3, + "children": [], + "sample_evidence": [ + "No sé si hay algo más en lo que yo te pueda ayudar o asesorar el día de hoy.", + "Si yo te logro conseguir un descuento, ¿Tú te quedarías con Endes el día de hoy?" + ] + }, + { + "driver_code": "NO_INTEREST_IN_UPGRADE", + "category": "lost_sales", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 64.0, + "impact_level": "high" + }, + "priority_rank": 4, + "children": [], + "sample_evidence": [ + "De momento aún no, pero lo tendré en cuenta.", + "Pero yo no he pasado de mil, ¿No? ¿Que si no he pasado de mil tiene que ser a cero?", + "Yo soy electricista, entonces lo que quiero saber es que eso sigue el contrato activo con la tarifa y todo eso" + ] + }, + { + "driver_code": "DISTRUST_OF_OFFERS", + "category": "lost_sales", + "frequency": { + "total_occurrences": 2, + "calls_affected": 2, + "occurrence_rate": 0.06666666666666667, + "call_rate": 0.06666666666666667 + }, + "severity": { + "severity_score": 57.25, + "impact_level": "high" + }, + "priority_rank": 5, + "children": [], + "sample_evidence": [ + "A mí me han dicho que no, que accesa cero, no, que no hay que pagar nada, me han dicho a mí.", + "Pero que todo sigue lo mismo, es decir, la tarifa libre que yo ahora he contratado." + ] + }, + { + "driver_code": "CONTRACT_PERMANENCE", + "category": "lost_sales", + "frequency": { + "total_occurrences": 1, + "calls_affected": 1, + "occurrence_rate": 0.03333333333333333, + "call_rate": 0.03333333333333333 + }, + "severity": { + "severity_score": 56.99999999999999, + "impact_level": "high" + }, + "priority_rank": 6, + "children": [], + "sample_evidence": [ + "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." + ] + }, + { + "driver_code": "NO_SAVINGS_CALCULATION", + "category": "lost_sales", + "frequency": { + "total_occurrences": 1, + "calls_affected": 1, + "occurrence_rate": 0.03333333333333333, + "call_rate": 0.03333333333333333 + }, + "severity": { + "severity_score": 51.49999999999999, + "impact_level": "high" + }, + "priority_rank": 7, + "children": [], + "sample_evidence": [ + "¿O sea, que el P cuánto es? ¿Y el p?" + ] + } + ], + "poor_cx_tree": [ + { + "driver_code": "BILLING_NOT_CLARIFIED", + "category": "poor_cx", + "frequency": { + "total_occurrences": 9, + "calls_affected": 9, + "occurrence_rate": 0.3, + "call_rate": 0.3 + }, + "severity": { + "severity_score": 82.5, + "impact_level": "critical" + }, + "priority_rank": 1, + "children": [], + "sample_evidence": [ + "Claro, en esta ocasión, cuando el día que lo vayas a renovar te lo podemos dejar al 0,13.", + "apenas está ingresando el dinero de las facturas", + "La factura no presenta movimiento de pago, es decir, no se realizó pago alguno en ella." + ] + }, + { + "driver_code": "NOT_LISTENING", + "category": "poor_cx", + "frequency": { + "total_occurrences": 13, + "calls_affected": 13, + "occurrence_rate": 0.43333333333333335, + "call_rate": 0.43333333333333335 + }, + "severity": { + "severity_score": 81.3076923076923, + "impact_level": "critical" + }, + "priority_rank": 2, + "children": [], + "sample_evidence": [ + "¿Que el contador de luz o de gas?", + "Pero entonces él te pudo contacto.", + "¿Hola Miriam me escuchas?" + ] + }, + { + "driver_code": "LOW_EMPATHY", + "category": "poor_cx", + "frequency": { + "total_occurrences": 5, + "calls_affected": 5, + "occurrence_rate": 0.16666666666666666, + "call_rate": 0.16666666666666666 + }, + "severity": { + "severity_score": 80.4, + "impact_level": "critical" + }, + "priority_rank": 3, + "children": [], + "sample_evidence": [ + "Vale, pero tranquilo, comprender las consultas.", + "Te sugiero, antes de que cuelgues, trata de hablar con tu señora madre para que te confirme el DNI.", + "No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo." + ] + }, + { + "driver_code": "ISSUE_NOT_RESOLVED", + "category": "poor_cx", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 77.0, + "impact_level": "critical" + }, + "priority_rank": 4, + "children": [], + "sample_evidence": [ + "No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo.", + "el técnico puede llegar en ese caso de una 24 horas", + "La solicitud de reenganche ya está puesta desde las siete y media." + ] + }, + { + "driver_code": "LONG_SILENCE", + "category": "poor_cx", + "frequency": { + "total_occurrences": 14, + "calls_affected": 14, + "occurrence_rate": 0.4666666666666667, + "call_rate": 0.4666666666666667 + }, + "severity": { + "severity_score": 75.60714285714285, + "impact_level": "critical" + }, + "priority_rank": 5, + "children": [], + "sample_evidence": [ + "....", + "¿Hola Hola Hola tendré que finalizar la llamada me oye?", + "Un momento por favor. Gracias." + ] + }, + { + "driver_code": "OUTAGE_NOT_EXPLAINED", + "category": "poor_cx", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 72.50000000000001, + "impact_level": "critical" + }, + "priority_rank": 6, + "children": [], + "sample_evidence": [ + "Yo no puedo saber si ha sido un tema de la zona, eso ya lo maneja el área encargada de averías.", + "Vale, pero nosotros solamente somos facturación, quién se encarga de eso es la distribuidora y avería.", + "Pero sí ha habido situaciones de otras partes en particular." + ] + }, + { + "driver_code": "WRONG_DEPARTMENT", + "category": "poor_cx", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 67.5, + "impact_level": "high" + }, + "priority_rank": 7, + "children": [], + "sample_evidence": [ + "En ese caso ya tienes que hablar con lo que sería la distribuidora.", + "Tú ya te comunicas con el área de averías para informar y pues que te hagan una incidencia.", + "Eso sería directamente con la distribuidora." + ] + }, + { + "driver_code": "MULTI_TRANSFER", + "category": "poor_cx", + "frequency": { + "total_occurrences": 2, + "calls_affected": 2, + "occurrence_rate": 0.06666666666666667, + "call_rate": 0.06666666666666667 + }, + "severity": { + "severity_score": 65.25, + "impact_level": "high" + }, + "priority_rank": 8, + "children": [], + "sample_evidence": [ + "te voy a transferir para que hagas estos pagos", + "me ha dirigido a la distribuidora, me ha dicho que volviera" + ] + }, + { + "driver_code": "INCORRECT_INFO", + "category": "poor_cx", + "frequency": { + "total_occurrences": 1, + "calls_affected": 1, + "occurrence_rate": 0.03333333333333333, + "call_rate": 0.03333333333333333 + }, + "severity": { + "severity_score": 62.5, + "impact_level": "high" + }, + "priority_rank": 9, + "children": [], + "sample_evidence": [ + "No, es que siempre el valor de. El valor de la modificación de potencia tiene ese valor, vale, tiene un valor." + ] + }, + { + "driver_code": "LONG_HOLD", + "category": "poor_cx", + "frequency": { + "total_occurrences": 2, + "calls_affected": 2, + "occurrence_rate": 0.06666666666666667, + "call_rate": 0.06666666666666667 + }, + "severity": { + "severity_score": 60.5, + "impact_level": "high" + }, + "priority_rank": 10, + "children": [], + "sample_evidence": [ + "Permíteme un momento, por favor, y reviso.", + "Permítame un momento." + ] + }, + { + "driver_code": "UNCLEAR_NEXT_STEPS", + "category": "poor_cx", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 59.00000000000001, + "impact_level": "high" + }, + "priority_rank": 11, + "children": [], + "sample_evidence": [ + "Ya en estos momentos le acabo de realizar la solicitud de reengancho", + "¿Hasta qué día tengo para pagarlo? Porque no sea cosa que me corten la luz, no sé.", + "estar muy pendiente el día de mañana" + ] + } + ], + "fcr_failure_tree": [], + "churn_risk_tree": [] +} \ No newline at end of file diff --git a/data/production/test-07/exports/summary.json b/data/production/test-07/exports/summary.json new file mode 100644 index 0000000..2de5d27 --- /dev/null +++ b/data/production/test-07/exports/summary.json @@ -0,0 +1,91 @@ +{ + "batch_id": "test-07", + "generated_at": "2026-01-19T13:47:13.494784", + "summary": { + "total_calls": 30, + "successful_analyses": 30, + "failed_analyses": 0 + }, + "outcomes": { + "INQUIRY_RESOLVED": 1, + "INQUIRY_UNRESOLVED": 11, + "CANCELLATION_COMPLETED": 2, + "UNKNOWN": 7, + "BILLING_INQUIRY_RESOLVED": 3, + "BILLING_DISPUTE_OPENED": 2, + "TRANSFER_OUT": 1, + "OUTAGE_ESCALATED": 2, + "TECHNICIAN_SCHEDULED": 1 + }, + "lost_sales": { + "total_drivers_found": 7, + "top_drivers": [ + { + "driver_code": "PRICE_TOO_HIGH", + "occurrences": 4, + "call_rate": 0.13333333333333333, + "avg_confidence": 0.85 + }, + { + "driver_code": "COMPETITOR_PREFERENCE", + "occurrences": 3, + "call_rate": 0.1, + "avg_confidence": 0.8166666666666668 + }, + { + "driver_code": "NO_INTEREST_IN_UPGRADE", + "occurrences": 3, + "call_rate": 0.1, + "avg_confidence": 0.8333333333333334 + }, + { + "driver_code": "NO_RETENTION_ATTEMPT", + "occurrences": 2, + "call_rate": 0.06666666666666667, + "avg_confidence": 0.775 + }, + { + "driver_code": "DISTRUST_OF_OFFERS", + "occurrences": 2, + "call_rate": 0.06666666666666667, + "avg_confidence": 0.775 + } + ] + }, + "poor_cx": { + "total_drivers_found": 11, + "top_drivers": [ + { + "driver_code": "LONG_SILENCE", + "occurrences": 14, + "call_rate": 0.4666666666666667, + "avg_confidence": 0.8535714285714285 + }, + { + "driver_code": "NOT_LISTENING", + "occurrences": 13, + "call_rate": 0.43333333333333335, + "avg_confidence": 0.7769230769230769 + }, + { + "driver_code": "BILLING_NOT_CLARIFIED", + "occurrences": 9, + "call_rate": 0.3, + "avg_confidence": 0.8166666666666668 + }, + { + "driver_code": "LOW_EMPATHY", + "occurrences": 5, + "call_rate": 0.16666666666666666, + "avg_confidence": 0.78 + }, + { + "driver_code": "UNCLEAR_NEXT_STEPS", + "occurrences": 3, + "call_rate": 0.1, + "avg_confidence": 0.8000000000000002 + } + ] + }, + "emergent_patterns": [] +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF392.json b/data/production/test-07/features/10122025_0082038C3CFBF392.json new file mode 100644 index 0000000..9a71b90 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF392.json @@ -0,0 +1,24 @@ +{ + "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:12.811368" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF3A6.json b/data/production/test-07/features/10122025_0082038C3CFBF3A6.json new file mode 100644 index 0000000..78b6a06 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF3A6.json @@ -0,0 +1,24 @@ +{ + "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:12.812256" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF3B7.json b/data/production/test-07/features/10122025_0082038C3CFBF3B7.json new file mode 100644 index 0000000..bb711d9 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF3B7.json @@ -0,0 +1,35 @@ +{ + "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:12.812697" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF3D2.json b/data/production/test-07/features/10122025_0082038C3CFBF3D2.json new file mode 100644 index 0000000..e10751f --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF3D2.json @@ -0,0 +1,24 @@ +{ + "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:12.812796" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF3E5.json b/data/production/test-07/features/10122025_0082038C3CFBF3E5.json new file mode 100644 index 0000000..345c9ea --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF3E5.json @@ -0,0 +1,24 @@ +{ + "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:12.813050" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF3FE.json b/data/production/test-07/features/10122025_0082038C3CFBF3FE.json new file mode 100644 index 0000000..2942e9d --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF3FE.json @@ -0,0 +1,24 @@ +{ + "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:39:12.813665" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF54F.json b/data/production/test-07/features/10122025_0082038C3CFBF54F.json new file mode 100644 index 0000000..86ae38d --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF54F.json @@ -0,0 +1,80 @@ +{ + "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:39:12.814561" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF5B8.json b/data/production/test-07/features/10122025_0082038C3CFBF5B8.json new file mode 100644 index 0000000..114c9b0 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF5B8.json @@ -0,0 +1,24 @@ +{ + "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:39:12.814932" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF65B.json b/data/production/test-07/features/10122025_0082038C3CFBF65B.json new file mode 100644 index 0000000..74e0156 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF65B.json @@ -0,0 +1,24 @@ +{ + "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:39:12.815867" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF6C6.json b/data/production/test-07/features/10122025_0082038C3CFBF6C6.json new file mode 100644 index 0000000..23328dd --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF6C6.json @@ -0,0 +1,145 @@ +{ + "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:39:12.819045" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF73E.json b/data/production/test-07/features/10122025_0082038C3CFBF73E.json new file mode 100644 index 0000000..98ca349 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF73E.json @@ -0,0 +1,24 @@ +{ + "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:39:12.819573" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF748.json b/data/production/test-07/features/10122025_0082038C3CFBF748.json new file mode 100644 index 0000000..920c64b --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF748.json @@ -0,0 +1,24 @@ +{ + "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:39:12.819945" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF766.json b/data/production/test-07/features/10122025_0082038C3CFBF766.json new file mode 100644 index 0000000..a7b8ec9 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF766.json @@ -0,0 +1,58 @@ +{ + "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:39:12.820696" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF779.json b/data/production/test-07/features/10122025_0082038C3CFBF779.json new file mode 100644 index 0000000..24cd018 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF779.json @@ -0,0 +1,69 @@ +{ + "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:39:12.821536" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF7D0.json b/data/production/test-07/features/10122025_0082038C3CFBF7D0.json new file mode 100644 index 0000000..dfb5d69 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF7D0.json @@ -0,0 +1,91 @@ +{ + "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:39:12.823020" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF80E.json b/data/production/test-07/features/10122025_0082038C3CFBF80E.json new file mode 100644 index 0000000..cb4fc7c --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF80E.json @@ -0,0 +1,58 @@ +{ + "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:39:12.823972" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF812.json b/data/production/test-07/features/10122025_0082038C3CFBF812.json new file mode 100644 index 0000000..f7566de --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF812.json @@ -0,0 +1,101 @@ +{ + "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:39:12.825014" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF851.json b/data/production/test-07/features/10122025_0082038C3CFBF851.json new file mode 100644 index 0000000..8519c1f --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF851.json @@ -0,0 +1,24 @@ +{ + "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:39:12.825592" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF852.json b/data/production/test-07/features/10122025_0082038C3CFBF852.json new file mode 100644 index 0000000..0cdc4e4 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF852.json @@ -0,0 +1,24 @@ +{ + "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:39:12.825663" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF860.json b/data/production/test-07/features/10122025_0082038C3CFBF860.json new file mode 100644 index 0000000..65d5811 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF860.json @@ -0,0 +1,58 @@ +{ + "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:39:12.826633" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF900.json b/data/production/test-07/features/10122025_0082038C3CFBF900.json new file mode 100644 index 0000000..3b60e0c --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF900.json @@ -0,0 +1,24 @@ +{ + "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:39:12.826895" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF911.json b/data/production/test-07/features/10122025_0082038C3CFBF911.json new file mode 100644 index 0000000..15d5153 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF911.json @@ -0,0 +1,24 @@ +{ + "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:39:12.827016" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF918.json b/data/production/test-07/features/10122025_0082038C3CFBF918.json new file mode 100644 index 0000000..e78274e --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF918.json @@ -0,0 +1,47 @@ +{ + "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:39:12.827748" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF955.json b/data/production/test-07/features/10122025_0082038C3CFBF955.json new file mode 100644 index 0000000..af040ce --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF955.json @@ -0,0 +1,24 @@ +{ + "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:39:12.827959" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF981.json b/data/production/test-07/features/10122025_0082038C3CFBF981.json new file mode 100644 index 0000000..65f32d8 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF981.json @@ -0,0 +1,24 @@ +{ + "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:39:12.828281" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF99B.json b/data/production/test-07/features/10122025_0082038C3CFBF99B.json new file mode 100644 index 0000000..5e9e35b --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF99B.json @@ -0,0 +1,35 @@ +{ + "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:39:12.829330" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBF9A4.json b/data/production/test-07/features/10122025_0082038C3CFBF9A4.json new file mode 100644 index 0000000..8e1b1cd --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBF9A4.json @@ -0,0 +1,24 @@ +{ + "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:39:12.829396" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBFA33.json b/data/production/test-07/features/10122025_0082038C3CFBFA33.json new file mode 100644 index 0000000..2c873d9 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBFA33.json @@ -0,0 +1,47 @@ +{ + "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:39:12.831021" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBFAC5.json b/data/production/test-07/features/10122025_0082038C3CFBFAC5.json new file mode 100644 index 0000000..b13ec53 --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBFAC5.json @@ -0,0 +1,24 @@ +{ + "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:39:12.831172" +} \ No newline at end of file diff --git a/data/production/test-07/features/10122025_0082038C3CFBFB08.json b/data/production/test-07/features/10122025_0082038C3CFBFB08.json new file mode 100644 index 0000000..148ad4a --- /dev/null +++ b/data/production/test-07/features/10122025_0082038C3CFBFB08.json @@ -0,0 +1,24 @@ +{ + "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:39:12.831484" +} \ No newline at end of file diff --git a/data/production/test-07/rca_tree.json b/data/production/test-07/rca_tree.json new file mode 100644 index 0000000..c75c980 --- /dev/null +++ b/data/production/test-07/rca_tree.json @@ -0,0 +1,411 @@ +{ + "batch_id": "test-07", + "created_at": "2026-01-19T13:47:13.154828", + "summary": { + "total_calls": 30, + "calls_with_lost_sales": 7, + "calls_with_poor_cx": 27, + "calls_with_both": 6, + "lost_sales_rate": 0.23333333333333334, + "poor_cx_rate": 0.9, + "calls_first_call": 23, + "calls_repeat_call": 2, + "repeat_call_rate": 0.08, + "calls_at_risk": 19, + "churn_risk_rate": 0.8636363636363636, + "agents_good_performer": 2, + "agents_needs_improvement": 20 + }, + "top_drivers": { + "lost_sales": [ + "PRICE_TOO_HIGH", + "COMPETITOR_PREFERENCE", + "NO_RETENTION_ATTEMPT", + "NO_INTEREST_IN_UPGRADE", + "DISTRUST_OF_OFFERS" + ], + "poor_cx": [ + "BILLING_NOT_CLARIFIED", + "NOT_LISTENING", + "LOW_EMPATHY", + "ISSUE_NOT_RESOLVED", + "LONG_SILENCE" + ], + "fcr_failure": [], + "churn_risk": [] + }, + "lost_sales_tree": [ + { + "driver_code": "PRICE_TOO_HIGH", + "category": "lost_sales", + "frequency": { + "total_occurrences": 4, + "calls_affected": 4, + "occurrence_rate": 0.13333333333333333, + "call_rate": 0.13333333333333333 + }, + "severity": { + "severity_score": 77.5, + "impact_level": "critical" + }, + "priority_rank": 1, + "children": [], + "sample_evidence": [ + "tengo un pago bastante alto en los kilovatios, he pagado 0.15 por kilovatio.", + "Es que me están estafando.", + "A partir de mil kilovatios de potencia se generó un cobro de 50 a 60 euros aproximadamente" + ] + }, + { + "driver_code": "COMPETITOR_PREFERENCE", + "category": "lost_sales", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 75.5, + "impact_level": "critical" + }, + "priority_rank": 2, + "children": [], + "sample_evidence": [ + "porque es que estoy con otra compañía", + "Yo tenía la tarifa One en otro domicilio de la calle San Juan.", + "pues ya llamaré a otro." + ] + }, + { + "driver_code": "NO_RETENTION_ATTEMPT", + "category": "lost_sales", + "frequency": { + "total_occurrences": 2, + "calls_affected": 2, + "occurrence_rate": 0.06666666666666667, + "call_rate": 0.06666666666666667 + }, + "severity": { + "severity_score": 69.25, + "impact_level": "high" + }, + "priority_rank": 3, + "children": [], + "sample_evidence": [ + "No sé si hay algo más en lo que yo te pueda ayudar o asesorar el día de hoy.", + "Si yo te logro conseguir un descuento, ¿Tú te quedarías con Endes el día de hoy?" + ] + }, + { + "driver_code": "NO_INTEREST_IN_UPGRADE", + "category": "lost_sales", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 64.0, + "impact_level": "high" + }, + "priority_rank": 4, + "children": [], + "sample_evidence": [ + "De momento aún no, pero lo tendré en cuenta.", + "Pero yo no he pasado de mil, ¿No? ¿Que si no he pasado de mil tiene que ser a cero?", + "Yo soy electricista, entonces lo que quiero saber es que eso sigue el contrato activo con la tarifa y todo eso" + ] + }, + { + "driver_code": "DISTRUST_OF_OFFERS", + "category": "lost_sales", + "frequency": { + "total_occurrences": 2, + "calls_affected": 2, + "occurrence_rate": 0.06666666666666667, + "call_rate": 0.06666666666666667 + }, + "severity": { + "severity_score": 57.25, + "impact_level": "high" + }, + "priority_rank": 5, + "children": [], + "sample_evidence": [ + "A mí me han dicho que no, que accesa cero, no, que no hay que pagar nada, me han dicho a mí.", + "Pero que todo sigue lo mismo, es decir, la tarifa libre que yo ahora he contratado." + ] + }, + { + "driver_code": "CONTRACT_PERMANENCE", + "category": "lost_sales", + "frequency": { + "total_occurrences": 1, + "calls_affected": 1, + "occurrence_rate": 0.03333333333333333, + "call_rate": 0.03333333333333333 + }, + "severity": { + "severity_score": 56.99999999999999, + "impact_level": "high" + }, + "priority_rank": 6, + "children": [], + "sample_evidence": [ + "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." + ] + }, + { + "driver_code": "NO_SAVINGS_CALCULATION", + "category": "lost_sales", + "frequency": { + "total_occurrences": 1, + "calls_affected": 1, + "occurrence_rate": 0.03333333333333333, + "call_rate": 0.03333333333333333 + }, + "severity": { + "severity_score": 51.49999999999999, + "impact_level": "high" + }, + "priority_rank": 7, + "children": [], + "sample_evidence": [ + "¿O sea, que el P cuánto es? ¿Y el p?" + ] + } + ], + "poor_cx_tree": [ + { + "driver_code": "BILLING_NOT_CLARIFIED", + "category": "poor_cx", + "frequency": { + "total_occurrences": 9, + "calls_affected": 9, + "occurrence_rate": 0.3, + "call_rate": 0.3 + }, + "severity": { + "severity_score": 82.5, + "impact_level": "critical" + }, + "priority_rank": 1, + "children": [], + "sample_evidence": [ + "Claro, en esta ocasión, cuando el día que lo vayas a renovar te lo podemos dejar al 0,13.", + "apenas está ingresando el dinero de las facturas", + "La factura no presenta movimiento de pago, es decir, no se realizó pago alguno en ella." + ] + }, + { + "driver_code": "NOT_LISTENING", + "category": "poor_cx", + "frequency": { + "total_occurrences": 13, + "calls_affected": 13, + "occurrence_rate": 0.43333333333333335, + "call_rate": 0.43333333333333335 + }, + "severity": { + "severity_score": 81.3076923076923, + "impact_level": "critical" + }, + "priority_rank": 2, + "children": [], + "sample_evidence": [ + "¿Que el contador de luz o de gas?", + "Pero entonces él te pudo contacto.", + "¿Hola Miriam me escuchas?" + ] + }, + { + "driver_code": "LOW_EMPATHY", + "category": "poor_cx", + "frequency": { + "total_occurrences": 5, + "calls_affected": 5, + "occurrence_rate": 0.16666666666666666, + "call_rate": 0.16666666666666666 + }, + "severity": { + "severity_score": 80.4, + "impact_level": "critical" + }, + "priority_rank": 3, + "children": [], + "sample_evidence": [ + "Vale, pero tranquilo, comprender las consultas.", + "Te sugiero, antes de que cuelgues, trata de hablar con tu señora madre para que te confirme el DNI.", + "No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo." + ] + }, + { + "driver_code": "ISSUE_NOT_RESOLVED", + "category": "poor_cx", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 77.0, + "impact_level": "critical" + }, + "priority_rank": 4, + "children": [], + "sample_evidence": [ + "No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo.", + "el técnico puede llegar en ese caso de una 24 horas", + "La solicitud de reenganche ya está puesta desde las siete y media." + ] + }, + { + "driver_code": "LONG_SILENCE", + "category": "poor_cx", + "frequency": { + "total_occurrences": 14, + "calls_affected": 14, + "occurrence_rate": 0.4666666666666667, + "call_rate": 0.4666666666666667 + }, + "severity": { + "severity_score": 75.60714285714285, + "impact_level": "critical" + }, + "priority_rank": 5, + "children": [], + "sample_evidence": [ + "....", + "¿Hola Hola Hola tendré que finalizar la llamada me oye?", + "Un momento por favor. Gracias." + ] + }, + { + "driver_code": "OUTAGE_NOT_EXPLAINED", + "category": "poor_cx", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 72.50000000000001, + "impact_level": "critical" + }, + "priority_rank": 6, + "children": [], + "sample_evidence": [ + "Yo no puedo saber si ha sido un tema de la zona, eso ya lo maneja el área encargada de averías.", + "Vale, pero nosotros solamente somos facturación, quién se encarga de eso es la distribuidora y avería.", + "Pero sí ha habido situaciones de otras partes en particular." + ] + }, + { + "driver_code": "WRONG_DEPARTMENT", + "category": "poor_cx", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 67.5, + "impact_level": "high" + }, + "priority_rank": 7, + "children": [], + "sample_evidence": [ + "En ese caso ya tienes que hablar con lo que sería la distribuidora.", + "Tú ya te comunicas con el área de averías para informar y pues que te hagan una incidencia.", + "Eso sería directamente con la distribuidora." + ] + }, + { + "driver_code": "MULTI_TRANSFER", + "category": "poor_cx", + "frequency": { + "total_occurrences": 2, + "calls_affected": 2, + "occurrence_rate": 0.06666666666666667, + "call_rate": 0.06666666666666667 + }, + "severity": { + "severity_score": 65.25, + "impact_level": "high" + }, + "priority_rank": 8, + "children": [], + "sample_evidence": [ + "te voy a transferir para que hagas estos pagos", + "me ha dirigido a la distribuidora, me ha dicho que volviera" + ] + }, + { + "driver_code": "INCORRECT_INFO", + "category": "poor_cx", + "frequency": { + "total_occurrences": 1, + "calls_affected": 1, + "occurrence_rate": 0.03333333333333333, + "call_rate": 0.03333333333333333 + }, + "severity": { + "severity_score": 62.5, + "impact_level": "high" + }, + "priority_rank": 9, + "children": [], + "sample_evidence": [ + "No, es que siempre el valor de. El valor de la modificación de potencia tiene ese valor, vale, tiene un valor." + ] + }, + { + "driver_code": "LONG_HOLD", + "category": "poor_cx", + "frequency": { + "total_occurrences": 2, + "calls_affected": 2, + "occurrence_rate": 0.06666666666666667, + "call_rate": 0.06666666666666667 + }, + "severity": { + "severity_score": 60.5, + "impact_level": "high" + }, + "priority_rank": 10, + "children": [], + "sample_evidence": [ + "Permíteme un momento, por favor, y reviso.", + "Permítame un momento." + ] + }, + { + "driver_code": "UNCLEAR_NEXT_STEPS", + "category": "poor_cx", + "frequency": { + "total_occurrences": 3, + "calls_affected": 3, + "occurrence_rate": 0.1, + "call_rate": 0.1 + }, + "severity": { + "severity_score": 59.00000000000001, + "impact_level": "high" + }, + "priority_rank": 11, + "children": [], + "sample_evidence": [ + "Ya en estos momentos le acabo de realizar la solicitud de reengancho", + "¿Hasta qué día tengo para pagarlo? Porque no sea cosa que me corten la luz, no sé.", + "estar muy pendiente el día de mañana" + ] + } + ], + "fcr_failure_tree": [], + "churn_risk_tree": [] +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF392.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF392.json new file mode 100644 index 0000000..7e0b232 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF392.json @@ -0,0 +1,31 @@ +{ + "call_id": "10122025_0082038C3CFBF392", + "turns": [ + { + "speaker": "A", + "text": "Hola, buen día. Te comunicas por contrato, modificar condiciones. Cuéntame cómo te puedo llevar el día de hoy con tu contrato. Hasta febrero del 2026. Ahí te escucho, dime. Y digo que tengo yo contrato con el febrero del 26, pero yo hablé con ustedes porque 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. Vale, hablo con Miguel. Sí, sí, correcto. Vale, Miguel, si tú no quieres la renovación, te puedes llamar ese día que se te acaba el contrato y cambiar de precio. Mejorarlo. Mejorarlo incluso más. Vale, pero mi cuestión es la siguiente. Yo. Ustedes me renuevan a mí automáticamente, pero ya no tengo. Yo ya si me renuevan no tengo. No tengo que estar con ustedes, ¿Sí o no? Que sí. Exacto, exacto. Se renueva el precio, pero para que siempre tenga suministro. Claro está. Pero la permanencia se acaba, o sea, ya tú eliges con quién te queda. Mi permanencia se acaba con usted en febrero del año. Exacto. Y no se renueva automáticamente, esa no se renueva sola. Ah, que en la factura si me lo pone, pone renovación automática. Pero el contrato sí, porque tú tienes que tener. Si no tienes contrato se te va la luz ese día. Pero la permanencia no se renueva, tranquilo. No, no, sí, exacto, pero la invitación es que te llames ese día y te comuniques con nosotros. Vale, una cosa, porque claro, ahora mismo no me pueden hacer un arreglo de la. Lo digo porque estoy viendo que tengo. Tengo un pago bastante alto en los kilovatios, he pagado 0.15 por kilovatio. Claro, en esta ocasión, cuando el día que lo vayas a renovar te lo podemos dejar al 0,13. Si yo quisiera. Yo quisiera cancelar ahora mismo el contrato. Ahora mismo tendría una penalización. Sí, claro, tendrías penalización y te cobrarían. Te cobrarían una multa. ¿Una multa de cuánto sería? Según lo que te falta para cumplir de aquí a febrero te puede llegar una multa de unos 50. 60 euros. Ah, por noviembre, diciembre, enero y febrero, ¿No? Atendidamente cuatro meses. Así es, cuatro meses. Si lo hago después de Navidad, por ejemplo, en enero la multa sería pequeña, ¿No? Sí, la multa sería como de 15 o 20 euros. Vale, o sea, ¿Cuanto más se acerque a la fecha? La multa es pequeña, ¿No? Sí, exacto. La multa es más pequeña. Cada vez que entre más tiempo pase, menos es la multa. Ah, vale, vale, vale, perfecto. Y aunque pasara el día 20 de febrero, yo puedo cambiar de compañía, Ya no tengo ningún tipo de multa. Exacto. Ya después de febrero ya no tiene ninguna permanencia, nada. Correcto, correcto. Perfecto. Esa era mi pregunta. Entonces, le agradezco su información. Vale, perfecto. De todos modos, muchísimas gracias por la paciencia, por la espera y no sería nada más, vale.", + "start_time": 6.88, + "end_time": 214.99, + "confidence": 0.9403946, + "duration_sec": 208.11, + "word_count": 495 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 225.0, + "audio_file": "10122025_0082038C3CFBF392.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "b4574a52-8202-43a0-aac1-012285f0b8f1", + "model_version": null, + "created_at": "2026-01-19T13:38:23.337500", + "processing_time_sec": 10.817091, + "overall_confidence": 0.9403946, + "speaker_count": 1 + }, + "full_text": "Hola, buen día. Te comunicas por contrato, modificar condiciones. Cuéntame cómo te puedo llevar el día de hoy con tu contrato. Hasta febrero del 2026. Ahí te escucho, dime. Y digo que tengo yo contrato con el febrero del 26, pero yo hablé con ustedes porque 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. Vale, hablo con Miguel. Sí, sí, correcto. Vale, Miguel, si tú no quieres la renovación, te puedes llamar ese día que se te acaba el contrato y cambiar de precio. Mejorarlo. Mejorarlo incluso más. Vale, pero mi cuestión es la siguiente. Yo. Ustedes me renuevan a mí automáticamente, pero ya no tengo. Yo ya si me renuevan no tengo. No tengo que estar con ustedes, ¿Sí o no? Que sí. Exacto, exacto. Se renueva el precio, pero para que siempre tenga suministro. Claro está. Pero la permanencia se acaba, o sea, ya tú eliges con quién te queda. Mi permanencia se acaba con usted en febrero del año. Exacto. Y no se renueva automáticamente, esa no se renueva sola. Ah, que en la factura si me lo pone, pone renovación automática. Pero el contrato sí, porque tú tienes que tener. Si no tienes contrato se te va la luz ese día. Pero la permanencia no se renueva, tranquilo. No, no, sí, exacto, pero la invitación es que te llames ese día y te comuniques con nosotros. Vale, una cosa, porque claro, ahora mismo no me pueden hacer un arreglo de la. Lo digo porque estoy viendo que tengo. Tengo un pago bastante alto en los kilovatios, he pagado 0.15 por kilovatio. Claro, en esta ocasión, cuando el día que lo vayas a renovar te lo podemos dejar al 0,13. Si yo quisiera. Yo quisiera cancelar ahora mismo el contrato. Ahora mismo tendría una penalización. Sí, claro, tendrías penalización y te cobrarían. Te cobrarían una multa. ¿Una multa de cuánto sería? Según lo que te falta para cumplir de aquí a febrero te puede llegar una multa de unos 50. 60 euros. Ah, por noviembre, diciembre, enero y febrero, ¿No? Atendidamente cuatro meses. Así es, cuatro meses. Si lo hago después de Navidad, por ejemplo, en enero la multa sería pequeña, ¿No? Sí, la multa sería como de 15 o 20 euros. Vale, o sea, ¿Cuanto más se acerque a la fecha? La multa es pequeña, ¿No? Sí, exacto. La multa es más pequeña. Cada vez que entre más tiempo pase, menos es la multa. Ah, vale, vale, vale, perfecto. Y aunque pasara el día 20 de febrero, yo puedo cambiar de compañía, Ya no tengo ningún tipo de multa. Exacto. Ya después de febrero ya no tiene ninguna permanencia, nada. Correcto, correcto. Perfecto. Esa era mi pregunta. Entonces, le agradezco su información. Vale, perfecto. De todos modos, muchísimas gracias por la paciencia, por la espera y no sería nada más, vale.", + "total_turns": 1, + "total_words": 495 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF3A6.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF3A6.json new file mode 100644 index 0000000..83c8e11 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF3A6.json @@ -0,0 +1,301 @@ +{ + "call_id": "10122025_0082038C3CFBF3A6", + "turns": [ + { + "speaker": "A", + "text": "Hola, buenas tardes, habla con Stephanie Aveo, que se está comunicando para contrato de alta. Cuénteme cómo puedo ayudarle el día de hoy.", + "start_time": 1.52, + "end_time": 8.48, + "confidence": 0.9626182, + "duration_sec": 6.960000000000001, + "word_count": 23 + }, + { + "speaker": "B", + "text": "Hola, muy buenas, ¿Qué tal? Mira, estamos aquí, bueno, aquí en un local donde han cortado la luz. Acabo de efectuar el pago y quiero asegurarme del. No sé, a ver, nos vais a suministrar ahora la luz.", + "start_time": 9.04, + "end_time": 23.92, + "confidence": 0.9182204, + "duration_sec": 14.880000000000003, + "word_count": 38 + }, + { + "speaker": "A", + "text": "Me confirma por favor, nombre completo del titular y el número del DNI para ingresar a verificar.", + "start_time": 25.04, + "end_time": 30.64, + "confidence": 0.9296468, + "duration_sec": 5.600000000000001, + "word_count": 17 + }, + { + "speaker": "B", + "text": "El DNIe. Es 436-99-44.", + "start_time": 32.49, + "end_time": 35.93, + "confidence": 0.9202157, + "duration_sec": 3.4399999999999977, + "word_count": 4 + }, + { + "speaker": "A", + "text": "¿Me lo confirma nuevamente, por favor?", + "start_time": 36.89, + "end_time": 38.81, + "confidence": 0.952908, + "duration_sec": 1.9200000000000017, + "word_count": 6 + }, + { + "speaker": "B", + "text": "Es 434-369-9440-S de Sevilla.", + "start_time": 38.81, + "end_time": 46.97, + "confidence": 0.9728478, + "duration_sec": 8.159999999999997, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Permite un momento, ya estoy consultando a nombre de quién está. Perdón, A nombre de quién está el servicio El Hasan.", + "start_time": 48.09, + "end_time": 56.89, + "confidence": 0.9136672, + "duration_sec": 8.799999999999997, + "word_count": 21 + }, + { + "speaker": "B", + "text": "El final Mohamed.", + "start_time": 57.16, + "end_time": 58.52, + "confidence": 0.8878581, + "duration_sec": 1.3600000000000065, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Sí, muchas gracias. Me permite un momento y ya fui consultando. ¿Me confirma la dirección del suministro base 22 bajo? Sí, muchas gracias. Permite un momento y ya voy a verificar en el sistema el estado del servicio.", + "start_time": 59.16, + "end_time": 77.56, + "confidence": 0.9502708, + "duration_sec": 18.400000000000006, + "word_count": 38 + }, + { + "speaker": "B", + "text": "Vale, de acuerdo.", + "start_time": 78.36, + "end_time": 79.4, + "confidence": 0.97764754, + "duration_sec": 1.0400000000000063, + "word_count": 3 + }, + { + "speaker": "A", + "text": "¿Es usted el titular del servicio.", + "start_time": 82.77, + "end_time": 84.29, + "confidence": 0.96480304, + "duration_sec": 1.5200000000000102, + "word_count": 6 + }, + { + "speaker": "B", + "text": "El Hasan? ¿El Fidali Mohamed?", + "start_time": 86.53, + "end_time": 89.41, + "confidence": 0.8428558, + "duration_sec": 2.8799999999999955, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Sí, por eso. Es usted el titular. Listo, Hassan. En estos momentos.", + "start_time": 89.41, + "end_time": 99.01, + "confidence": 0.9316406, + "duration_sec": 9.600000000000009, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Perdón.", + "start_time": 99.89, + "end_time": 100.53, + "confidence": 0.8367513, + "duration_sec": 0.6400000000000006, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Listo, Hasan. En estos momentos verificando en el sistema me genera que aún el servicio se encuentra suspendido. Sí, y ya estoy verificando el estado de las facturas como está. Si, ya me aparece. Listo. En este momento ya me aparece que se encuentran en pago en trámite. Ya voy a proceder a realizar lo que sería la solicitud de reenganche. La solicitud de reenganche tiene un tiempo estimado de activación de 1 a 24 horas.", + "start_time": 101.01, + "end_time": 132.04, + "confidence": 0.94021285, + "duration_sec": 31.029999999999987, + "word_count": 76 + }, + { + "speaker": "B", + "text": "A ver. Bueno, ¿Usted no puede agilizar un poco el trámite?", + "start_time": 136.02, + "end_time": 141.3, + "confidence": 0.9559844, + "duration_sec": 5.280000000000001, + "word_count": 11 + }, + { + "speaker": "A", + "text": "No, no, señor, pues esto ya depende de la distribuidora. Yo envío la notificación directamente a distribuidora y distribuidora ya se encarga de realizar la activación del servicio.", + "start_time": 142.42, + "end_time": 155.06, + "confidence": 0.947783, + "duration_sec": 12.640000000000015, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Vale. ¿Cómo está el estado de las facturas allí?", + "start_time": 156.18, + "end_time": 160.06, + "confidence": 0.9428711, + "duration_sec": 3.8799999999999955, + "word_count": 9 + }, + { + "speaker": "A", + "text": "Cómo que ya aparece con el pago en trámite. ¿Cómo pago en trámite? Sí, señor, apenas nos está ingresando el dinero de las facturas. El pago.", + "start_time": 160.06, + "end_time": 171.74, + "confidence": 0.96649325, + "duration_sec": 11.680000000000007, + "word_count": 26 + }, + { + "speaker": "B", + "text": "Acabo de hacer el pago ahora mismo.", + "start_time": 173.02, + "end_time": 174.94, + "confidence": 0.94618446, + "duration_sec": 1.9199999999999875, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Sí, pero a nosotros se nos ve reflejado en un tiempo estimado de una a 48 horas. Por eso nos aparece como pago en trámite, porque apenas está ingresando el dinero.", + "start_time": 175.18, + "end_time": 187.02, + "confidence": 0.96396416, + "duration_sec": 11.840000000000003, + "word_count": 31 + }, + { + "speaker": "B", + "text": "Bueno, entonces la cuestión es esperar, ¿No?", + "start_time": 189.75, + "end_time": 192.07, + "confidence": 0.93969727, + "duration_sec": 2.319999999999993, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Sí, señor, Ya en estos momentos le acabo de realizar la solicitud de reengancho, el tiempo estimado y activación es de una 24 horas. ¿Vale, listo Hassan, en estos momentos hay algo más en lo que yo pueda ayudarle?", + "start_time": 192.55, + "end_time": 207.63, + "confidence": 0.93607175, + "duration_sec": 15.079999999999984, + "word_count": 39 + }, + { + "speaker": "B", + "text": "El día de hoy el sistema no se permite ver si está realizado el.", + "start_time": 207.63, + "end_time": 212.51, + "confidence": 0.9552525, + "duration_sec": 4.8799999999999955, + "word_count": 14 + }, + { + "speaker": "A", + "text": "Pago al momento no, lo único que me deja verificar es si en estos momentos el pago me dice pago en trámite, apenas está ingresando el pago el.", + "start_time": 212.51, + "end_time": 223.33, + "confidence": 0.92644393, + "duration_sec": 10.820000000000022, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Trámite quiere decir que está realizado.", + "start_time": 223.33, + "end_time": 225.25, + "confidence": 0.9692654, + "duration_sec": 1.9199999999999875, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Si está realizado, pero apenas nos está ingresando el pago, apenas está registrando en el sistema. Vale, listo Hassan, en estos momentos. Sí señor, en este caso ya tendríamos que esperar hasta que la distribuidora se lo active y el tiempo estimado es de una 40 está perdón es de una 24 horas hábiles.", + "start_time": 225.49, + "end_time": 255.31, + "confidence": 0.93881327, + "duration_sec": 29.819999999999993, + "word_count": 54 + }, + { + "speaker": "B", + "text": "¿Vale, y cómo funciona el sistema que cuando se nota de que el pago está hecho y ya entra avisa el sistema avisa automáticamente o cómo le tiene?", + "start_time": 255.95, + "end_time": 267.63, + "confidence": 0.94421244, + "duration_sec": 11.680000000000007, + "word_count": 28 + }, + { + "speaker": "A", + "text": "Sí, automáticamente nos ingresa ya el pago y a usted ya se le quita estas facturas como pendiente.", + "start_time": 267.79, + "end_time": 274.27, + "confidence": 0.96627015, + "duration_sec": 6.479999999999961, + "word_count": 18 + }, + { + "speaker": "B", + "text": "Vale, muy bien, pues muchas gracias.", + "start_time": 275.71, + "end_time": 277.55, + "confidence": 0.96757, + "duration_sec": 1.8400000000000318, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Bueno es con gusto Hasan, que tenga usted un excelente día y le agradezco por haberse comunicado con esa energía. Igualmente, muchas gracias, hasta luego.", + "start_time": 278.22, + "end_time": 287.9, + "confidence": 0.9630612, + "duration_sec": 9.67999999999995, + "word_count": 25 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 289.0, + "audio_file": "10122025_0082038C3CFBF3A6.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "c99cebc4-8a18-4ae3-bef7-9f75cb52bd5b", + "model_version": null, + "created_at": "2026-01-19T13:38:24.267649", + "processing_time_sec": 11.356497, + "overall_confidence": 0.94325477, + "speaker_count": 2 + }, + "full_text": "Hola, buenas tardes, habla con Stephanie Aveo, que se está comunicando para contrato de alta. Cuénteme cómo puedo ayudarle el día de hoy. Hola, muy buenas, ¿Qué tal? Mira, estamos aquí, bueno, aquí en un local donde han cortado la luz. Acabo de efectuar el pago y quiero asegurarme del. No sé, a ver, nos vais a suministrar ahora la luz. Me confirma por favor, nombre completo del titular y el número del DNI para ingresar a verificar. El DNIe. Es 436-99-44. ¿Me lo confirma nuevamente, por favor? Es 434-369-9440-S de Sevilla. Permite un momento, ya estoy consultando a nombre de quién está. Perdón, A nombre de quién está el servicio El Hasan. El final Mohamed. Sí, muchas gracias. Me permite un momento y ya fui consultando. ¿Me confirma la dirección del suministro base 22 bajo? Sí, muchas gracias. Permite un momento y ya voy a verificar en el sistema el estado del servicio. Vale, de acuerdo. ¿Es usted el titular del servicio. El Hasan? ¿El Fidali Mohamed? Sí, por eso. Es usted el titular. Listo, Hassan. En estos momentos. Perdón. Listo, Hasan. En estos momentos verificando en el sistema me genera que aún el servicio se encuentra suspendido. Sí, y ya estoy verificando el estado de las facturas como está. Si, ya me aparece. Listo. En este momento ya me aparece que se encuentran en pago en trámite. Ya voy a proceder a realizar lo que sería la solicitud de reenganche. La solicitud de reenganche tiene un tiempo estimado de activación de 1 a 24 horas. A ver. Bueno, ¿Usted no puede agilizar un poco el trámite? No, no, señor, pues esto ya depende de la distribuidora. Yo envío la notificación directamente a distribuidora y distribuidora ya se encarga de realizar la activación del servicio. Vale. ¿Cómo está el estado de las facturas allí? Cómo que ya aparece con el pago en trámite. ¿Cómo pago en trámite? Sí, señor, apenas nos está ingresando el dinero de las facturas. El pago. Acabo de hacer el pago ahora mismo. Sí, pero a nosotros se nos ve reflejado en un tiempo estimado de una a 48 horas. Por eso nos aparece como pago en trámite, porque apenas está ingresando el dinero. Bueno, entonces la cuestión es esperar, ¿No? Sí, señor, Ya en estos momentos le acabo de realizar la solicitud de reengancho, el tiempo estimado y activación es de una 24 horas. ¿Vale, listo Hassan, en estos momentos hay algo más en lo que yo pueda ayudarle? El día de hoy el sistema no se permite ver si está realizado el. Pago al momento no, lo único que me deja verificar es si en estos momentos el pago me dice pago en trámite, apenas está ingresando el pago el. Trámite quiere decir que está realizado. Si está realizado, pero apenas nos está ingresando el pago, apenas está registrando en el sistema. Vale, listo Hassan, en estos momentos. Sí señor, en este caso ya tendríamos que esperar hasta que la distribuidora se lo active y el tiempo estimado es de una 40 está perdón es de una 24 horas hábiles. ¿Vale, y cómo funciona el sistema que cuando se nota de que el pago está hecho y ya entra avisa el sistema avisa automáticamente o cómo le tiene? Sí, automáticamente nos ingresa ya el pago y a usted ya se le quita estas facturas como pendiente. Vale, muy bien, pues muchas gracias. Bueno es con gusto Hasan, que tenga usted un excelente día y le agradezco por haberse comunicado con esa energía. Igualmente, muchas gracias, hasta luego.", + "total_turns": 31, + "total_words": 594 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF3B7.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF3B7.json new file mode 100644 index 0000000..245877f --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF3B7.json @@ -0,0 +1,31 @@ +{ + "call_id": "10122025_0082038C3CFBF3B7", + "turns": [ + { + "speaker": "A", + "text": "Buenas noches, soy Ana. Veo que llamas para dar de baja un contrato. ¿Cómo puedo ayudarte? Hola, buenas. Mira, sería para dar de contrato el gas y la luz, porque es que estoy con otra compañía y hasta que no dé de baja y con esta compañía no me activan la otra. ¿La luz y el gas quieres darla de baja en Indesa? Sí. Vale, ¿Y a nombre de quién está el contrato actualmente? Héctor González Mejías. ¿Cuál es el DNI? 732-35803 T de Pamplona. Vale, indícame la dirección del punto de suministro, por favor. Francisco de Ruesta, Portal 9, 3º C. Gracias. Permíteme un momento, por favor, y reviso. ¿Cuántos contratos estás haciendo ahora mismo? Pues ahora mismo. Lucy Gas. Lucy Gas. Vale. El de la luz ya ha sido rechazado y el del gas sería el que tendríamos que validar. Dame un momento, por favor. ¿Cuándo hiciste la solicitud, disculpa? Pues la semana pasada. ¿Pero una cosa, por dar de baja el gas cobran? No, está dentro del tiempo del desistimiento. Lo podemos hacer y no te va a generar inconveniente. Dame un momento, no me cortes. Vale. Gracias por permanecer a la espera. ¿Quieres confirmarme un correo electrónico, por favor? Vale. H. González. Vale, muchísimas gracias. Vale, en este caso, pues va a llegarte a tu correo electrónico la confirmación de la cancelación de la contratación, ¿Vale? Para que lo tengas presente, para que puedas validar efectivamente que se ha generado como tal la cancelación. ¿Vale? Vale, perfecto. Muchas gracias a ti, Héctor. No sé si hay algo más en lo que yo te pueda ayudar o asesorar el día de hoy. No, nada más. Muchas gracias. Vale, con mucho gusto entonces. Espero que tengas una excelente noche. Gracias por llamar. Sandra.", + "start_time": 0.88, + "end_time": 186.12, + "confidence": 0.9537942, + "duration_sec": 185.24, + "word_count": 295 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 189.0, + "audio_file": "10122025_0082038C3CFBF3B7.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "46c890b9-6792-40b9-91b6-990499ebf3a0", + "model_version": null, + "created_at": "2026-01-19T13:38:23.076858", + "processing_time_sec": 10.164165, + "overall_confidence": 0.9537942, + "speaker_count": 1 + }, + "full_text": "Buenas noches, soy Ana. Veo que llamas para dar de baja un contrato. ¿Cómo puedo ayudarte? Hola, buenas. Mira, sería para dar de contrato el gas y la luz, porque es que estoy con otra compañía y hasta que no dé de baja y con esta compañía no me activan la otra. ¿La luz y el gas quieres darla de baja en Indesa? Sí. Vale, ¿Y a nombre de quién está el contrato actualmente? Héctor González Mejías. ¿Cuál es el DNI? 732-35803 T de Pamplona. Vale, indícame la dirección del punto de suministro, por favor. Francisco de Ruesta, Portal 9, 3º C. Gracias. Permíteme un momento, por favor, y reviso. ¿Cuántos contratos estás haciendo ahora mismo? Pues ahora mismo. Lucy Gas. Lucy Gas. Vale. El de la luz ya ha sido rechazado y el del gas sería el que tendríamos que validar. Dame un momento, por favor. ¿Cuándo hiciste la solicitud, disculpa? Pues la semana pasada. ¿Pero una cosa, por dar de baja el gas cobran? No, está dentro del tiempo del desistimiento. Lo podemos hacer y no te va a generar inconveniente. Dame un momento, no me cortes. Vale. Gracias por permanecer a la espera. ¿Quieres confirmarme un correo electrónico, por favor? Vale. H. González. Vale, muchísimas gracias. Vale, en este caso, pues va a llegarte a tu correo electrónico la confirmación de la cancelación de la contratación, ¿Vale? Para que lo tengas presente, para que puedas validar efectivamente que se ha generado como tal la cancelación. ¿Vale? Vale, perfecto. Muchas gracias a ti, Héctor. No sé si hay algo más en lo que yo te pueda ayudar o asesorar el día de hoy. No, nada más. Muchas gracias. Vale, con mucho gusto entonces. Espero que tengas una excelente noche. Gracias por llamar. Sandra.", + "total_turns": 1, + "total_words": 295 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF3D2.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF3D2.json new file mode 100644 index 0000000..66a142f --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF3D2.json @@ -0,0 +1,21 @@ +{ + "call_id": "10122025_0082038C3CFBF3D2", + "turns": [], + "words": null, + "metadata": { + "audio_duration_sec": 13.0, + "audio_file": "10122025_0082038C3CFBF3D2.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "93274654-720d-4560-9c08-7c6a2895bda6", + "model_version": null, + "created_at": "2026-01-19T13:38:18.007006", + "processing_time_sec": 5.093467, + "overall_confidence": 0.0, + "speaker_count": null + }, + "full_text": "", + "total_turns": 0, + "total_words": 0 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF3E5.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF3E5.json new file mode 100644 index 0000000..23d7575 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF3E5.json @@ -0,0 +1,166 @@ +{ + "call_id": "10122025_0082038C3CFBF3E5", + "turns": [ + { + "speaker": "A", + "text": "Hola, muy buenas tardes. Soy Ken, estoy aquí para ayudarte. Veo que el motivo de tu llamada es porque deseas información sobre tu factura. Eso en lo correcto, María.", + "start_time": 7.6, + "end_time": 14.72, + "confidence": 0.9117277, + "duration_sec": 7.120000000000001, + "word_count": 29 + }, + { + "speaker": "B", + "text": "Pues mira, Pues mire, Disculpe. Nosotros queríamos saber con quién tenemos que hablar, porque hemos ido hoy a nuestra parcela y nos habían abierto el cuadro del contador y nosotros no lo hemos tocado. No sé quién habrá llegado a hacernos el registro del contador.", + "start_time": 14.88, + "end_time": 38.12, + "confidence": 0.92268336, + "duration_sec": 23.239999999999995, + "word_count": 45 + }, + { + "speaker": "A", + "text": "Del uso de gas. Perdóname, María.", + "start_time": 38.68, + "end_time": 41.0, + "confidence": 0.91367596, + "duration_sec": 2.3200000000000003, + "word_count": 6 + }, + { + "speaker": "B", + "text": "Dígame.", + "start_time": 42.36, + "end_time": 43.08, + "confidence": 0.9425049, + "duration_sec": 0.7199999999999989, + "word_count": 1 + }, + { + "speaker": "A", + "text": "¿Que el contador de luz o de gas?", + "start_time": 43.8, + "end_time": 46.04, + "confidence": 0.98223877, + "duration_sec": 2.240000000000002, + "word_count": 8 + }, + { + "speaker": "B", + "text": "De luz.", + "start_time": 47.16, + "end_time": 47.88, + "confidence": 0.947876, + "duration_sec": 0.720000000000006, + "word_count": 2 + }, + { + "speaker": "A", + "text": "De acuerdo, de acuerdo. En ese caso ya tienes que hablar con lo que sería la distribuidora.", + "start_time": 48.52, + "end_time": 56.96, + "confidence": 0.98083735, + "duration_sec": 8.439999999999998, + "word_count": 17 + }, + { + "speaker": "B", + "text": "Por favor, mira el teléfono donde me tenga que dirigir, por favor.", + "start_time": 58.16, + "end_time": 61.6, + "confidence": 0.8581475, + "duration_sec": 3.440000000000005, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Tu distribuidora sería Indes Energía. Sí. El número sería 990. 878878. 119.", + "start_time": 63.36, + "end_time": 77.844, + "confidence": 0.89441764, + "duration_sec": 14.483999999999995, + "word_count": 12 + }, + { + "speaker": "B", + "text": "719.", + "start_time": 78.47, + "end_time": 81.29, + "confidence": 0.90429, + "duration_sec": 2.8200000000000074, + "word_count": 1 + }, + { + "speaker": "A", + "text": "No, 119. 119.", + "start_time": 81.37, + "end_time": 84.01, + "confidence": 0.902279, + "duration_sec": 2.6400000000000006, + "word_count": 3 + }, + { + "speaker": "B", + "text": "A 119.", + "start_time": 84.57, + "end_time": 85.85, + "confidence": 0.88042206, + "duration_sec": 1.2800000000000011, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Efectivamente.", + "start_time": 86.25, + "end_time": 86.89, + "confidence": 0.9995117, + "duration_sec": 0.6400000000000006, + "word_count": 1 + }, + { + "speaker": "B", + "text": "119. Endesa. Muchas gracias.", + "start_time": 87.45, + "end_time": 90.17, + "confidence": 0.9753929, + "duration_sec": 2.719999999999999, + "word_count": 4 + }, + { + "speaker": "A", + "text": "De nada. Hasta luego, María.", + "start_time": 90.33, + "end_time": 92.01, + "confidence": 0.8851074, + "duration_sec": 1.6800000000000068, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Adiós.", + "start_time": 93.049, + "end_time": 93.69, + "confidence": 0.9995117, + "duration_sec": 0.6409999999999911, + "word_count": 1 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 97.0, + "audio_file": "10122025_0082038C3CFBF3E5.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "35e6a42f-48d3-4cd8-a506-deef16671159", + "model_version": null, + "created_at": "2026-01-19T13:38:22.735924", + "processing_time_sec": 9.820043, + "overall_confidence": 0.923102, + "speaker_count": 2 + }, + "full_text": "Hola, muy buenas tardes. Soy Ken, estoy aquí para ayudarte. Veo que el motivo de tu llamada es porque deseas información sobre tu factura. Eso en lo correcto, María. Pues mira, Pues mire, Disculpe. Nosotros queríamos saber con quién tenemos que hablar, porque hemos ido hoy a nuestra parcela y nos habían abierto el cuadro del contador y nosotros no lo hemos tocado. No sé quién habrá llegado a hacernos el registro del contador. Del uso de gas. Perdóname, María. Dígame. ¿Que el contador de luz o de gas? De luz. De acuerdo, de acuerdo. En ese caso ya tienes que hablar con lo que sería la distribuidora. Por favor, mira el teléfono donde me tenga que dirigir, por favor. Tu distribuidora sería Indes Energía. Sí. El número sería 990. 878878. 119. 719. No, 119. 119. A 119. Efectivamente. 119. Endesa. Muchas gracias. De nada. Hasta luego, María. Adiós.", + "total_turns": 16, + "total_words": 149 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF3FE.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF3FE.json new file mode 100644 index 0000000..011dcc1 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF3FE.json @@ -0,0 +1,265 @@ +{ + "call_id": "10122025_0082038C3CFBF3FE", + "turns": [ + { + "speaker": "A", + "text": "Hola, buenas noches, bienvenido Endesa Energía, Mucho gusto, mi nombre es Jessica. Veo que te comunicas por factura de Orotea, Indícame cómo te puedo ayudar.", + "start_time": 6.8, + "end_time": 16.88, + "confidence": 0.9206185, + "duration_sec": 10.079999999999998, + "word_count": 25 + }, + { + "speaker": "B", + "text": "Mira, a ver, es porque he recibido una carta de Endesa que me pone que hay tres facturas pendientes y una de ellas es de enero del 2025, otra de julio y otra de agosto. Y yo estoy pagando cada mes las facturas de luz y yo me parece mentira que desde enero me ponga que hay una factura pendiente y no me hayan dicho nada antes y me lo pidan ahora. No entiendo.", + "start_time": 17.92, + "end_time": 43.69, + "confidence": 0.9607858, + "duration_sec": 25.769999999999996, + "word_count": 74 + }, + { + "speaker": "A", + "text": "Vale, permítame, por favor, si es tan amable, señora Dorotea, voy a consultarlo. Muchísimas gracias por su amable espera en la llamada. Efectivamente, señora Dorotea, tienes pendiente una factura del 31 de enero del 25 por un valor de 20 euros con 59. La factura no presenta movimiento de pago, es decir, no se realizó pago alguno en ella.", + "start_time": 47.69, + "end_time": 105.71, + "confidence": 0.9525494, + "duration_sec": 58.019999999999996, + "word_count": 59 + }, + { + "speaker": "B", + "text": "Y te digo, y demandar una carta ahora en noviembre.", + "start_time": 108.02, + "end_time": 111.3, + "confidence": 0.89760745, + "duration_sec": 3.280000000000001, + "word_count": 10 + }, + { + "speaker": "A", + "text": "La factura se le hace una compensación a la factura. Pues el valor de la factura era de 58 euros. Permíteme, voy a consultar el valor. 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. Se te hizo una compensación de 58 euros con 64 céntimos y está pendiente por pagar 20 con 59. Tienes pendiente la factura del mes de julio de valor de 69.16, la factura de octubre de 75.94 y como se te realizaste una baja por cambio comercializadora por los días restantes, te generaron una factura de 10 euros con 8 céntimos.", + "start_time": 113.14, + "end_time": 168.94, + "confidence": 0.94136786, + "duration_sec": 55.8, + "word_count": 112 + }, + { + "speaker": "B", + "text": "Vale, o sea que estas tres es el total de todo lo que hay pendiente.", + "start_time": 170.22, + "end_time": 173.66, + "confidence": 0.97223306, + "duration_sec": 3.4399999999999977, + "word_count": 15 + }, + { + "speaker": "A", + "text": "Sí, señora.", + "start_time": 174.14, + "end_time": 174.94, + "confidence": 0.9008789, + "duration_sec": 0.8000000000000114, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Vale, y me has dicho que son 100.", + "start_time": 175.74, + "end_time": 178.7, + "confidence": 0.9172669, + "duration_sec": 2.9599999999999795, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Vale, la totalidad. Bueno, la totalidad está con los 10 euros con 8 céntimos serían 180 con 85. 180 con 85.", + "start_time": 181.1, + "end_time": 196.64, + "confidence": 0.9251604, + "duration_sec": 15.539999999999992, + "word_count": 21 + }, + { + "speaker": "B", + "text": "Con 85, sí, señora. Vale, porque yo la factura de 10 y pico sí que la he recibido por email, o sea, la puedo pagar suelta aparte.", + "start_time": 196.8, + "end_time": 206.8, + "confidence": 0.9396251, + "duration_sec": 10.0, + "word_count": 27 + }, + { + "speaker": "A", + "text": "Es correcto.", + "start_time": 207.36, + "end_time": 208.0, + "confidence": 0.9041341, + "duration_sec": 0.6399999999999864, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Las tengo que pagar con la hoja que me han mandado que tiene el QR abajo. Exactamente, porque yo no tengo factura. Vale. ¿Hasta qué día tengo para pagarlo? Porque no sea cosa que me corten la luz, no sé.", + "start_time": 208.4, + "end_time": 223.29, + "confidence": 0.9488993, + "duration_sec": 14.889999999999986, + "word_count": 40 + }, + { + "speaker": "A", + "text": "Vale. En la hoja te aparece relacionada la fecha.", + "start_time": 223.61, + "end_time": 227.93, + "confidence": 0.96591526, + "duration_sec": 4.319999999999993, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Aquí la carta pone que viene del 28 de octubre, que se ve que la han mandado y me pone un plazo de 15 días. ¿Desde que? ¿Desde la fecha o desde que la he recibido?", + "start_time": 229.29, + "end_time": 241.93, + "confidence": 0.94962215, + "duration_sec": 12.640000000000015, + "word_count": 36 + }, + { + "speaker": "A", + "text": "Vale, si. Aquí me aparece enviado un aviso Asesoría jurídica el día 28 de octubre. Es a partir de la recepción.", + "start_time": 242.19, + "end_time": 252.91, + "confidence": 0.96011776, + "duration_sec": 10.719999999999999, + "word_count": 21 + }, + { + "speaker": "B", + "text": "¿La recepción qué quiere decir? Desde que la han mandado ellos.", + "start_time": 254.91, + "end_time": 257.79, + "confidence": 0.9503507, + "duration_sec": 2.880000000000024, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Aquí te indica. Asimismo le informamos de que no llevarse a cabo en el plazo de 15 días naturales antes indicado el pago de la cantidad deudada que tienen considerado de deuda vencida, líquido y exigible, la presente comunicación tiene la consideración de comunicación previa de requerimiento de pago.", + "start_time": 259.31, + "end_time": 279.43, + "confidence": 0.94065714, + "duration_sec": 20.120000000000005, + "word_count": 49 + }, + { + "speaker": "B", + "text": "Vale, o sea, te digo desde el 28 que me la mandaron ellos.", + "start_time": 281.19, + "end_time": 285.83, + "confidence": 0.96741664, + "duration_sec": 4.639999999999986, + "word_count": 13 + }, + { + "speaker": "A", + "text": "Sí, señora.", + "start_time": 287.75, + "end_time": 288.55, + "confidence": 0.9975993, + "duration_sec": 0.8000000000000114, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Vale, el 28, claro, 15 días. Pero yo la he recibido hoy, que es de a seis. Ya han pasado nueve días, quiero decir. Vale.", + "start_time": 289.35, + "end_time": 300.64, + "confidence": 0.91016275, + "duration_sec": 11.289999999999964, + "word_count": 25 + }, + { + "speaker": "A", + "text": "¿Se le puede realizar la prórroga de esos seis días? ¿Como la recibió luego?", + "start_time": 304.4, + "end_time": 310.48, + "confidence": 0.9156215, + "duration_sec": 6.080000000000041, + "word_count": 14 + }, + { + "speaker": "B", + "text": "No te preocupes, era para saber exacto la fecha, que no se me pasara que la cortaran por eso. Vale, pues no hay problema. Entonces pagáis otro sueldo y este con el papel.", + "start_time": 314.64, + "end_time": 328.14, + "confidence": 0.9400413, + "duration_sec": 13.5, + "word_count": 33 + }, + { + "speaker": "A", + "text": "Sí, señora.", + "start_time": 328.54, + "end_time": 329.34, + "confidence": 0.8326416, + "duration_sec": 0.7999999999999545, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Vale, muy bien.", + "start_time": 329.9, + "end_time": 331.22, + "confidence": 1.0, + "duration_sec": 1.32000000000005, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Muchas gracias a usted por comunicarse en Desenergía, señora Dorotea. Que tenga una excelente tarde.", + "start_time": 331.22, + "end_time": 337.1, + "confidence": 0.915893, + "duration_sec": 5.8799999999999955, + "word_count": 15 + }, + { + "speaker": "B", + "text": "Vale, buenas noches.", + "start_time": 338.06, + "end_time": 339.26, + "confidence": 0.9563802, + "duration_sec": 1.1999999999999886, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Hasta luego.", + "start_time": 339.58, + "end_time": 340.38, + "confidence": 0.8628743, + "duration_sec": 0.8000000000000114, + "word_count": 2 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 343.0, + "audio_file": "10122025_0082038C3CFBF3FE.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "1473a56c-e8b9-4e60-a4c5-a91689aa78e1", + "model_version": null, + "created_at": "2026-01-19T13:38:37.546054", + "processing_time_sec": 24.628832, + "overall_confidence": 0.9427514, + "speaker_count": 2 + }, + "full_text": "Hola, buenas noches, bienvenido Endesa Energía, Mucho gusto, mi nombre es Jessica. Veo que te comunicas por factura de Orotea, Indícame cómo te puedo ayudar. Mira, a ver, es porque he recibido una carta de Endesa que me pone que hay tres facturas pendientes y una de ellas es de enero del 2025, otra de julio y otra de agosto. Y yo estoy pagando cada mes las facturas de luz y yo me parece mentira que desde enero me ponga que hay una factura pendiente y no me hayan dicho nada antes y me lo pidan ahora. No entiendo. Vale, permítame, por favor, si es tan amable, señora Dorotea, voy a consultarlo. Muchísimas gracias por su amable espera en la llamada. Efectivamente, señora Dorotea, tienes pendiente una factura del 31 de enero del 25 por un valor de 20 euros con 59. La factura no presenta movimiento de pago, es decir, no se realizó pago alguno en ella. Y te digo, y demandar una carta ahora en noviembre. La factura se le hace una compensación a la factura. Pues el valor de la factura era de 58 euros. Permíteme, voy a consultar el valor. 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. Se te hizo una compensación de 58 euros con 64 céntimos y está pendiente por pagar 20 con 59. Tienes pendiente la factura del mes de julio de valor de 69.16, la factura de octubre de 75.94 y como se te realizaste una baja por cambio comercializadora por los días restantes, te generaron una factura de 10 euros con 8 céntimos. Vale, o sea que estas tres es el total de todo lo que hay pendiente. Sí, señora. Vale, y me has dicho que son 100. Vale, la totalidad. Bueno, la totalidad está con los 10 euros con 8 céntimos serían 180 con 85. 180 con 85. Con 85, sí, señora. Vale, porque yo la factura de 10 y pico sí que la he recibido por email, o sea, la puedo pagar suelta aparte. Es correcto. Las tengo que pagar con la hoja que me han mandado que tiene el QR abajo. Exactamente, porque yo no tengo factura. Vale. ¿Hasta qué día tengo para pagarlo? Porque no sea cosa que me corten la luz, no sé. Vale. En la hoja te aparece relacionada la fecha. Aquí la carta pone que viene del 28 de octubre, que se ve que la han mandado y me pone un plazo de 15 días. ¿Desde que? ¿Desde la fecha o desde que la he recibido? Vale, si. Aquí me aparece enviado un aviso Asesoría jurídica el día 28 de octubre. Es a partir de la recepción. ¿La recepción qué quiere decir? Desde que la han mandado ellos. Aquí te indica. Asimismo le informamos de que no llevarse a cabo en el plazo de 15 días naturales antes indicado el pago de la cantidad deudada que tienen considerado de deuda vencida, líquido y exigible, la presente comunicación tiene la consideración de comunicación previa de requerimiento de pago. Vale, o sea, te digo desde el 28 que me la mandaron ellos. Sí, señora. Vale, el 28, claro, 15 días. Pero yo la he recibido hoy, que es de a seis. Ya han pasado nueve días, quiero decir. Vale. ¿Se le puede realizar la prórroga de esos seis días? ¿Como la recibió luego? No te preocupes, era para saber exacto la fecha, que no se me pasara que la cortaran por eso. Vale, pues no hay problema. Entonces pagáis otro sueldo y este con el papel. Sí, señora. Vale, muy bien. Muchas gracias a usted por comunicarse en Desenergía, señora Dorotea. Que tenga una excelente tarde. Vale, buenas noches. Hasta luego.", + "total_turns": 27, + "total_words": 633 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF54F.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF54F.json new file mode 100644 index 0000000..2cf6c3f --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF54F.json @@ -0,0 +1,463 @@ +{ + "call_id": "10122025_0082038C3CFBF54F", + "turns": [ + { + "speaker": "A", + "text": "Hola, buenas noches.", + "start_time": 5.44, + "end_time": 6.48, + "confidence": 0.89957684, + "duration_sec": 1.04, + "word_count": 3 + }, + { + "speaker": "B", + "text": "Buenas tardes.", + "start_time": 11.36, + "end_time": 12.32, + "confidence": 0.9564209, + "duration_sec": 0.9600000000000009, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Mucho gusto.", + "start_time": 12.32, + "end_time": 13.12, + "confidence": 0.96936035, + "duration_sec": 0.7999999999999989, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Hablas con Isabela. Veo que te comunicas por una consulta para hablar con el operador. ¿Me puedes confirmar por favor el DNI y el nombre completo del titular, ya que el sistema no logre localizarte?", + "start_time": 13.92, + "end_time": 26.32, + "confidence": 0.9316371, + "duration_sec": 12.4, + "word_count": 35 + }, + { + "speaker": "A", + "text": "No soy ningún titular de servicio.", + "start_time": 27.5, + "end_time": 29.66, + "confidence": 0.92856175, + "duration_sec": 2.16, + "word_count": 6 + }, + { + "speaker": "B", + "text": "Cuéntame cómo te ayudo.", + "start_time": 34.22, + "end_time": 37.42, + "confidence": 0.93895465, + "duration_sec": 3.200000000000003, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Isabela. Han estado llamando durante más de un año a un teléfono de una persona con la que yo no tengo relación porque esa persona y yo ya no teníamos trato ninguno. No tengo ningún servicio con usted.", + "start_time": 37.42, + "end_time": 50.46, + "confidence": 0.9439817, + "duration_sec": 13.04, + "word_count": 38 + }, + { + "speaker": "B", + "text": "Mira la. No te comprendí, disculpa. Repíteme nuevamente, por favor.", + "start_time": 51.34, + "end_time": 56.62, + "confidence": 0.93363446, + "duration_sec": 5.279999999999994, + "word_count": 10 + }, + { + "speaker": "A", + "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 por un impago. Si quieres les doy mi nombre.", + "start_time": 57.82, + "end_time": 71.5, + "confidence": 0.948139, + "duration_sec": 13.68, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Pero entonces no te comprendo, ya que tu DNI lo tiene otra persona que no eres tú.", + "start_time": 83.03, + "end_time": 87.27, + "confidence": 0.9332108, + "duration_sec": 4.239999999999995, + "word_count": 17 + }, + { + "speaker": "A", + "text": "No están ustedes llamando al teléfono de un ex mío solicitándole datos de mis datos por un impago, cuando yo no tengo ningún servicio con ustedes ni lo he tenido nunca.", + "start_time": 87.35, + "end_time": 109.45, + "confidence": 0.9439448, + "duration_sec": 22.10000000000001, + "word_count": 31 + }, + { + "speaker": "B", + "text": "Pero entonces él te pudo contacto.", + "start_time": 113.29, + "end_time": 116.09, + "confidence": 0.93619794, + "duration_sec": 2.799999999999997, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Seguramente la persona a la que están llamando. La llamada de este teléfono de contacto es que. Perdón, La persona a la que están llamando es el que me ha facilitado este número al que estoy llamando.", + "start_time": 116.97, + "end_time": 131.69, + "confidence": 0.9318067, + "duration_sec": 14.719999999999999, + "word_count": 37 + }, + { + "speaker": "B", + "text": "Vale, pero tranquilo, comprender las consultas.", + "start_time": 135.15, + "end_time": 137.71, + "confidence": 0.84736466, + "duration_sec": 2.5600000000000023, + "word_count": 6 + }, + { + "speaker": "A", + "text": "La consulta es lo primero. Consultar si hay algún impago, que es imposible dado que no tengo ningún servicio con ustedes asociado a mi nombre. Y lo segundo es solicitar que dejen de llamar a esa persona.", + "start_time": 139.23, + "end_time": 154.99, + "confidence": 0.96931857, + "duration_sec": 15.76000000000002, + "word_count": 37 + }, + { + "speaker": "B", + "text": "Vale, Indícame tu DNI, por favor. Yo verifico.", + "start_time": 156.91, + "end_time": 159.87, + "confidence": 0.9900258, + "duration_sec": 2.960000000000008, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Claro. 5 3. Cero 3 31.", + "start_time": 161.1, + "end_time": 176.14, + "confidence": 0.89238435, + "duration_sec": 15.039999999999992, + "word_count": 6 + }, + { + "speaker": "B", + "text": "Te lo confirmo. 5 3 9 6 6 0 3 1. La letra gato.", + "start_time": 176.78, + "end_time": 181.74, + "confidence": 0.87855357, + "duration_sec": 4.960000000000008, + "word_count": 14 + }, + { + "speaker": "A", + "text": "Correcto.", + "start_time": 182.46, + "end_time": 183.1, + "confidence": 0.97216797, + "duration_sec": 0.6399999999999864, + "word_count": 1 + }, + { + "speaker": "B", + "text": "No me registra que tengas ficha de cliente creada con tu DNI. No me registra nada.", + "start_time": 183.82, + "end_time": 189.67, + "confidence": 0.92370605, + "duration_sec": 5.849999999999994, + "word_count": 16 + }, + { + "speaker": "A", + "text": "A esa persona están llamando a mi ex. Están diciéndole si necesitan mi DNI porque tengo un impago con ustedes.", + "start_time": 191.59, + "end_time": 200.15, + "confidence": 0.8801274, + "duration_sec": 8.560000000000002, + "word_count": 20 + }, + { + "speaker": "B", + "text": "Pero muy probablemente es una llamada de timo.", + "start_time": 202.55, + "end_time": 205.03, + "confidence": 0.9893443, + "duration_sec": 2.4799999999999898, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Llevan un año y medio llamándome y me han solicitado que por favor me ponga en contacto con ustedes para que dejen de llamarle.", + "start_time": 206.71, + "end_time": 215.32, + "confidence": 0.9477254, + "duration_sec": 8.609999999999985, + "word_count": 24 + }, + { + "speaker": "B", + "text": "Claro, te comprendo.", + "start_time": 218.43, + "end_time": 220.03, + "confidence": 0.89605033, + "duration_sec": 1.5999999999999943, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Esa persona tiene un historial contra mí de maltrato y al haberle tenido que escuchar acabo de sufrir una crisis de ansiedad. Entiendo el nivel que estoy comentándole.", + "start_time": 220.43, + "end_time": 232.51, + "confidence": 0.9418149, + "duration_sec": 12.079999999999984, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Que.", + "start_time": 234.83, + "end_time": 235.11, + "confidence": 0.765625, + "duration_sec": 0.28000000000000114, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Ha tenido que llamarme mi maltratador para.", + "start_time": 235.11, + "end_time": 237.19, + "confidence": 0.9287284, + "duration_sec": 2.079999999999984, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Solicitarme que dejen de llamarle vendesa. Pero de pronto. ¿Él te puso de teléfono de contacto o al contrario, tú lo pusiste a él?", + "start_time": 237.19, + "end_time": 247.32, + "confidence": 0.94240487, + "duration_sec": 10.129999999999995, + "word_count": 24 + }, + { + "speaker": "A", + "text": "No, no tenemos ningún contrato en conjunto ni he hecho ningún contrato con Endesa ni nada.", + "start_time": 247.64, + "end_time": 253.0, + "confidence": 0.951149, + "duration_sec": 5.360000000000014, + "word_count": 16 + }, + { + "speaker": "B", + "text": "Comprendo, espérame entonces un momento por favor.", + "start_time": 255.8, + "end_time": 258.44, + "confidence": 0.9131324, + "duration_sec": 2.6399999999999864, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Por no tener. Vivo con mis padres, ellos sí son de Endesa, creo.", + "start_time": 260.12, + "end_time": 265.32, + "confidence": 0.94165665, + "duration_sec": 5.199999999999989, + "word_count": 13 + }, + { + "speaker": "B", + "text": "Un momento.", + "start_time": 267.09, + "end_time": 267.57, + "confidence": 0.6633301, + "duration_sec": 0.4800000000000182, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Claro. Buenas.", + "start_time": 268.53, + "end_time": 363.04, + "confidence": 0.7833252, + "duration_sec": 94.51000000000005, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Hola.", + "start_time": 375.21, + "end_time": 375.69, + "confidence": 0.76342773, + "duration_sec": 0.4800000000000182, + "word_count": 1 + }, + { + "speaker": "A", + "text": "¿Pueden confirmar que soy una Y por favor?", + "start_time": 410.099, + "end_time": 411.94, + "confidence": 0.89092, + "duration_sec": 1.8410000000000082, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Buenas. Hola. Sí, muchas gracias por tu espera. ¿Bueno, mira, en este caso como tal realmente la información que me indicas pues es como un poco incoherente porque si la dudas de ti deberían llamarte a ti como si hubieran cogido mis datos.", + "start_time": 430.27, + "end_time": 451.87, + "confidence": 0.9482734, + "duration_sec": 21.600000000000023, + "word_count": 43 + }, + { + "speaker": "A", + "text": "Y su teléfono simplemente por hacer la broma, no?", + "start_time": 451.87, + "end_time": 455.91, + "confidence": 0.9448966, + "duration_sec": 4.0400000000000205, + "word_count": 9 + }, + { + "speaker": "B", + "text": "¿Pero yo piensaría que de pronto la persona te está llamando a ti y te está dando esta información porque como tal mira que tú ni siquiera tienes ficha de Endesa, si me entiendes? Si tú tuvieras una ficha y tuvieras alguna deuda incluso a ti a tu casa te llegarían cartas de cobro ni siquiera llamando, ¿Si me entiendes? Realmente llegarías una carta de Jurídico pero no llamadas. Entonces yo creería que más bien pues de pronto la persona no sé si te está dando información correcta o te está mintiendo, bueno, pero pues no tiene como lógica porque mira que tú no tienes ficha de cliente creada ni la has tenido, ¿Vale? ¿Entonces pues yo que te recomiendo? Pues que hagas caso omiso y a él, si él todo lo llamará a decirle que lo están llamando en tu nombre pues entonces que reporte las llamadas como spam, las bloque o no las conteste simplemente o se ponga la lista Robinson. Entiendo, pero pues realmente siento como que es con otro fin que te está indicando esta información.", + "start_time": 455.91, + "end_time": 526.2, + "confidence": 0.9447137, + "duration_sec": 70.29000000000002, + "word_count": 180 + }, + { + "speaker": "A", + "text": "De acuerdo, entonces. ¿Entonces me confirma que en la inglesa no hay ninguna ficha con mi DNI?", + "start_time": 527.48, + "end_time": 533.87, + "confidence": 0.921757, + "duration_sec": 6.389999999999986, + "word_count": 17 + }, + { + "speaker": "B", + "text": "No, no tienes nada. Si quieres me indicas tu nombre completo, yo lo busco, pero pues si con el DNI no estaba entonces pues no.", + "start_time": 535.47, + "end_time": 544.51, + "confidence": 0.9777962, + "duration_sec": 9.039999999999964, + "word_count": 25 + }, + { + "speaker": "A", + "text": "Lo dudo también mucho, pero bueno. Dulce pulgar como el dedo pulgar, pero si la p lo sano.", + "start_time": 544.59, + "end_time": 550.83, + "confidence": 0.93506765, + "duration_sec": 6.240000000000009, + "word_count": 18 + }, + { + "speaker": "B", + "text": "¿Cuál es el segundo apellido?", + "start_time": 552.91, + "end_time": 554.27, + "confidence": 0.9862305, + "duration_sec": 1.3600000000000136, + "word_count": 5 + }, + { + "speaker": "A", + "text": "L o z a n o.", + "start_time": 555.23, + "end_time": 558.43, + "confidence": 0.8963216, + "duration_sec": 3.199999999999932, + "word_count": 6 + }, + { + "speaker": "B", + "text": "No, tampoco.", + "start_time": 570.4, + "end_time": 571.04, + "confidence": 0.9267578, + "duration_sec": 0.6399999999999864, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Perfecto, entonces las molestias ocasionadas entonces entiendo que no es culpa suya pero entiendo mi situación.", + "start_time": 571.92, + "end_time": 580.24, + "confidence": 0.96227825, + "duration_sec": 8.32000000000005, + "word_count": 16 + }, + { + "speaker": "B", + "text": "Claro, te comprendo Dulce, no te preocupes, de todas maneras igual también a ti. Mil disculpas por las molestias ocasionadas.", + "start_time": 581.52, + "end_time": 589.28, + "confidence": 0.96010745, + "duration_sec": 7.759999999999991, + "word_count": 20 + }, + { + "speaker": "A", + "text": "Vale, mil gracias, buenas noches.", + "start_time": 589.28, + "end_time": 592.97, + "confidence": 0.93486327, + "duration_sec": 3.6900000000000546, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Dale, buenas noches, que estés muy bien.", + "start_time": 593.21, + "end_time": 595.53, + "confidence": 0.941755, + "duration_sec": 2.3199999999999363, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Gracias igualmente Con.", + "start_time": 596.25, + "end_time": 598.48, + "confidence": 0.775038, + "duration_sec": 2.230000000000018, + "word_count": 3 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 599.0, + "audio_file": "10122025_0082038C3CFBF54F.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "8483815e-9bc0-4e7e-ba95-4a46c99decd1", + "model_version": null, + "created_at": "2026-01-19T13:38:47.571636", + "processing_time_sec": 34.652766, + "overall_confidence": 0.93857944, + "speaker_count": 2 + }, + "full_text": "Hola, buenas noches. Buenas tardes. Mucho gusto. Hablas con Isabela. Veo que te comunicas por una consulta para hablar con el operador. ¿Me puedes confirmar por favor el DNI y el nombre completo del titular, ya que el sistema no logre localizarte? No soy ningún titular de servicio. Cuéntame cómo te ayudo. Isabela. Han estado llamando durante más de un año a un teléfono de una persona con la que yo no tengo relación porque esa persona y yo ya no teníamos trato ninguno. No tengo ningún servicio con usted. Mira la. No te comprendí, disculpa. Repíteme nuevamente, por favor. Están solicitándole a una persona durante más de un año mi DNI sin yo tener ningún servicio con ustedes por un impago. Si quieres les doy mi nombre. Pero entonces no te comprendo, ya que tu DNI lo tiene otra persona que no eres tú. No están ustedes llamando al teléfono de un ex mío solicitándole datos de mis datos por un impago, cuando yo no tengo ningún servicio con ustedes ni lo he tenido nunca. Pero entonces él te pudo contacto. Seguramente la persona a la que están llamando. La llamada de este teléfono de contacto es que. Perdón, La persona a la que están llamando es el que me ha facilitado este número al que estoy llamando. Vale, pero tranquilo, comprender las consultas. La consulta es lo primero. Consultar si hay algún impago, que es imposible dado que no tengo ningún servicio con ustedes asociado a mi nombre. Y lo segundo es solicitar que dejen de llamar a esa persona. Vale, Indícame tu DNI, por favor. Yo verifico. Claro. 5 3. Cero 3 31. Te lo confirmo. 5 3 9 6 6 0 3 1. La letra gato. Correcto. No me registra que tengas ficha de cliente creada con tu DNI. No me registra nada. A esa persona están llamando a mi ex. Están diciéndole si necesitan mi DNI porque tengo un impago con ustedes. Pero muy probablemente es una llamada de timo. Llevan un año y medio llamándome y me han solicitado que por favor me ponga en contacto con ustedes para que dejen de llamarle. Claro, te comprendo. Esa persona tiene un historial contra mí de maltrato y al haberle tenido que escuchar acabo de sufrir una crisis de ansiedad. Entiendo el nivel que estoy comentándole. Que. Ha tenido que llamarme mi maltratador para. Solicitarme que dejen de llamarle vendesa. Pero de pronto. ¿Él te puso de teléfono de contacto o al contrario, tú lo pusiste a él? No, no tenemos ningún contrato en conjunto ni he hecho ningún contrato con Endesa ni nada. Comprendo, espérame entonces un momento por favor. Por no tener. Vivo con mis padres, ellos sí son de Endesa, creo. Un momento. Claro. Buenas. Hola. ¿Pueden confirmar que soy una Y por favor? Buenas. Hola. Sí, muchas gracias por tu espera. ¿Bueno, mira, en este caso como tal realmente la información que me indicas pues es como un poco incoherente porque si la dudas de ti deberían llamarte a ti como si hubieran cogido mis datos. Y su teléfono simplemente por hacer la broma, no? ¿Pero yo piensaría que de pronto la persona te está llamando a ti y te está dando esta información porque como tal mira que tú ni siquiera tienes ficha de Endesa, si me entiendes? Si tú tuvieras una ficha y tuvieras alguna deuda incluso a ti a tu casa te llegarían cartas de cobro ni siquiera llamando, ¿Si me entiendes? Realmente llegarías una carta de Jurídico pero no llamadas. Entonces yo creería que más bien pues de pronto la persona no sé si te está dando información correcta o te está mintiendo, bueno, pero pues no tiene como lógica porque mira que tú no tienes ficha de cliente creada ni la has tenido, ¿Vale? ¿Entonces pues yo que te recomiendo? Pues que hagas caso omiso y a él, si él todo lo llamará a decirle que lo están llamando en tu nombre pues entonces que reporte las llamadas como spam, las bloque o no las conteste simplemente o se ponga la lista Robinson. Entiendo, pero pues realmente siento como que es con otro fin que te está indicando esta información. De acuerdo, entonces. ¿Entonces me confirma que en la inglesa no hay ninguna ficha con mi DNI? No, no tienes nada. Si quieres me indicas tu nombre completo, yo lo busco, pero pues si con el DNI no estaba entonces pues no. Lo dudo también mucho, pero bueno. Dulce pulgar como el dedo pulgar, pero si la p lo sano. ¿Cuál es el segundo apellido? L o z a n o. No, tampoco. Perfecto, entonces las molestias ocasionadas entonces entiendo que no es culpa suya pero entiendo mi situación. Claro, te comprendo Dulce, no te preocupes, de todas maneras igual también a ti. Mil disculpas por las molestias ocasionadas. Vale, mil gracias, buenas noches. Dale, buenas noches, que estés muy bien. Gracias igualmente Con.", + "total_turns": 49, + "total_words": 827 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF5B8.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF5B8.json new file mode 100644 index 0000000..61b208d --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF5B8.json @@ -0,0 +1,157 @@ +{ + "call_id": "10122025_0082038C3CFBF5B8", + "turns": [ + { + "speaker": "A", + "text": "Hola, muy buena noche, bienvenido. Hablas con Juan David. Tengo el gusto de hablar con Mohamed.", + "start_time": 2.64, + "end_time": 8.88, + "confidence": 0.9503708, + "duration_sec": 6.24, + "word_count": 16 + }, + { + "speaker": "B", + "text": "Necesito que me repitas.", + "start_time": 9.6, + "end_time": 11.36, + "confidence": 0.8514201, + "duration_sec": 1.7599999999999998, + "word_count": 4 + }, + { + "speaker": "A", + "text": "No se te escucha muy bien. Tengo el gusto de hablar con Mohamed. Listo, listo ahí ¿Cómo puedo ayudar?", + "start_time": 14.32, + "end_time": 22.4, + "confidence": 0.93501574, + "duration_sec": 8.079999999999998, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Ayer me dio un compañero tuyo un email que que me está diciendo que no se puede mandar. Es sobre una factura que ya tengo pagada, pero que vosotros estáis reclamando.", + "start_time": 22.88, + "end_time": 33.13, + "confidence": 0.93949646, + "duration_sec": 10.250000000000004, + "word_count": 31 + }, + { + "speaker": "A", + "text": "Vale, en este momento, permítame.", + "start_time": 35.05, + "end_time": 37.77, + "confidence": 0.96729493, + "duration_sec": 2.720000000000006, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Es pero que está en correcto, no se puede entregar a estos destinatarios o grupos, No existe.", + "start_time": 42.01, + "end_time": 47.53, + "confidence": 0.9710162, + "duration_sec": 5.520000000000003, + "word_count": 17 + }, + { + "speaker": "A", + "text": "¿A cuál correo te han indicado?", + "start_time": 47.77, + "end_time": 49.53, + "confidence": 0.92323136, + "duration_sec": 1.759999999999998, + "word_count": 6 + }, + { + "speaker": "B", + "text": "Documento pago online es.", + "start_time": 50.25, + "end_time": 54.27, + "confidence": 0.93255615, + "duration_sec": 4.020000000000003, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Arroba indesaonline Es en este momento vamos a validarlo. ¿Qué factura es la que usted actualmente me indica que ya pagó?", + "start_time": 56.99, + "end_time": 75.63, + "confidence": 0.9597145, + "duration_sec": 18.639999999999993, + "word_count": 21 + }, + { + "speaker": "B", + "text": "Una de 40 y pico y 73 creo.", + "start_time": 77.39, + "end_time": 82.63, + "confidence": 0.8688137, + "duration_sec": 5.239999999999995, + "word_count": 8 + }, + { + "speaker": "A", + "text": "45 con 73. Listo. En este momento me registra el sistema que en este momento ya ha sido pagada, ya no la debes, Ya se ha solucionado. Actualmente no tienes ninguna deuda. 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. Dale momento. Sí, perfecto. Estás al día en todas tus facturas.", + "start_time": 83.19, + "end_time": 116.75, + "confidence": 0.94202685, + "duration_sec": 33.56, + "word_count": 67 + }, + { + "speaker": "B", + "text": "Vale, perfecto. Muchas gracias.", + "start_time": 117.47, + "end_time": 118.99, + "confidence": 0.9649251, + "duration_sec": 1.519999999999996, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Pues vale, antes de finalizar, Mohamed, quería preguntarte, aparte de este suministro, ¿Tú cuentas con algún otro que quieras traer a Endesa?", + "start_time": 118.99, + "end_time": 127.47, + "confidence": 0.9216486, + "duration_sec": 8.480000000000004, + "word_count": 22 + }, + { + "speaker": "B", + "text": "De momento aún no, pero lo tendré en cuenta.", + "start_time": 128.27, + "end_time": 130.43, + "confidence": 0.9465061, + "duration_sec": 2.1599999999999966, + "word_count": 9 + }, + { + "speaker": "A", + "text": "Vale, Recuerda que si lo tienes en cuenta, nuevos kilovatios al 0,10 para nuevas segundos puntos de suministro. Listo, Que tengas muy buena noche.", + "start_time": 130.75, + "end_time": 143.27, + "confidence": 0.93517643, + "duration_sec": 12.52000000000001, + "word_count": 24 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 144.0, + "audio_file": "10122025_0082038C3CFBF5B8.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "9254b224-ac24-475e-be48-d2b935d943e6", + "model_version": null, + "created_at": "2026-01-19T13:38:43.951545", + "processing_time_sec": 31.030025, + "overall_confidence": 0.9394309, + "speaker_count": 2 + }, + "full_text": "Hola, muy buena noche, bienvenido. Hablas con Juan David. Tengo el gusto de hablar con Mohamed. Necesito que me repitas. No se te escucha muy bien. Tengo el gusto de hablar con Mohamed. Listo, listo ahí ¿Cómo puedo ayudar? Ayer me dio un compañero tuyo un email que que me está diciendo que no se puede mandar. Es sobre una factura que ya tengo pagada, pero que vosotros estáis reclamando. Vale, en este momento, permítame. Es pero que está en correcto, no se puede entregar a estos destinatarios o grupos, No existe. ¿A cuál correo te han indicado? Documento pago online es. Arroba indesaonline Es en este momento vamos a validarlo. ¿Qué factura es la que usted actualmente me indica que ya pagó? Una de 40 y pico y 73 creo. 45 con 73. Listo. En este momento me registra el sistema que en este momento ya ha sido pagada, ya no la debes, Ya se ha solucionado. Actualmente no tienes ninguna deuda. 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. Dale momento. Sí, perfecto. Estás al día en todas tus facturas. Vale, perfecto. Muchas gracias. Pues vale, antes de finalizar, Mohamed, quería preguntarte, aparte de este suministro, ¿Tú cuentas con algún otro que quieras traer a Endesa? De momento aún no, pero lo tendré en cuenta. Vale, Recuerda que si lo tienes en cuenta, nuevos kilovatios al 0,10 para nuevas segundos puntos de suministro. Listo, Que tengas muy buena noche.", + "total_turns": 15, + "total_words": 257 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF65B.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF65B.json new file mode 100644 index 0000000..44e51bb --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF65B.json @@ -0,0 +1,31 @@ +{ + "call_id": "10122025_0082038C3CFBF65B", + "turns": [ + { + "speaker": "A", + "text": "¿Muy buenas tardes hablas con Carol Hernández cómo te puedo ayudar el día de hoy con información hablo con Miriam Hola Hola Miriam me escuchas? ¿Hola Miriam Miriam me oyes? ¿Hola Hola Miryam Miriam me escuchas? ¿Hola Hola Hola Miryam me escuchas? ¿Por favor regresa nuevamente la llamada Hola Hola Hola Hola Hola me escuchas? ¿Hola Miriam Hola Hola Miriam me escuchas? ¿Hola Hola Miriam Hola? ¿Miriam Hola Hola Hola Hola Miryam me escuchas? ¿Hola Hola hay alguien en la llamada? ¿Hola Hola Miriam me escuchas? ¿Hola Miriam estás en la llamada? ¿Hola Hola Hola tendré que finalizar la llamada me oye? ¿Hola Hola Miriam me escucha? ¿Hola Hola Hola Miriam Hola Hola Miriam Hola Miriam tendré que finalizar la llamada me escuchas? ¿Hola Hola Hola Hola En este caso por falta de comunicación tendré que finalizar la llamada me oye? Hola En este caso por falta de comunicación se procede a finalizar la llamada autoriza coordinador Giancarlos García tenga una feliz noche.", + "start_time": 5.76, + "end_time": 155.49, + "confidence": 0.93971646, + "duration_sec": 149.73000000000002, + "word_count": 163 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 156.0, + "audio_file": "10122025_0082038C3CFBF65B.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "500f01cc-56d5-4bfb-b0fa-58fbe62ed06e", + "model_version": null, + "created_at": "2026-01-19T13:38:19.503861", + "processing_time_sec": 6.580668, + "overall_confidence": 0.93971646, + "speaker_count": 1 + }, + "full_text": "¿Muy buenas tardes hablas con Carol Hernández cómo te puedo ayudar el día de hoy con información hablo con Miriam Hola Hola Miriam me escuchas? ¿Hola Miriam Miriam me oyes? ¿Hola Hola Miryam Miriam me escuchas? ¿Hola Hola Hola Miryam me escuchas? ¿Por favor regresa nuevamente la llamada Hola Hola Hola Hola Hola me escuchas? ¿Hola Miriam Hola Hola Miriam me escuchas? ¿Hola Hola Miriam Hola? ¿Miriam Hola Hola Hola Hola Miryam me escuchas? ¿Hola Hola hay alguien en la llamada? ¿Hola Hola Miriam me escuchas? ¿Hola Miriam estás en la llamada? ¿Hola Hola Hola tendré que finalizar la llamada me oye? ¿Hola Hola Miriam me escucha? ¿Hola Hola Hola Miriam Hola Hola Miriam Hola Miriam tendré que finalizar la llamada me escuchas? ¿Hola Hola Hola Hola En este caso por falta de comunicación tendré que finalizar la llamada me oye? Hola En este caso por falta de comunicación se procede a finalizar la llamada autoriza coordinador Giancarlos García tenga una feliz noche.", + "total_turns": 1, + "total_words": 163 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF6C6.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF6C6.json new file mode 100644 index 0000000..e2e3bd6 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF6C6.json @@ -0,0 +1,1129 @@ +{ + "call_id": "10122025_0082038C3CFBF6C6", + "turns": [ + { + "speaker": "A", + "text": "¿Hola, muy buenas noches, la tiene Manuel? Veo que se comunica por un tema de facturas, ¿Hablo con José Miguel?", + "start_time": 3.04, + "end_time": 8.0, + "confidence": 0.97056884, + "duration_sec": 4.96, + "word_count": 20 + }, + { + "speaker": "B", + "text": "Sí.", + "start_time": 8.88, + "end_time": 9.36, + "confidence": 0.99243164, + "duration_sec": 0.47999999999999865, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Hola José Miguel, ¿Cómo le puedo ayudar con la factura?", + "start_time": 9.52, + "end_time": 12.16, + "confidence": 0.9364827, + "duration_sec": 2.6400000000000006, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Pues bueno, la Lula tengo domiciliada con ustedes y el día 22 me cargan un recibo de 55, 65 y el periodo de facturación es del 3 del 9 del 25 al 5 del día del 25.", + "start_time": 13.44, + "end_time": 28.96, + "confidence": 0.92855155, + "duration_sec": 15.520000000000001, + "word_count": 37 + }, + { + "speaker": "A", + "text": "¿Y qué sucede específicamente con esa factura?", + "start_time": 31.74, + "end_time": 34.14, + "confidence": 0.95093936, + "duration_sec": 2.400000000000002, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Con esa nada, se pagó y ya está. Y me envían ustedes otra factura que dice que debo que el periodo de facturación es del 8 del 9 de 2025 al 7 de, o sea lo mismo con importe de 56,99, que es lo que me reclaman ustedes, o 59.", + "start_time": 34.86, + "end_time": 53.1, + "confidence": 0.95937216, + "duration_sec": 18.240000000000002, + "word_count": 50 + }, + { + "speaker": "A", + "text": "Vale, le entiendo. Bueno, usted visualiza el mismo periodo, básicamente cambia el precio, pero sigue siendo el mismo periodo.", + "start_time": 53.66, + "end_time": 63.29, + "confidence": 0.9411214, + "duration_sec": 9.630000000000003, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Hay una diferencia de dos días, pero como yo la tengo domiciliada y ustedes me la quitan todos los meses, yo he mirado y ahora he mirado en estos live y me dice que tiene una factura, pero es que yo ese periodo es que los dos periodos resulta que son los mismos y me están pidiendo ustedes doble factura de pago.", + "start_time": 63.93, + "end_time": 84.03, + "confidence": 0.93948317, + "duration_sec": 20.1, + "word_count": 62 + }, + { + "speaker": "A", + "text": "Vamos a ver qué es lo que está pasando, José Miguel. Entonces la factura correcta es la de 55 con 65, esa es la que ya pagó del 3 de septiembre al 5 de octubre, 32 días. Y esa otra que usted me dice 56.99. Vamos a verificar el periodo. Claro, acá hay un error, dice que del 8 de septiembre al 7 de octubre y la anterior era del 3 de septiembre al 5 de octubre, 32 días. Vamos a ver qué es lo que está pasando. Denme un minuto su tiempo, José Miguel, yo sigo analizando la factura, ¿Vale? No me tardo. Un momento por favor. Gracias.", + "start_time": 85.23, + "end_time": 117.29, + "confidence": 0.9535062, + "duration_sec": 32.06, + "word_count": 109 + }, + { + "speaker": "B", + "text": "Por gusto, digo, porque me quitan. Ahí lo deja y al muchacho le envío aunque se lo está tras de ahora hemos pagado una factura del 8 de 9 hasta el 7 de 10.", + "start_time": 124.81, + "end_time": 137.4, + "confidence": 0.9028226, + "duration_sec": 12.590000000000003, + "word_count": 34 + }, + { + "speaker": "A", + "text": "¿No? José, gracias por su paciencia. ¿Me escucha, José? Le consulto ¿Cuántos puntos de suministro tiene usted? Uno, solamente uno. Claro. ¿Me confirma la dirección, por favor?", + "start_time": 137.4, + "end_time": 155.16, + "confidence": 0.9385534, + "duration_sec": 17.75999999999999, + "word_count": 27 + }, + { + "speaker": "B", + "text": "Calle Hurtado.", + "start_time": 156.04, + "end_time": 157.16, + "confidence": 0.9699707, + "duration_sec": 1.1200000000000045, + "word_count": 2 + }, + { + "speaker": "A", + "text": "¿El Calle Hurtado?", + "start_time": 158.04, + "end_time": 159.96, + "confidence": 0.89921063, + "duration_sec": 1.920000000000016, + "word_count": 3 + }, + { + "speaker": "B", + "text": "Sí.", + "start_time": 160.6, + "end_time": 161.08, + "confidence": 0.99853516, + "duration_sec": 0.4800000000000182, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Vale.", + "start_time": 161.61, + "end_time": 162.25, + "confidence": 0.795166, + "duration_sec": 0.6399999999999864, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Número siete. Vale. Segundo. Vale.", + "start_time": 163.29, + "end_time": 170.33, + "confidence": 0.934139, + "duration_sec": 7.0400000000000205, + "word_count": 5 + }, + { + "speaker": "A", + "text": "José Miguel, Mire, yo acá estoy revisando y estoy viendo que la factura que usted ya pagó, la de 55 con 65, me reflejan un punto de suministro diferente. La última, la que usted le aparece pendiente que es de 56 con 99, esa sí me aparece directamente de la calle hurtado número 7, segundo banco, pero la.", + "start_time": 170.41, + "end_time": 191.84, + "confidence": 0.9561884, + "duration_sec": 21.430000000000007, + "word_count": 58 + }, + { + "speaker": "B", + "text": "Yo recibo una carta con una domiciliación y me descuenta 55 con 65 como siempre que este contrato llevo con él años y me descuenta 55, 65 y me la quito ustedes del banco y yo la pago. No entiendo por qué me entra otra factura más en el mismo mes.", + "start_time": 196.16, + "end_time": 216.64, + "confidence": 0.93543136, + "duration_sec": 20.47999999999999, + "word_count": 51 + }, + { + "speaker": "A", + "text": "Es otro suministro, José Miguel. Déjeme le sigo revisando porque es que aparece contra. Yo no tengo más suministro, voy a validarlo, ¿Vale? Porque puede ser, de ser así, puede ser un cruce de cups que se generó. José Miguel, déjeme yo valido la información, no me tardo, ¿Vale? No me vaya a cruzar la llama.", + "start_time": 218.35, + "end_time": 232.39, + "confidence": 0.9583217, + "duration_sec": 14.039999999999992, + "word_count": 56 + }, + { + "speaker": "B", + "text": "¿Me entiende lo que le quiero decir?", + "start_time": 232.39, + "end_time": 233.67, + "confidence": 0.90904015, + "duration_sec": 1.2800000000000011, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Sí, le entiendo totalmente. No es normal que le hayan cargado.", + "start_time": 233.67, + "end_time": 236.35, + "confidence": 0.973692, + "duration_sec": 2.680000000000007, + "word_count": 11 + }, + { + "speaker": "B", + "text": "En la página, en la factura de 55 que es la que pago, ahí viene mi número de cuenta y viene todo como siempre. Si, le entiendo, hacen otro cargo y dicen que no lo hago, no hago efectivo.", + "start_time": 236.83, + "end_time": 248.07, + "confidence": 0.93197346, + "duration_sec": 11.23999999999998, + "word_count": 39 + }, + { + "speaker": "A", + "text": "Hay un error que se está generando, José, Yo ya voy a entrar a validarlo. Lo que sucede es que son el mismo periodo de facturación, digamos que van del mismo mes de septiembre al mismo mes de octubre, pero en la factura me está mostrando que son puntos de suministros diferentes, o sea.", + "start_time": 249.75, + "end_time": 265.91, + "confidence": 0.977527, + "duration_sec": 16.160000000000025, + "word_count": 54 + }, + { + "speaker": "B", + "text": "Yo es que no tengo más, es que yo solamente.", + "start_time": 269.04, + "end_time": 271.84, + "confidence": 0.87976074, + "duration_sec": 2.7999999999999545, + "word_count": 10 + }, + { + "speaker": "A", + "text": "Tengo solo el de Hurtado. Entonces permítame, yo trato de analizar cuál es ese otro suministro que se está facturando a nombre suyo, José Miguel, a.", + "start_time": 271.84, + "end_time": 279.12, + "confidence": 0.95146674, + "duration_sec": 7.28000000000003, + "word_count": 26 + }, + { + "speaker": "B", + "text": "Ver qué fue lo que pasó, ¿Vale?", + "start_time": 279.12, + "end_time": 282.04, + "confidence": 0.94112724, + "duration_sec": 2.920000000000016, + "word_count": 7 + }, + { + "speaker": "A", + "text": "No me tardo.", + "start_time": 282.04, + "end_time": 282.88, + "confidence": 0.99348956, + "duration_sec": 0.839999999999975, + "word_count": 3 + }, + { + "speaker": "B", + "text": "Dirección de suministro que vaya a brillar. Perdone.", + "start_time": 314.0, + "end_time": 318.56, + "confidence": 0.8053436, + "duration_sec": 4.560000000000002, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Le escucho, le escucho José Miguel.", + "start_time": 321.52, + "end_time": 323.2, + "confidence": 0.9601237, + "duration_sec": 1.6800000000000068, + "word_count": 6 + }, + { + "speaker": "B", + "text": "Sí, perdón, es que lo estoy mirando y es que tengo un problema porque yo tenía antiguamente una casa, una casa en Mengíbar que pone paraje Los Grillares y me viene los datos del contrato y por dirección de suministro para Jeroglía, esa antigua casa, pero yo esa antigua casa no la tengo domiciliada y además esa casa no es mía desde el año 2021 si es verdad que estoy teniendo problemas con la luz porque está todavía mi nombre y es que me estoy dando cuenta que de la dirección de suministro de la factura que pagué de 55. Sí señor, pertenece con el dato del contrato. Dirección de suministro para Jeroglía.", + "start_time": 323.28, + "end_time": 362.77, + "confidence": 0.93513525, + "duration_sec": 39.49000000000001, + "word_count": 113 + }, + { + "speaker": "A", + "text": "Sí señor, justamente eso le decía, que la factura que usted pagó es otra dirección.", + "start_time": 363.41, + "end_time": 367.33, + "confidence": 0.97139215, + "duration_sec": 3.919999999999959, + "word_count": 15 + }, + { + "speaker": "B", + "text": "Mira, perdone, si yo no doy la orden, o sea, si yo no tengo domiciliada el paraje de los diarios, ¿Por qué ustedes me la quitan? Voy a verificar esa factura no la tengo domiciliada, eso es lo primero. Y lo segundo, ustedes no tienen autorización para cobrarme a mí una factura de que yo no tengo una orden de domiciliación con ustedes.", + "start_time": 369.09, + "end_time": 391.34, + "confidence": 0.93943775, + "duration_sec": 22.25, + "word_count": 63 + }, + { + "speaker": "A", + "text": "Claro, José Miguel tiene toda la razón, sí señor, eso es lo que ya estoy entrando también a validar. Lo que usted acaba de visualizar justamente es lo que yo estaba revisando cuando estaba visualizando las dos facturas.", + "start_time": 393.66, + "end_time": 403.88, + "confidence": 0.9901583, + "duration_sec": 10.21999999999997, + "word_count": 38 + }, + { + "speaker": "B", + "text": "¿Me estoy dando cuenta, decimos usted eso? Me estoy dando cuenta y claro, y la otra pone ver mi dirección de suministro en la que se debe poner mi dirección de suministro de la calle Hurtado, que es la que yo quiero pagar y la que tengo domitilar con ustedes. No la de paraje de los Grillares.", + "start_time": 404.92, + "end_time": 418.36, + "confidence": 0.9164036, + "duration_sec": 13.439999999999998, + "word_count": 57 + }, + { + "speaker": "A", + "text": "No la de paraje los Grillares. Y si usted se fija en esa factura que usted está revisando que tiene la dirección de paraje de los Grillares, fíjese que más arriba aparece titular del contrato y está el nombre suyo, sin embargo, el contrato como tal, ese suministro, veo que está a nombre de otra persona, no está a nombre suyo. ¿Déjeme yo sigo revisando porque José Miguel, efectivamente esto es un error, hay que entrar a reclamarlo, Déjeme yo sigo analizando la información, vale? No me vaya a colgar la llamada, por favor. Vale, gracias.", + "start_time": 418.36, + "end_time": 444.64, + "confidence": 0.9613933, + "duration_sec": 26.279999999999973, + "word_count": 96 + }, + { + "speaker": "B", + "text": "Porque no va a meter un problema, pero la vida ya no va a haber buenas palabras, Ya no había buenas.", + "start_time": 458.64, + "end_time": 467.03, + "confidence": 0.8099966, + "duration_sec": 8.389999999999986, + "word_count": 21 + }, + { + "speaker": "A", + "text": "Palabras.", + "start_time": 467.03, + "end_time": 467.39, + "confidence": 0.99934894, + "duration_sec": 0.36000000000001364, + "word_count": 1 + }, + { + "speaker": "B", + "text": "O soluciona o la demando, Ya no hay más, ya no. Hay más 20 21 19 que ya son 5 o 6 años, ya está.", + "start_time": 469.87, + "end_time": 494.2, + "confidence": 0.8955155, + "duration_sec": 24.329999999999984, + "word_count": 25 + }, + { + "speaker": "A", + "text": "Bien.", + "start_time": 494.2, + "end_time": 494.52, + "confidence": 0.9941406, + "duration_sec": 0.3199999999999932, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Es que ya tiene tiempo, es que ya tiene su escritura, es que lo tiene todo. Ya, pero qué no el que tengo impagado la calle puede ser un poco más peligroso, No te escribió un mensaje. Si me quito el teléfono ahora.", + "start_time": 502.84, + "end_time": 548.21, + "confidence": 0.88831866, + "duration_sec": 45.37000000000006, + "word_count": 43 + }, + { + "speaker": "A", + "text": "José Miguel, sigo trabajando para usted. Un momento más, por favor, no me vaya a colgar. Le comento, lo que estoy revisando en este momento son las modificaciones que se han hecho sobre el punto de suministro. Resulta que veo que ese suministro está a nombre de otra persona. Sin embargo yo veo que la contratación que hizo esa persona es como muy reciente, es como si fuera desde el mes de octubre. No sé si usted me dice que este suministro no, usted no lo ha contratado hace varios años.", + "start_time": 588.3, + "end_time": 612.68, + "confidence": 0.97557026, + "duration_sec": 24.379999999999995, + "word_count": 91 + }, + { + "speaker": "B", + "text": "Claro, mira, yo le comento, yo también problemas con el tema de la luz y tal, que eso fue data del año 2019-2020 entonces me habían cambiado el número de el nombre de la luz a nombre suyo. Entonces yo se lo reclamé a esta mujer, oye, cambia ya la luz que ya está bien de que la cambias que lleva un montón de tiempo con la luz a tu nombre, A mi nombre, perdón.", + "start_time": 614.76, + "end_time": 638.23, + "confidence": 0.9348477, + "duration_sec": 23.470000000000027, + "word_count": 75 + }, + { + "speaker": "A", + "text": "Exacto.", + "start_time": 638.39, + "end_time": 639.03, + "confidence": 0.9943034, + "duration_sec": 0.6399999999999864, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Y lo hizo recientemente en el mes de octubre creo recordar porque me enfadé con ella y tal Y bueno, se ve que la ha solucionado creo porque ha cambiado ya a su nombre. Pero claro, es que ustedes me han cargado a mí una factura sin que tenga que ver nada ahí.", + "start_time": 639.75, + "end_time": 659.22, + "confidence": 0.9167135, + "duration_sec": 19.470000000000027, + "word_count": 53 + }, + { + "speaker": "A", + "text": "Le hago una consulta, José Miguel, esa persona que tomó la titularidad de ese suministro, usted la conoce por lo que entiendo, ¿Cierto?", + "start_time": 661.22, + "end_time": 668.74, + "confidence": 0.96867394, + "duration_sec": 7.519999999999982, + "word_count": 23 + }, + { + "speaker": "B", + "text": "Sí.", + "start_time": 668.82, + "end_time": 669.3, + "confidence": 0.6678467, + "duration_sec": 0.4799999999999045, + "word_count": 1 + }, + { + "speaker": "A", + "text": "¿Usted me podría confirmar el nombre de esta persona?", + "start_time": 670.18, + "end_time": 672.34, + "confidence": 0.9954608, + "duration_sec": 2.160000000000082, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Sí, Dori, se llama Dori.", + "start_time": 673.54, + "end_time": 677.78, + "confidence": 0.8909342, + "duration_sec": 4.240000000000009, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Vale. Bueno, y usted me confirma que ella hizo recientemente el cambio de titularidad ahora en este mes de octubre que acaba de pasar, ¿Cierto?", + "start_time": 678.9, + "end_time": 686.26, + "confidence": 0.96116537, + "duration_sec": 7.360000000000014, + "word_count": 25 + }, + { + "speaker": "B", + "text": "Sí, porque precisamente ayer me enfadé porque como yo tengo de ustedes pues estaba revisando mi factura y demás y me di cuenta de que ya le di un montón de facturas que no sé qué. Entonces claro, digo, yo no puedo estar ahí porque eso no es mío y eso es tuyo, pues le da tu nombre. Entonces precisamente ella me lo dijo y me lo dijo que le había cambiado.", + "start_time": 686.26, + "end_time": 710.0, + "confidence": 0.94245744, + "duration_sec": 23.74000000000001, + "word_count": 72 + }, + { + "speaker": "A", + "text": "Vale. Es decir que antes de que esta persona hiciera el cambio de titularidad, José Miguel, ese contrato, ese suministro estaba a nombre suyo y la facturación se estaba generando a su nombre.", + "start_time": 710.4, + "end_time": 720.28, + "confidence": 0.9579449, + "duration_sec": 9.879999999999995, + "word_count": 33 + }, + { + "speaker": "B", + "text": "Efectivamente, sí señor.", + "start_time": 721.0, + "end_time": 722.76, + "confidence": 0.9194553, + "duration_sec": 1.759999999999991, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Porque mire, esa factura que usted ya pagó hasta el día que viene del periodo de facturación es justamente el día antes que se hiciera el cambio de titularidad.", + "start_time": 722.76, + "end_time": 731.16, + "confidence": 0.968562, + "duration_sec": 8.399999999999977, + "word_count": 29 + }, + { + "speaker": "B", + "text": "Vale, pero mi pregunta es ¿Por qué ustedes me cobran esa factura si yo no tengo domiciliación de esa cu? ¿Ni de ese domicilio? No le tengo domiciliado, ¿Por qué me lo cobran ustedes?", + "start_time": 732.52, + "end_time": 745.69, + "confidence": 0.94056827, + "duration_sec": 13.170000000000073, + "word_count": 34 + }, + { + "speaker": "A", + "text": "Vamos a verificarlo. Tengo que en este caso entrar al contrato que ya no está a nombre suyo para verificar el tema de la domiciliación a ver qué fue lo que pasó. José Miguel, deme un momento más de su tiempo, ¿Vale? No me vaya a colgar la llamada, por favor.", + "start_time": 747.45, + "end_time": 758.41, + "confidence": 0.97895473, + "duration_sec": 10.959999999999923, + "word_count": 51 + }, + { + "speaker": "B", + "text": "600.000. Es que se ve cayó algo porque la cambió ya su nombre.", + "start_time": 768.01, + "end_time": 795.25, + "confidence": 0.9309217, + "duration_sec": 27.24000000000001, + "word_count": 13 + }, + { + "speaker": "A", + "text": "José Miguel, gracias por su paciencia. ¿Me escucha?", + "start_time": 848.92, + "end_time": 851.24, + "confidence": 0.9547221, + "duration_sec": 2.32000000000005, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Sí.", + "start_time": 852.36, + "end_time": 853.16, + "confidence": 0.93725586, + "duration_sec": 0.7999999999999545, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Bueno señor, mire, le informo, acabo de detectar el error en este caso yo puedo ver que el contrato que usted actualmente tiene en la calle Hurtado, ese contrato usted sí lo tiene domiciliado. El sistema de facturación en este caso por error al momento de generar la facturación de esta otra dirección ha, Digamos que vinculado los datos de la cuenta bancaria y por error cargó esa factura. Yo en este momento, José Miguel, voy a abrir una reclamación por un cargo erróneo. Esa factura de esa otra dirección no se debió haber cargado la cuenta bancaria sin su autorización y en este caso el informo el reclamo como tal, pues la idea es que se le haga la devolución del dinero o por su parte yo le puedo recomendar que solicite la devolución. Que solicite la devolución en este caso por su propia cuenta.", + "start_time": 853.16, + "end_time": 898.88, + "confidence": 0.97121835, + "duration_sec": 45.72000000000003, + "word_count": 146 + }, + { + "speaker": "B", + "text": "No le entiendo, perdone.", + "start_time": 901.75, + "end_time": 902.95, + "confidence": 0.9331665, + "duration_sec": 1.2000000000000455, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Sí, señor. Mire, yo voy a abrir la reclamación por un cargo erróneo cargado en su cuenta. El cargo erróneo son los 55 euros con 66 con 56 de la dirección del paraje Los Grillares. Ese cargo es erróneo, no debió haberse cargado su cuenta bancaria, por eso voy a abrir una reclamación. Podríamos esperar que la reclamación por sí misma genere la devolución del dinero a su cuenta bancaria o por su cuenta. ¿Usted puede acelerar el proceso comunicándose personalmente con el banco solicitando que regresen esa factura, que regresen ese importe.", + "start_time": 904.55, + "end_time": 935.91, + "confidence": 0.97124976, + "duration_sec": 31.360000000000014, + "word_count": 93 + }, + { + "speaker": "B", + "text": "Vale? Bueno, a mí me da igual, o sea, yo. Pero es que no sé si el banco me va a dejar. Espérese, ¿Lo puedo mirar si lo puedo hacer? Claro.", + "start_time": 938.79, + "end_time": 948.71, + "confidence": 0.94059247, + "duration_sec": 9.920000000000073, + "word_count": 31 + }, + { + "speaker": "A", + "text": "Sí señor, exactamente. Devuélvalo y yo abro la reclamación por un cargo erróneo para que no se vaya a volver a cargar.", + "start_time": 950.96, + "end_time": 956.32, + "confidence": 0.97165823, + "duration_sec": 5.360000000000014, + "word_count": 22 + }, + { + "speaker": "B", + "text": "Claro.", + "start_time": 958.48, + "end_time": 958.96, + "confidence": 0.8489583, + "duration_sec": 0.4800000000000182, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Yo mientras tanto estoy generando la reclamación. José Miguel, tómese su tiempo, Yo nuevamente lo dejo un momento a la espera y enseguida regreso. Tómese su tiempo y ya regreso y seguimos gestionando. No me tardo. Bueno, José Miguel, gracias por su paciencia. Cuénteme cómo va usted con el proceso. Yo le cuento que ya finalicé la reclamación.", + "start_time": 958.96, + "end_time": 1144.31, + "confidence": 0.9708173, + "duration_sec": 185.3499999999999, + "word_count": 58 + }, + { + "speaker": "B", + "text": "Un segundito. Vale, vale.", + "start_time": 1144.95, + "end_time": 1151.51, + "confidence": 0.9124349, + "duration_sec": 6.559999999999945, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Dije, no me tumbo.", + "start_time": 1191.05, + "end_time": 1192.25, + "confidence": 0.8982544, + "duration_sec": 1.2000000000000455, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Pues no puedo devolverlo. Vamos a ver, voy a intentarlo otra vez. Vale.", + "start_time": 1195.45, + "end_time": 1199.05, + "confidence": 0.95903134, + "duration_sec": 3.599999999999909, + "word_count": 13 + }, + { + "speaker": "A", + "text": "Bueno, señor José Miguel, bien pueda, revíselo a ver si se lo puede gestionar. En su defecto, si no lo logra hacer desde la app del banco, ya podría llamar directamente a la entidad bancaria solicitando directamente en una llamada la devolución de esa factura.", + "start_time": 1199.85, + "end_time": 1213.46, + "confidence": 0.952398, + "duration_sec": 13.610000000000127, + "word_count": 45 + }, + { + "speaker": "B", + "text": "Es que no me deja por. A través de.", + "start_time": 1215.62, + "end_time": 1217.78, + "confidence": 0.8576118, + "duration_sec": 2.160000000000082, + "word_count": 9 + }, + { + "speaker": "A", + "text": "No lo está permitiendo a través de la app.", + "start_time": 1222.02, + "end_time": 1224.02, + "confidence": 0.93731916, + "duration_sec": 2.0, + "word_count": 9 + }, + { + "speaker": "B", + "text": "No, no.", + "start_time": 1224.74, + "end_time": 1227.46, + "confidence": 0.89624023, + "duration_sec": 2.7200000000000273, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Ya sería entonces la otra opción. Como le digo, directamente desde una llamada telefónica que usted realiza a la entidad bancaria solicitando la devolución de ese importe de los 55 con 56.", + "start_time": 1228.1, + "end_time": 1240.46, + "confidence": 0.96904844, + "duration_sec": 12.360000000000127, + "word_count": 32 + }, + { + "speaker": "B", + "text": "Bueno, si no lo puedo gestionar hoy, lo gestionó mañana.", + "start_time": 1240.46, + "end_time": 1243.82, + "confidence": 0.91000974, + "duration_sec": 3.3599999999999, + "word_count": 10 + }, + { + "speaker": "A", + "text": "Claro, sí, señor. De igual forma la reclamación ya le queda generada y esta reclamación está relacionada al sistema arbitrario de reclamaciones de la CNMC. Si quiere tome nota del número del reclamo también, José Miguel, para que tenga también toda la información. Digamos, ¿Que número de reclamo sería? 309. 400. 813.", + "start_time": 1243.82, + "end_time": 1279.208, + "confidence": 0.9550384, + "duration_sec": 35.38800000000015, + "word_count": 52 + }, + { + "speaker": "B", + "text": "813. Perfecto. Vale, porque ustedes no me podían, o sea, cobrarme la que tengo pendiente y bueno, no, ya está. Bueno, yo voy a intentar mañana.", + "start_time": 1279.692, + "end_time": 1293.92, + "confidence": 0.9735795, + "duration_sec": 14.228000000000065, + "word_count": 26 + }, + { + "speaker": "A", + "text": "Lo.", + "start_time": 1295.68, + "end_time": 1295.92, + "confidence": 1.0, + "duration_sec": 0.2400000000000091, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Que no quiero, a ver si me va a pasar algo con el suministro o algo.", + "start_time": 1295.92, + "end_time": 1298.96, + "confidence": 0.9451294, + "duration_sec": 3.0399999999999636, + "word_count": 16 + }, + { + "speaker": "A", + "text": "Si le va a suceder. ¿Qué, perdón, José Miguel?", + "start_time": 1300.08, + "end_time": 1302.32, + "confidence": 0.93230975, + "duration_sec": 2.240000000000009, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Que a ver si me va a suceder algo mientras la muestro estén en el suministro o algo.", + "start_time": 1302.879, + "end_time": 1306.56, + "confidence": 0.9437075, + "duration_sec": 3.68100000000004, + "word_count": 18 + }, + { + "speaker": "A", + "text": "No, no, no. Pues en el contrato que actualmente usted tiene con nosotros no va a tener ningún problema. La factura que tiene en este caso de 56.99 de su residencia en Hurtado, en la calle Hurtado, esa sí está pendiente por pagar. Si quiere la tratamos de remesar a la entidad bancaria como para que se le genere el pago automático. Pero su contrato y esta factura, esta sí corresponde. Solamente es la devolución.", + "start_time": 1306.88, + "end_time": 1328.39, + "confidence": 0.95407254, + "duration_sec": 21.50999999999999, + "word_count": 75 + }, + { + "speaker": "B", + "text": "Voy a ver si me pueden devolver el dinero y mañana ya me van a pagar eco.", + "start_time": 1330.55, + "end_time": 1334.31, + "confidence": 0.9121022, + "duration_sec": 3.759999999999991, + "word_count": 17 + }, + { + "speaker": "A", + "text": "Bueno señor, claro que sí. Perfecto, perfecto. Y ya sería, José, que usted también le comenté entonces a estas personas que están viviendo en la otra dirección, pues que son ellos realmente los responsables de esa factura de 55.56 que es como la última que le estaría llegando a usted hasta antes de que ellos hubieran realizado el cambio de titularidad. Sí, señor. Adicional a eso, José Miguel, le consulto, en esta dirección donde usted tiene su contrato, en calle Hurtado, ¿No tendrá usted de casualidad un suministro de gas?", + "start_time": 1334.47, + "end_time": 1362.08, + "confidence": 0.96879834, + "duration_sec": 27.6099999999999, + "word_count": 90 + }, + { + "speaker": "B", + "text": "No, es que yo en esa casa no vivo porque esa casa la tengo alquilado. Yo no vivo ahí en esa casa. Vale.", + "start_time": 1363.12, + "end_time": 1371.28, + "confidence": 0.95768934, + "duration_sec": 8.160000000000082, + "word_count": 23 + }, + { + "speaker": "A", + "text": "Y su residencia principal, José Miguel, ¿Por qué no la tiene con Endesa?", + "start_time": 1371.55, + "end_time": 1375.47, + "confidence": 0.9385141, + "duration_sec": 3.9200000000000728, + "word_count": 13 + }, + { + "speaker": "B", + "text": "Pues no sé, porque llevo aquí viviendo poco tiempo y no lo sé, la verdad.", + "start_time": 1376.59, + "end_time": 1382.11, + "confidence": 0.9546007, + "duration_sec": 5.519999999999982, + "word_count": 15 + }, + { + "speaker": "A", + "text": "Bueno, porque mire, en este caso, pues es normal que un cliente ya antiguo como usted que ha tenido sus contratos en Endesa, también los tenga en esta compañía. Se lleva en este caso una excelente tarifa donde usted puede tener el valor del kilovatio al 0,10 todas las horas, todos los días, José Miguel, y una potencia al día del 0,08.", + "start_time": 1382.11, + "end_time": 1399.23, + "confidence": 0.9582882, + "duration_sec": 17.12000000000012, + "word_count": 62 + }, + { + "speaker": "B", + "text": "Voy a consultar mi mujer, revise saber.", + "start_time": 1400.55, + "end_time": 1403.03, + "confidence": 0.81365097, + "duration_sec": 2.480000000000018, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Cuánto está pagando usted actualmente. Sí señor. Revise su factura.", + "start_time": 1403.03, + "end_time": 1407.51, + "confidence": 0.9971842, + "duration_sec": 4.480000000000018, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Es que no la tengo esa factura yo es que no sé ni dónde la tengo. Es mi mujer, me está diciendo que la pagamos 0.11.", + "start_time": 1408.47, + "end_time": 1414.15, + "confidence": 0.96317387, + "duration_sec": 5.680000000000064, + "word_count": 26 + }, + { + "speaker": "A", + "text": "Ah, imagínese usted, José Miguel, y con nosotros por traer ese suministro y continuar siendo un excelente cliente como lo ha sido, le ofrecemos al 0,10 todas las horas, todos los días, durante todo un año, con la posibilidad de renovar nuevamente las promociones después del año, el kilovatio al 0,10 y términos de potencia todas las horas, todos los días al 0,08 término de potencia 0,08 todas las horas, todos los días. Esta contratación, por ejemplo, al traer el suministro, José Miguel, le garantiza también un pequeño obsequio de unos 15 euros para que usted los aplique como descuento en su próxima factura. ¿Con la aplicación de Endesa, donde usted también visualiza las facturas, ahí puede recibir esos 15 euros de de contratación y adicional unos 10 euros más de bienvenida, o sea que yo por ese suministro le garantizo un regalo de 25 euros y el valor del kilovatio, como lo digo? Al 0,10 José Miguel, ¿Qué le parece.", + "start_time": 1414.39, + "end_time": 1467.98, + "confidence": 0.9543226, + "duration_sec": 53.58999999999992, + "word_count": 161 + }, + { + "speaker": "B", + "text": "De lo que hacemos? Pero en una. ¿En una cuota de cero día hay mucha diferencia de precio? Es que tampoco.", + "start_time": 1471.66, + "end_time": 1487.51, + "confidence": 0.8918806, + "duration_sec": 15.849999999999909, + "word_count": 21 + }, + { + "speaker": "A", + "text": "Pues imagínese usted. Vamos a hacer el cálculo. Imagínese usted. Digamos que la diferencia es un céntimo, ¿Cierto? Esa sería como la diferencia. Si multiplicamos un céntimo por 24 horas al día y lo multiplicamos por 30 pues nos da un aproximado de unos 8 euros aproximadamente que usted se genera con ahorro solamente en términos de consumo de electricidad.", + "start_time": 1488.23, + "end_time": 1508.87, + "confidence": 0.97546035, + "duration_sec": 20.639999999999873, + "word_count": 60 + }, + { + "speaker": "B", + "text": "Y otra oferta más que me puede hacer más me apetecía. Hora de cambiarme.", + "start_time": 1511.83, + "end_time": 1517.03, + "confidence": 0.89559793, + "duration_sec": 5.2000000000000455, + "word_count": 14 + }, + { + "speaker": "A", + "text": "Perdón.", + "start_time": 1517.67, + "end_time": 1518.31, + "confidence": 0.91796875, + "duration_sec": 0.6399999999998727, + "word_count": 1 + }, + { + "speaker": "B", + "text": "¿No hay otra oferta sin que sea porque tarifa plana tiene ustedes?", + "start_time": 1519.19, + "end_time": 1522.47, + "confidence": 0.9857517, + "duration_sec": 3.2799999999999727, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Sí, justamente la tarifa que le estoy mencionando es una tarifa plana, José Miguel. Como le digo, yo le garantizo el valor del kilovatio, el 0,10 todas las horas, todos los días, durante todo un año. Eso es una tarifa plana. Confirme su correo, José Miguel, para ver si es el mismo que yo tengo acá en el sistema.", + "start_time": 1522.87, + "end_time": 1540.55, + "confidence": 0.96774626, + "duration_sec": 17.680000000000064, + "word_count": 59 + }, + { + "speaker": "B", + "text": "A ver, Perdone, ¿Le digo yo el correo?", + "start_time": 1541.82, + "end_time": 1550.46, + "confidence": 0.93927, + "duration_sec": 8.6400000000001, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Sí señor. Yo tengo un correo electrónico acá registrado. ¿Usted me lo puede confirmar para ver.", + "start_time": 1550.54, + "end_time": 1554.54, + "confidence": 0.9605062, + "duration_sec": 4.0, + "word_count": 16 + }, + { + "speaker": "B", + "text": "Si es el mismo, José Miguel?", + "start_time": 1554.54, + "end_time": 1556.86, + "confidence": 0.9985623, + "duration_sec": 2.3199999999999363, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Sí, vale, está perfecto. Sí señor. ¿Y el número móvil de contacto? Creo que es el mismo el que usted me está llamando. ¿Usted me lo puede verbalizar, por favor?", + "start_time": 1557.34, + "end_time": 1568.86, + "confidence": 0.9713311, + "duration_sec": 11.519999999999982, + "word_count": 30 + }, + { + "speaker": "B", + "text": "608. 590.490.", + "start_time": 1570.0, + "end_time": 1574.32, + "confidence": 0.90716, + "duration_sec": 4.319999999999936, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Perfecto, José Miguel. Pues mire, en este momento yo lo puedo invitar usted sin ningún compromiso a de igual manera hacer un cálculo del consumo de electricidad que usted tiene en esa dirección Y yo le puedo sin compromiso darle como un cálculo en cuánto le podría estar saliendo la factura con la tarifa que yo le estoy mencionando en este momento que sería una tarifa plana. ¿Usted de casualidad me puede confirmar el CUPS de esa dirección de su residencia principal y hacemos el cálculo a ver en cuánto le sale la factura?", + "start_time": 1574.72, + "end_time": 1600.88, + "confidence": 0.96790504, + "duration_sec": 26.160000000000082, + "word_count": 94 + }, + { + "speaker": "B", + "text": "Un segundo. Vale, Un segundo. Vale, vale. ¿Pero dónde tenemos la luz? ¿En qué compañía? Perdone, no se lo puedo decir porque no tenemos factura.", + "start_time": 1602.54, + "end_time": 1640.95, + "confidence": 0.90345377, + "duration_sec": 38.41000000000008, + "word_count": 25 + }, + { + "speaker": "A", + "text": "¿Y no la tiene de pronto en algún correo electrónico como para verificar cuánto está consumiendo actualmente Y qué tal que le salga más rentable con nosotros?", + "start_time": 1642.07, + "end_time": 1650.55, + "confidence": 0.94825, + "duration_sec": 8.480000000000018, + "word_count": 27 + }, + { + "speaker": "B", + "text": "Si le digo la verdad es que mi mujer no sabe ni la compañía donde tener uno.", + "start_time": 1654.73, + "end_time": 1658.25, + "confidence": 0.84280694, + "duration_sec": 3.519999999999982, + "word_count": 17 + }, + { + "speaker": "A", + "text": "Sí señor, entiendo. ¿Y no les ha llegado una primer factura todavía?", + "start_time": 1659.69, + "end_time": 1664.57, + "confidence": 0.9807265, + "duration_sec": 4.879999999999882, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Sí, sí, no ha llegado. Si, llevamos aquí ya un montón de tiempo, pero no ha llegado.", + "start_time": 1665.53, + "end_time": 1670.09, + "confidence": 0.83669865, + "duration_sec": 4.559999999999945, + "word_count": 17 + }, + { + "speaker": "A", + "text": "Exactamente. Puede ser una factura muy antigua que nos permita por lo menos ubicar el CUPS y yo con eso verifico en el sistema 4 cuál es el promedio de consumo. Vale, tómese su tiempo, yo lo espero.", + "start_time": 1670.65, + "end_time": 1682.9, + "confidence": 0.94441825, + "duration_sec": 12.25, + "word_count": 38 + }, + { + "speaker": "B", + "text": "Perdone.", + "start_time": 1763.97, + "end_time": 1764.45, + "confidence": 0.88932294, + "duration_sec": 0.4800000000000182, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Sí, señor.", + "start_time": 1764.69, + "end_time": 1765.49, + "confidence": 0.89611816, + "duration_sec": 0.7999999999999545, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Es que estoy mirando en el recibo del banco. Sí, por si me viene. Pero ahí no viene la CUM.", + "start_time": 1766.05, + "end_time": 1770.77, + "confidence": 0.9588623, + "duration_sec": 4.720000000000027, + "word_count": 20 + }, + { + "speaker": "A", + "text": "No, normalmente no suele salir en el tema del banco. Digamos que la mayoría de casos siempre viene en la factura o en la contratación que usted haya realizado con la empresa.", + "start_time": 1770.77, + "end_time": 1781.41, + "confidence": 0.96173096, + "duration_sec": 10.6400000000001, + "word_count": 32 + }, + { + "speaker": "B", + "text": "Un segundito, porfa.", + "start_time": 1782.29, + "end_time": 1783.45, + "confidence": 0.9667969, + "duration_sec": 1.1600000000000819, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Vale, claro que sí.", + "start_time": 1783.45, + "end_time": 1784.45, + "confidence": 0.99102783, + "duration_sec": 1.0, + "word_count": 4 + }, + { + "speaker": "B", + "text": "¿Por correo electrónico o algo?", + "start_time": 1785.57, + "end_time": 1786.93, + "confidence": 0.89390624, + "duration_sec": 1.3600000000001273, + "word_count": 5 + }, + { + "speaker": "A", + "text": "No, Por un correo electrónico.", + "start_time": 1787.49, + "end_time": 1796.77, + "confidence": 0.920625, + "duration_sec": 9.279999999999973, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Porque no encontramos nada. Si me puede llamar mañana, otro día.", + "start_time": 1821.76, + "end_time": 1826.0, + "confidence": 0.9486232, + "duration_sec": 4.240000000000009, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Me encantaría tener la opción, José Miguel, pero ya no tenemos la opción desde Endesa de llamar a los clientes precisamente por tema de seguridad. Yo por mi parte podría invitarlo a que se tome su tiempo para buscar la información, pero si de pronto no la logra encontrar, pues de igual forma le recomiendo que lo haga para que podamos verificar promedio del consumo y hacer.", + "start_time": 1826.48, + "end_time": 1847.54, + "confidence": 0.9749701, + "duration_sec": 21.059999999999945, + "word_count": 67 + }, + { + "speaker": "B", + "text": "Un cálculo de la factura. Venga, perfecto. Muchas gracias.", + "start_time": 1847.54, + "end_time": 1851.34, + "confidence": 0.9704789, + "duration_sec": 3.7999999999999545, + "word_count": 9 + }, + { + "speaker": "A", + "text": "Bueno, a usted José Miguel, gracias por escuchar la oferta. Igual manera, que tenga una excelente noche y por favor usted finaliza la llamada.", + "start_time": 1851.58, + "end_time": 1857.1, + "confidence": 0.97999537, + "duration_sec": 5.519999999999982, + "word_count": 24 + }, + { + "speaker": "B", + "text": "Gracias doctora.", + "start_time": 1857.82, + "end_time": 1858.78, + "confidence": 0.90979004, + "duration_sec": 0.9600000000000364, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Vale, gracias. Hasta luego.", + "start_time": 1858.78, + "end_time": 1859.9, + "confidence": 0.9319255, + "duration_sec": 1.1200000000001182, + "word_count": 4 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 1867.0, + "audio_file": "10122025_0082038C3CFBF6C6.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "c23ce404-a1df-4d9e-8ff7-17ae2f3596b5", + "model_version": null, + "created_at": "2026-01-19T13:38:46.474363", + "processing_time_sec": 33.550432, + "overall_confidence": 0.94977605, + "speaker_count": 2 + }, + "full_text": "¿Hola, muy buenas noches, la tiene Manuel? Veo que se comunica por un tema de facturas, ¿Hablo con José Miguel? Sí. Hola José Miguel, ¿Cómo le puedo ayudar con la factura? Pues bueno, la Lula tengo domiciliada con ustedes y el día 22 me cargan un recibo de 55, 65 y el periodo de facturación es del 3 del 9 del 25 al 5 del día del 25. ¿Y qué sucede específicamente con esa factura? Con esa nada, se pagó y ya está. Y me envían ustedes otra factura que dice que debo que el periodo de facturación es del 8 del 9 de 2025 al 7 de, o sea lo mismo con importe de 56,99, que es lo que me reclaman ustedes, o 59. Vale, le entiendo. Bueno, usted visualiza el mismo periodo, básicamente cambia el precio, pero sigue siendo el mismo periodo. Hay una diferencia de dos días, pero como yo la tengo domiciliada y ustedes me la quitan todos los meses, yo he mirado y ahora he mirado en estos live y me dice que tiene una factura, pero es que yo ese periodo es que los dos periodos resulta que son los mismos y me están pidiendo ustedes doble factura de pago. Vamos a ver qué es lo que está pasando, José Miguel. Entonces la factura correcta es la de 55 con 65, esa es la que ya pagó del 3 de septiembre al 5 de octubre, 32 días. Y esa otra que usted me dice 56.99. Vamos a verificar el periodo. Claro, acá hay un error, dice que del 8 de septiembre al 7 de octubre y la anterior era del 3 de septiembre al 5 de octubre, 32 días. Vamos a ver qué es lo que está pasando. Denme un minuto su tiempo, José Miguel, yo sigo analizando la factura, ¿Vale? No me tardo. Un momento por favor. Gracias. Por gusto, digo, porque me quitan. Ahí lo deja y al muchacho le envío aunque se lo está tras de ahora hemos pagado una factura del 8 de 9 hasta el 7 de 10. ¿No? José, gracias por su paciencia. ¿Me escucha, José? Le consulto ¿Cuántos puntos de suministro tiene usted? Uno, solamente uno. Claro. ¿Me confirma la dirección, por favor? Calle Hurtado. ¿El Calle Hurtado? Sí. Vale. Número siete. Vale. Segundo. Vale. José Miguel, Mire, yo acá estoy revisando y estoy viendo que la factura que usted ya pagó, la de 55 con 65, me reflejan un punto de suministro diferente. La última, la que usted le aparece pendiente que es de 56 con 99, esa sí me aparece directamente de la calle hurtado número 7, segundo banco, pero la. Yo recibo una carta con una domiciliación y me descuenta 55 con 65 como siempre que este contrato llevo con él años y me descuenta 55, 65 y me la quito ustedes del banco y yo la pago. No entiendo por qué me entra otra factura más en el mismo mes. Es otro suministro, José Miguel. Déjeme le sigo revisando porque es que aparece contra. Yo no tengo más suministro, voy a validarlo, ¿Vale? Porque puede ser, de ser así, puede ser un cruce de cups que se generó. José Miguel, déjeme yo valido la información, no me tardo, ¿Vale? No me vaya a cruzar la llama. ¿Me entiende lo que le quiero decir? Sí, le entiendo totalmente. No es normal que le hayan cargado. En la página, en la factura de 55 que es la que pago, ahí viene mi número de cuenta y viene todo como siempre. Si, le entiendo, hacen otro cargo y dicen que no lo hago, no hago efectivo. Hay un error que se está generando, José, Yo ya voy a entrar a validarlo. Lo que sucede es que son el mismo periodo de facturación, digamos que van del mismo mes de septiembre al mismo mes de octubre, pero en la factura me está mostrando que son puntos de suministros diferentes, o sea. Yo es que no tengo más, es que yo solamente. Tengo solo el de Hurtado. Entonces permítame, yo trato de analizar cuál es ese otro suministro que se está facturando a nombre suyo, José Miguel, a. Ver qué fue lo que pasó, ¿Vale? No me tardo. Dirección de suministro que vaya a brillar. Perdone. Le escucho, le escucho José Miguel. Sí, perdón, es que lo estoy mirando y es que tengo un problema porque yo tenía antiguamente una casa, una casa en Mengíbar que pone paraje Los Grillares y me viene los datos del contrato y por dirección de suministro para Jeroglía, esa antigua casa, pero yo esa antigua casa no la tengo domiciliada y además esa casa no es mía desde el año 2021 si es verdad que estoy teniendo problemas con la luz porque está todavía mi nombre y es que me estoy dando cuenta que de la dirección de suministro de la factura que pagué de 55. Sí señor, pertenece con el dato del contrato. Dirección de suministro para Jeroglía. Sí señor, justamente eso le decía, que la factura que usted pagó es otra dirección. Mira, perdone, si yo no doy la orden, o sea, si yo no tengo domiciliada el paraje de los diarios, ¿Por qué ustedes me la quitan? Voy a verificar esa factura no la tengo domiciliada, eso es lo primero. Y lo segundo, ustedes no tienen autorización para cobrarme a mí una factura de que yo no tengo una orden de domiciliación con ustedes. Claro, José Miguel tiene toda la razón, sí señor, eso es lo que ya estoy entrando también a validar. Lo que usted acaba de visualizar justamente es lo que yo estaba revisando cuando estaba visualizando las dos facturas. ¿Me estoy dando cuenta, decimos usted eso? Me estoy dando cuenta y claro, y la otra pone ver mi dirección de suministro en la que se debe poner mi dirección de suministro de la calle Hurtado, que es la que yo quiero pagar y la que tengo domitilar con ustedes. No la de paraje de los Grillares. No la de paraje los Grillares. Y si usted se fija en esa factura que usted está revisando que tiene la dirección de paraje de los Grillares, fíjese que más arriba aparece titular del contrato y está el nombre suyo, sin embargo, el contrato como tal, ese suministro, veo que está a nombre de otra persona, no está a nombre suyo. ¿Déjeme yo sigo revisando porque José Miguel, efectivamente esto es un error, hay que entrar a reclamarlo, Déjeme yo sigo analizando la información, vale? No me vaya a colgar la llamada, por favor. Vale, gracias. Porque no va a meter un problema, pero la vida ya no va a haber buenas palabras, Ya no había buenas. Palabras. O soluciona o la demando, Ya no hay más, ya no. Hay más 20 21 19 que ya son 5 o 6 años, ya está. Bien. Es que ya tiene tiempo, es que ya tiene su escritura, es que lo tiene todo. Ya, pero qué no el que tengo impagado la calle puede ser un poco más peligroso, No te escribió un mensaje. Si me quito el teléfono ahora. José Miguel, sigo trabajando para usted. Un momento más, por favor, no me vaya a colgar. Le comento, lo que estoy revisando en este momento son las modificaciones que se han hecho sobre el punto de suministro. Resulta que veo que ese suministro está a nombre de otra persona. Sin embargo yo veo que la contratación que hizo esa persona es como muy reciente, es como si fuera desde el mes de octubre. No sé si usted me dice que este suministro no, usted no lo ha contratado hace varios años. Claro, mira, yo le comento, yo también problemas con el tema de la luz y tal, que eso fue data del año 2019-2020 entonces me habían cambiado el número de el nombre de la luz a nombre suyo. Entonces yo se lo reclamé a esta mujer, oye, cambia ya la luz que ya está bien de que la cambias que lleva un montón de tiempo con la luz a tu nombre, A mi nombre, perdón. Exacto. Y lo hizo recientemente en el mes de octubre creo recordar porque me enfadé con ella y tal Y bueno, se ve que la ha solucionado creo porque ha cambiado ya a su nombre. Pero claro, es que ustedes me han cargado a mí una factura sin que tenga que ver nada ahí. Le hago una consulta, José Miguel, esa persona que tomó la titularidad de ese suministro, usted la conoce por lo que entiendo, ¿Cierto? Sí. ¿Usted me podría confirmar el nombre de esta persona? Sí, Dori, se llama Dori. Vale. Bueno, y usted me confirma que ella hizo recientemente el cambio de titularidad ahora en este mes de octubre que acaba de pasar, ¿Cierto? Sí, porque precisamente ayer me enfadé porque como yo tengo de ustedes pues estaba revisando mi factura y demás y me di cuenta de que ya le di un montón de facturas que no sé qué. Entonces claro, digo, yo no puedo estar ahí porque eso no es mío y eso es tuyo, pues le da tu nombre. Entonces precisamente ella me lo dijo y me lo dijo que le había cambiado. Vale. Es decir que antes de que esta persona hiciera el cambio de titularidad, José Miguel, ese contrato, ese suministro estaba a nombre suyo y la facturación se estaba generando a su nombre. Efectivamente, sí señor. Porque mire, esa factura que usted ya pagó hasta el día que viene del periodo de facturación es justamente el día antes que se hiciera el cambio de titularidad. Vale, pero mi pregunta es ¿Por qué ustedes me cobran esa factura si yo no tengo domiciliación de esa cu? ¿Ni de ese domicilio? No le tengo domiciliado, ¿Por qué me lo cobran ustedes? Vamos a verificarlo. Tengo que en este caso entrar al contrato que ya no está a nombre suyo para verificar el tema de la domiciliación a ver qué fue lo que pasó. José Miguel, deme un momento más de su tiempo, ¿Vale? No me vaya a colgar la llamada, por favor. 600.000. Es que se ve cayó algo porque la cambió ya su nombre. José Miguel, gracias por su paciencia. ¿Me escucha? Sí. Bueno señor, mire, le informo, acabo de detectar el error en este caso yo puedo ver que el contrato que usted actualmente tiene en la calle Hurtado, ese contrato usted sí lo tiene domiciliado. El sistema de facturación en este caso por error al momento de generar la facturación de esta otra dirección ha, Digamos que vinculado los datos de la cuenta bancaria y por error cargó esa factura. Yo en este momento, José Miguel, voy a abrir una reclamación por un cargo erróneo. Esa factura de esa otra dirección no se debió haber cargado la cuenta bancaria sin su autorización y en este caso el informo el reclamo como tal, pues la idea es que se le haga la devolución del dinero o por su parte yo le puedo recomendar que solicite la devolución. Que solicite la devolución en este caso por su propia cuenta. No le entiendo, perdone. Sí, señor. Mire, yo voy a abrir la reclamación por un cargo erróneo cargado en su cuenta. El cargo erróneo son los 55 euros con 66 con 56 de la dirección del paraje Los Grillares. Ese cargo es erróneo, no debió haberse cargado su cuenta bancaria, por eso voy a abrir una reclamación. Podríamos esperar que la reclamación por sí misma genere la devolución del dinero a su cuenta bancaria o por su cuenta. ¿Usted puede acelerar el proceso comunicándose personalmente con el banco solicitando que regresen esa factura, que regresen ese importe. Vale? Bueno, a mí me da igual, o sea, yo. Pero es que no sé si el banco me va a dejar. Espérese, ¿Lo puedo mirar si lo puedo hacer? Claro. Sí señor, exactamente. Devuélvalo y yo abro la reclamación por un cargo erróneo para que no se vaya a volver a cargar. Claro. Yo mientras tanto estoy generando la reclamación. José Miguel, tómese su tiempo, Yo nuevamente lo dejo un momento a la espera y enseguida regreso. Tómese su tiempo y ya regreso y seguimos gestionando. No me tardo. Bueno, José Miguel, gracias por su paciencia. Cuénteme cómo va usted con el proceso. Yo le cuento que ya finalicé la reclamación. Un segundito. Vale, vale. Dije, no me tumbo. Pues no puedo devolverlo. Vamos a ver, voy a intentarlo otra vez. Vale. Bueno, señor José Miguel, bien pueda, revíselo a ver si se lo puede gestionar. En su defecto, si no lo logra hacer desde la app del banco, ya podría llamar directamente a la entidad bancaria solicitando directamente en una llamada la devolución de esa factura. Es que no me deja por. A través de. No lo está permitiendo a través de la app. No, no. Ya sería entonces la otra opción. Como le digo, directamente desde una llamada telefónica que usted realiza a la entidad bancaria solicitando la devolución de ese importe de los 55 con 56. Bueno, si no lo puedo gestionar hoy, lo gestionó mañana. Claro, sí, señor. De igual forma la reclamación ya le queda generada y esta reclamación está relacionada al sistema arbitrario de reclamaciones de la CNMC. Si quiere tome nota del número del reclamo también, José Miguel, para que tenga también toda la información. Digamos, ¿Que número de reclamo sería? 309. 400. 813. 813. Perfecto. Vale, porque ustedes no me podían, o sea, cobrarme la que tengo pendiente y bueno, no, ya está. Bueno, yo voy a intentar mañana. Lo. Que no quiero, a ver si me va a pasar algo con el suministro o algo. Si le va a suceder. ¿Qué, perdón, José Miguel? Que a ver si me va a suceder algo mientras la muestro estén en el suministro o algo. No, no, no. Pues en el contrato que actualmente usted tiene con nosotros no va a tener ningún problema. La factura que tiene en este caso de 56.99 de su residencia en Hurtado, en la calle Hurtado, esa sí está pendiente por pagar. Si quiere la tratamos de remesar a la entidad bancaria como para que se le genere el pago automático. Pero su contrato y esta factura, esta sí corresponde. Solamente es la devolución. Voy a ver si me pueden devolver el dinero y mañana ya me van a pagar eco. Bueno señor, claro que sí. Perfecto, perfecto. Y ya sería, José, que usted también le comenté entonces a estas personas que están viviendo en la otra dirección, pues que son ellos realmente los responsables de esa factura de 55.56 que es como la última que le estaría llegando a usted hasta antes de que ellos hubieran realizado el cambio de titularidad. Sí, señor. Adicional a eso, José Miguel, le consulto, en esta dirección donde usted tiene su contrato, en calle Hurtado, ¿No tendrá usted de casualidad un suministro de gas? No, es que yo en esa casa no vivo porque esa casa la tengo alquilado. Yo no vivo ahí en esa casa. Vale. Y su residencia principal, José Miguel, ¿Por qué no la tiene con Endesa? Pues no sé, porque llevo aquí viviendo poco tiempo y no lo sé, la verdad. Bueno, porque mire, en este caso, pues es normal que un cliente ya antiguo como usted que ha tenido sus contratos en Endesa, también los tenga en esta compañía. Se lleva en este caso una excelente tarifa donde usted puede tener el valor del kilovatio al 0,10 todas las horas, todos los días, José Miguel, y una potencia al día del 0,08. Voy a consultar mi mujer, revise saber. Cuánto está pagando usted actualmente. Sí señor. Revise su factura. Es que no la tengo esa factura yo es que no sé ni dónde la tengo. Es mi mujer, me está diciendo que la pagamos 0.11. Ah, imagínese usted, José Miguel, y con nosotros por traer ese suministro y continuar siendo un excelente cliente como lo ha sido, le ofrecemos al 0,10 todas las horas, todos los días, durante todo un año, con la posibilidad de renovar nuevamente las promociones después del año, el kilovatio al 0,10 y términos de potencia todas las horas, todos los días al 0,08 término de potencia 0,08 todas las horas, todos los días. Esta contratación, por ejemplo, al traer el suministro, José Miguel, le garantiza también un pequeño obsequio de unos 15 euros para que usted los aplique como descuento en su próxima factura. ¿Con la aplicación de Endesa, donde usted también visualiza las facturas, ahí puede recibir esos 15 euros de de contratación y adicional unos 10 euros más de bienvenida, o sea que yo por ese suministro le garantizo un regalo de 25 euros y el valor del kilovatio, como lo digo? Al 0,10 José Miguel, ¿Qué le parece. De lo que hacemos? Pero en una. ¿En una cuota de cero día hay mucha diferencia de precio? Es que tampoco. Pues imagínese usted. Vamos a hacer el cálculo. Imagínese usted. Digamos que la diferencia es un céntimo, ¿Cierto? Esa sería como la diferencia. Si multiplicamos un céntimo por 24 horas al día y lo multiplicamos por 30 pues nos da un aproximado de unos 8 euros aproximadamente que usted se genera con ahorro solamente en términos de consumo de electricidad. Y otra oferta más que me puede hacer más me apetecía. Hora de cambiarme. Perdón. ¿No hay otra oferta sin que sea porque tarifa plana tiene ustedes? Sí, justamente la tarifa que le estoy mencionando es una tarifa plana, José Miguel. Como le digo, yo le garantizo el valor del kilovatio, el 0,10 todas las horas, todos los días, durante todo un año. Eso es una tarifa plana. Confirme su correo, José Miguel, para ver si es el mismo que yo tengo acá en el sistema. A ver, Perdone, ¿Le digo yo el correo? Sí señor. Yo tengo un correo electrónico acá registrado. ¿Usted me lo puede confirmar para ver. Si es el mismo, José Miguel? Sí, vale, está perfecto. Sí señor. ¿Y el número móvil de contacto? Creo que es el mismo el que usted me está llamando. ¿Usted me lo puede verbalizar, por favor? 608. 590.490. Perfecto, José Miguel. Pues mire, en este momento yo lo puedo invitar usted sin ningún compromiso a de igual manera hacer un cálculo del consumo de electricidad que usted tiene en esa dirección Y yo le puedo sin compromiso darle como un cálculo en cuánto le podría estar saliendo la factura con la tarifa que yo le estoy mencionando en este momento que sería una tarifa plana. ¿Usted de casualidad me puede confirmar el CUPS de esa dirección de su residencia principal y hacemos el cálculo a ver en cuánto le sale la factura? Un segundo. Vale, Un segundo. Vale, vale. ¿Pero dónde tenemos la luz? ¿En qué compañía? Perdone, no se lo puedo decir porque no tenemos factura. ¿Y no la tiene de pronto en algún correo electrónico como para verificar cuánto está consumiendo actualmente Y qué tal que le salga más rentable con nosotros? Si le digo la verdad es que mi mujer no sabe ni la compañía donde tener uno. Sí señor, entiendo. ¿Y no les ha llegado una primer factura todavía? Sí, sí, no ha llegado. Si, llevamos aquí ya un montón de tiempo, pero no ha llegado. Exactamente. Puede ser una factura muy antigua que nos permita por lo menos ubicar el CUPS y yo con eso verifico en el sistema 4 cuál es el promedio de consumo. Vale, tómese su tiempo, yo lo espero. Perdone. Sí, señor. Es que estoy mirando en el recibo del banco. Sí, por si me viene. Pero ahí no viene la CUM. No, normalmente no suele salir en el tema del banco. Digamos que la mayoría de casos siempre viene en la factura o en la contratación que usted haya realizado con la empresa. Un segundito, porfa. Vale, claro que sí. ¿Por correo electrónico o algo? No, Por un correo electrónico. Porque no encontramos nada. Si me puede llamar mañana, otro día. Me encantaría tener la opción, José Miguel, pero ya no tenemos la opción desde Endesa de llamar a los clientes precisamente por tema de seguridad. Yo por mi parte podría invitarlo a que se tome su tiempo para buscar la información, pero si de pronto no la logra encontrar, pues de igual forma le recomiendo que lo haga para que podamos verificar promedio del consumo y hacer. Un cálculo de la factura. Venga, perfecto. Muchas gracias. Bueno, a usted José Miguel, gracias por escuchar la oferta. Igual manera, que tenga una excelente noche y por favor usted finaliza la llamada. Gracias doctora. Vale, gracias. Hasta luego.", + "total_turns": 123, + "total_words": 3476 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF73E.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF73E.json new file mode 100644 index 0000000..91fdfbb --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF73E.json @@ -0,0 +1,31 @@ +{ + "call_id": "10122025_0082038C3CFBF73E", + "turns": [ + { + "speaker": "A", + "text": "Hola, ¿Cómo estás? Muy buenas tardes. Me presento, mi nombre es Lady Calderón. ¿Dime en qué te puedo ayudar? Hola, ¿Qué tal? Buenas noches. Para pagar la factura que están para orden de corte. Claro que. Dame un segundo, por favor. Mil gracias por tu amor. Espera en la llamada. Discúlpame. En este momento, tú serías capaz. ¿Tú me podrías confirmar el número del DNI, por favor? Y 80 43 29 8 metros de Mallorca también segundo. Te cargó en el sistema. Vale. ¿Me confirmas el nombre completo, por favor? Carlos Javier Abreu Giraldo. Vale. ¿Y por último, me confirmas la dirección del suministro, por favor? Avenida Valencia 79, cuarta. Vale. ¿Y la población? Discúlpame. Castellón de la Plana. Vale, dame un momento, sigo trabajando para ti. Vale, gracias por tomar. Espera en la llamada. Entonces me estás indicando de que deseas generar el pago de algunas facturas que están debiendo. Sí, si, las que están para orden de corte. Claro que sí. Del caso de la luz son en total 140 y algo. Vale, dime. Son en total 146, creo. Dame un segundo. Miro cuál es. Y el total es 146 con 18. Sí. Vale, entonces en este momento voy a transferirte para que hagas estos pagos. No sé si de mi parte deseas saber algo más. Si quieres que te ayude en algo más, con mucho gusto lo haré. No, de momento no, gracias. Vale. Vale. Entonces no siendo más. Sí. Una pregunta. En total, las otras facturas que quedan restando ¿Cuánto es? Vale, dame un momento. Serían dos facturas que te quedarías pendiente. Vale. 58 euros con 59 euros con 58 céntimos y 59 euros con 74. ¿Vale? Vale. Vale. Entonces en este momento pues te voy a transferir a que generes estos dos pagos. ¿Vale? Para un total de 146 euros con 18. Vale. Entonces como me informas que no deseas saber nada más, solamente hacer el pago, pues te voy a transferir. Bueno, vale. Gracias. Gracias a ti. Vale. Cuídate mucho y que estés muy bien.", + "start_time": 7.68, + "end_time": 290.81, + "confidence": 0.94380015, + "duration_sec": 283.13, + "word_count": 341 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 292.0, + "audio_file": "10122025_0082038C3CFBF73E.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "3d23d73a-6486-49fe-a02a-e75aa1a3fc0f", + "model_version": null, + "created_at": "2026-01-19T13:39:04.540577", + "processing_time_sec": 46.533069, + "overall_confidence": 0.94380015, + "speaker_count": 1 + }, + "full_text": "Hola, ¿Cómo estás? Muy buenas tardes. Me presento, mi nombre es Lady Calderón. ¿Dime en qué te puedo ayudar? Hola, ¿Qué tal? Buenas noches. Para pagar la factura que están para orden de corte. Claro que. Dame un segundo, por favor. Mil gracias por tu amor. Espera en la llamada. Discúlpame. En este momento, tú serías capaz. ¿Tú me podrías confirmar el número del DNI, por favor? Y 80 43 29 8 metros de Mallorca también segundo. Te cargó en el sistema. Vale. ¿Me confirmas el nombre completo, por favor? Carlos Javier Abreu Giraldo. Vale. ¿Y por último, me confirmas la dirección del suministro, por favor? Avenida Valencia 79, cuarta. Vale. ¿Y la población? Discúlpame. Castellón de la Plana. Vale, dame un momento, sigo trabajando para ti. Vale, gracias por tomar. Espera en la llamada. Entonces me estás indicando de que deseas generar el pago de algunas facturas que están debiendo. Sí, si, las que están para orden de corte. Claro que sí. Del caso de la luz son en total 140 y algo. Vale, dime. Son en total 146, creo. Dame un segundo. Miro cuál es. Y el total es 146 con 18. Sí. Vale, entonces en este momento voy a transferirte para que hagas estos pagos. No sé si de mi parte deseas saber algo más. Si quieres que te ayude en algo más, con mucho gusto lo haré. No, de momento no, gracias. Vale. Vale. Entonces no siendo más. Sí. Una pregunta. En total, las otras facturas que quedan restando ¿Cuánto es? Vale, dame un momento. Serían dos facturas que te quedarías pendiente. Vale. 58 euros con 59 euros con 58 céntimos y 59 euros con 74. ¿Vale? Vale. Vale. Entonces en este momento pues te voy a transferir a que generes estos dos pagos. ¿Vale? Para un total de 146 euros con 18. Vale. Entonces como me informas que no deseas saber nada más, solamente hacer el pago, pues te voy a transferir. Bueno, vale. Gracias. Gracias a ti. Vale. Cuídate mucho y que estés muy bien.", + "total_turns": 1, + "total_words": 341 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF748.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF748.json new file mode 100644 index 0000000..520ca77 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF748.json @@ -0,0 +1,256 @@ +{ + "call_id": "10122025_0082038C3CFBF748", + "turns": [ + { + "speaker": "A", + "text": "¿Buenas noches?", + "start_time": 2.8, + "end_time": 3.6, + "confidence": 0.8442383, + "duration_sec": 0.8000000000000003, + "word_count": 2 + }, + { + "speaker": "B", + "text": "¿Comunicado usted por qué se habla con operador? Indíqueme cómo le podemos ayudar.", + "start_time": 8.24, + "end_time": 12.16, + "confidence": 0.90962416, + "duration_sec": 3.92, + "word_count": 13 + }, + { + "speaker": "A", + "text": "Nicolás, muy buenas. Mire, a ver, tenemos un corte de luz en Vive en el campo y le puedo decir la dirección de la casa en cuestión, en qué carretera está. Entonces lo que quería saber era si tienen algún tipo de avería aún, porque no tenemos luz en la casa de campo.", + "start_time": 12.56, + "end_time": 29.76, + "confidence": 0.94317514, + "duration_sec": 17.200000000000003, + "word_count": 53 + }, + { + "speaker": "B", + "text": "Tú ya te comunicas con el área de averías para informar y pues que te hagan una incidencia para que el área encargada te pueda ayudar con la revisión del área encargada.", + "start_time": 31.53, + "end_time": 42.97, + "confidence": 0.98025256, + "duration_sec": 11.439999999999998, + "word_count": 32 + }, + { + "speaker": "A", + "text": "Yo lo que necesito es saber si el problema es de ustedes, o sea, son ustedes los que están dando, los que no están dando corriente por algún tipo de avería que puede ser.", + "start_time": 43.85, + "end_time": 55.13, + "confidence": 0.94987816, + "duration_sec": 11.280000000000001, + "word_count": 34 + }, + { + "speaker": "B", + "text": "Bueno, yo lo que puedo hacer ante eso es simplemente verificar si tú tienes un importe por impago, pero no más. Yo no puedo saber si ha sido un tema de la zona, eso ya lo maneja el área encargada de averías. Si gustas yo te valido si ha sido algún tema de impago.", + "start_time": 56.26, + "end_time": 78.66, + "confidence": 0.94329154, + "duration_sec": 22.4, + "word_count": 54 + }, + { + "speaker": "A", + "text": "No es por tema de impago, lo que necesito es que me diga exactamente a qué teléfono tengo que llamar para que alguien me dé norte de lo que le estoy preguntando.", + "start_time": 78.98, + "end_time": 89.58, + "confidence": 0.9518712, + "duration_sec": 10.599999999999994, + "word_count": 32 + }, + { + "speaker": "B", + "text": "Claro que sí. El número de teléfono es el siguiente. 800.", + "start_time": 89.74, + "end_time": 94.48, + "confidence": 0.94147855, + "duration_sec": 4.740000000000009, + "word_count": 11 + }, + { + "speaker": "A", + "text": "800.", + "start_time": 94.893, + "end_time": 96.546, + "confidence": 0.90554, + "duration_sec": 1.6530000000000058, + "word_count": 1 + }, + { + "speaker": "B", + "text": "700.", + "start_time": 96.96, + "end_time": 98.613, + "confidence": 0.90554, + "duration_sec": 1.6530000000000058, + "word_count": 1 + }, + { + "speaker": "A", + "text": "760.", + "start_time": 99.026, + "end_time": 100.68, + "confidence": 0.90554, + "duration_sec": 1.6540000000000106, + "word_count": 1 + }, + { + "speaker": "B", + "text": "706.", + "start_time": 101.093, + "end_time": 102.746, + "confidence": 0.90554, + "duration_sec": 1.6529999999999916, + "word_count": 1 + }, + { + "speaker": "A", + "text": "706. Ese es el área de avería, ¿Verdad?", + "start_time": 103.16, + "end_time": 106.78, + "confidence": 0.8753283, + "duration_sec": 3.6200000000000045, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Sí, señor.", + "start_time": 107.02, + "end_time": 107.74, + "confidence": 0.9366455, + "duration_sec": 0.7199999999999989, + "word_count": 2 + }, + { + "speaker": "A", + "text": "A ver, le digo, si yo le dijera a la dirección, podría decirme si es por tema de impago, cosa que dudo enormemente.", + "start_time": 108.95, + "end_time": 113.99, + "confidence": 0.9248383, + "duration_sec": 5.039999999999992, + "word_count": 23 + }, + { + "speaker": "B", + "text": "¿Con tu DNI?", + "start_time": 114.71, + "end_time": 115.75, + "confidence": 0.9724392, + "duration_sec": 1.0400000000000063, + "word_count": 3 + }, + { + "speaker": "A", + "text": "No, porque soy titular de la línea, es mi madre.", + "start_time": 116.63, + "end_time": 120.87, + "confidence": 0.94973147, + "duration_sec": 4.240000000000009, + "word_count": 10 + }, + { + "speaker": "B", + "text": "¿Tu señora madre?", + "start_time": 122.31, + "end_time": 123.43, + "confidence": 0.96310765, + "duration_sec": 1.1200000000000045, + "word_count": 3 + }, + { + "speaker": "A", + "text": "No, no lo tengo. Si lo tuvieras.", + "start_time": 124.069, + "end_time": 125.59, + "confidence": 0.9829799, + "duration_sec": 1.5210000000000008, + "word_count": 7 + }, + { + "speaker": "B", + "text": "No, no, en su momento. Entonces no tengo forma de verificar o el K-12 meses, ninguna factura.", + "start_time": 127.59, + "end_time": 136.08, + "confidence": 0.8878095, + "duration_sec": 8.490000000000009, + "word_count": 17 + }, + { + "speaker": "A", + "text": "Estupendo.", + "start_time": 137.04, + "end_time": 137.92, + "confidence": 0.9752197, + "duration_sec": 0.8799999999999955, + "word_count": 1 + }, + { + "speaker": "B", + "text": "¿Tienes alguna factura?", + "start_time": 138.88, + "end_time": 140.08, + "confidence": 0.9128147, + "duration_sec": 1.200000000000017, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Si tuviera la información se lo hubiera dado.", + "start_time": 141.76, + "end_time": 143.92, + "confidence": 0.95337933, + "duration_sec": 2.1599999999999966, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Te sugiero, antes de que cuelgues, trata de hablar con tu señora madre para que te confirme el DNI, porque con el DNI de ella mis compañeros van a validar el suministro o número del CU. Entonces, antes de que tú llames, pregúntale a tu señora madre si te puede generar una factura, si ya te lo puede enviar y si no, que te dé el DNI, ¿Vale?", + "start_time": 145.28, + "end_time": 169.58, + "confidence": 0.95580816, + "duration_sec": 24.30000000000001, + "word_count": 68 + }, + { + "speaker": "A", + "text": "Venga. De acuerdo. Muy bien, muchas gracias.", + "start_time": 169.98, + "end_time": 171.5, + "confidence": 0.96683174, + "duration_sec": 1.5200000000000102, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Con todo gusto. Buena noche.", + "start_time": 171.9, + "end_time": 173.42, + "confidence": 0.90288085, + "duration_sec": 1.5199999999999818, + "word_count": 5 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 174.0, + "audio_file": "10122025_0082038C3CFBF748.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "41a031d4-989f-4621-b3c7-4a1f7af1b54b", + "model_version": null, + "created_at": "2026-01-19T13:38:27.185208", + "processing_time_sec": 7.680949, + "overall_confidence": 0.94396126, + "speaker_count": 2 + }, + "full_text": "¿Buenas noches? ¿Comunicado usted por qué se habla con operador? Indíqueme cómo le podemos ayudar. Nicolás, muy buenas. Mire, a ver, tenemos un corte de luz en Vive en el campo y le puedo decir la dirección de la casa en cuestión, en qué carretera está. Entonces lo que quería saber era si tienen algún tipo de avería aún, porque no tenemos luz en la casa de campo. Tú ya te comunicas con el área de averías para informar y pues que te hagan una incidencia para que el área encargada te pueda ayudar con la revisión del área encargada. Yo lo que necesito es saber si el problema es de ustedes, o sea, son ustedes los que están dando, los que no están dando corriente por algún tipo de avería que puede ser. Bueno, yo lo que puedo hacer ante eso es simplemente verificar si tú tienes un importe por impago, pero no más. Yo no puedo saber si ha sido un tema de la zona, eso ya lo maneja el área encargada de averías. Si gustas yo te valido si ha sido algún tema de impago. No es por tema de impago, lo que necesito es que me diga exactamente a qué teléfono tengo que llamar para que alguien me dé norte de lo que le estoy preguntando. Claro que sí. El número de teléfono es el siguiente. 800. 800. 700. 760. 706. 706. Ese es el área de avería, ¿Verdad? Sí, señor. A ver, le digo, si yo le dijera a la dirección, podría decirme si es por tema de impago, cosa que dudo enormemente. ¿Con tu DNI? No, porque soy titular de la línea, es mi madre. ¿Tu señora madre? No, no lo tengo. Si lo tuvieras. No, no, en su momento. Entonces no tengo forma de verificar o el K-12 meses, ninguna factura. Estupendo. ¿Tienes alguna factura? Si tuviera la información se lo hubiera dado. Te sugiero, antes de que cuelgues, trata de hablar con tu señora madre para que te confirme el DNI, porque con el DNI de ella mis compañeros van a validar el suministro o número del CU. Entonces, antes de que tú llames, pregúntale a tu señora madre si te puede generar una factura, si ya te lo puede enviar y si no, que te dé el DNI, ¿Vale? Venga. De acuerdo. Muy bien, muchas gracias. Con todo gusto. Buena noche.", + "total_turns": 26, + "total_words": 400 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF766.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF766.json new file mode 100644 index 0000000..6f57d7b --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF766.json @@ -0,0 +1,373 @@ +{ + "call_id": "10122025_0082038C3CFBF766", + "turns": [ + { + "speaker": "A", + "text": "Hola, buenas tardes. ¿Hablas con Helen? Habló con Julián el titular.", + "start_time": 6.0, + "end_time": 9.92, + "confidence": 0.9457712, + "duration_sec": 3.92, + "word_count": 11 + }, + { + "speaker": "B", + "text": "Hola Helen. Sí, buenas tardes Helen, hazme un favor. 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, más no que me retiraran el contador. Entonces necesito cuadrar eso porque ya hablé, el dueño me dijo que era que iban a retirar el contador y eso no, pues no era lo que yo quería.", + "start_time": 10.88, + "end_time": 48.07, + "confidence": 0.9354819, + "duration_sec": 37.19, + "word_count": 77 + }, + { + "speaker": "A", + "text": "Vale, Vamos a revisar. ¿Me puedes confirmar por favor la dirección?", + "start_time": 49.59, + "end_time": 52.95, + "confidence": 0.9430857, + "duration_sec": 3.3599999999999994, + "word_count": 11 + }, + { + "speaker": "B", + "text": "Avenida Gregorio Molina 12.", + "start_time": 54.4, + "end_time": 56.48, + "confidence": 0.96875906, + "duration_sec": 2.0799999999999983, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Sí.", + "start_time": 57.04, + "end_time": 57.52, + "confidence": 0.98999023, + "duration_sec": 0.480000000000004, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Piso 2, puerta 8. Casi va.", + "start_time": 60.56, + "end_time": 63.92, + "confidence": 0.94348174, + "duration_sec": 3.3599999999999994, + "word_count": 6 + }, + { + "speaker": "A", + "text": "OK, pero un momento mientras reviso cómo te podemos ayudar y ya regreso contigo.", + "start_time": 64.32, + "end_time": 69.76, + "confidence": 0.93579686, + "duration_sec": 5.440000000000012, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Vale, te agradezco. ¿Si necesita de pronto que te dé el número de, o sea, es como cambiar de titular, si me entiendes? Porque, porque eso fue lo que me explicó ahorita el dueño y eso yo no lo sabía porque como es primera vez que yo me estoy dando de baja todo eso, entonces no lo sabía y no me informaron que lo que me habían hecho a mí era la baja total y que me iban a retirar el contador.", + "start_time": 70.4, + "end_time": 95.13, + "confidence": 0.93100595, + "duration_sec": 24.72999999999999, + "word_count": 82 + }, + { + "speaker": "A", + "text": "OK, entiendo. Vale, te va a per un momento mientras reviso si alguna manera de revertir esto y ya regreso contigo.", + "start_time": 96.09, + "end_time": 101.77, + "confidence": 0.89582944, + "duration_sec": 5.679999999999993, + "word_count": 21 + }, + { + "speaker": "B", + "text": "Vale, te agradezco.", + "start_time": 102.41, + "end_time": 103.77, + "confidence": 0.94401044, + "duration_sec": 1.3599999999999994, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Vale, Pierden pereza. Yo soy amiga Andrea hace 25 años. Entrevistas de trabajo Es una persona que se acostumbra a los coches, a veces uno se acostumbra a hacer un trabajo de una manera, pero las personas. Poco a poco. Mañana lo puedes hacer. Julián Bueno mira, en este caso estaba revisando, veo como tal pues que la baja ya se firmó y estoy buscando todas las opciones en el sistema, sin embargo, como ya tiene la notificación la distribuidora no me permite hacer la anulación de la baja, es decir, pues ya estaría en proceso directamente la baja del suministro. Ya el sistema no lo permite revertir.", + "start_time": 104.25, + "end_time": 406.57, + "confidence": 0.92219144, + "duration_sec": 302.32, + "word_count": 108 + }, + { + "speaker": "B", + "text": "¿En serio no hay nada que hacer?", + "start_time": 409.05, + "end_time": 410.65, + "confidence": 0.96285576, + "duration_sec": 1.599999999999966, + "word_count": 7 + }, + { + "speaker": "A", + "text": "No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo. No lo habilita el sistema como tal.", + "start_time": 410.969, + "end_time": 417.77, + "confidence": 0.9878914, + "duration_sec": 6.800999999999988, + "word_count": 22 + }, + { + "speaker": "B", + "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. Yo quería era de que a mí no me llegaran siguiendo, de que no me siguieran llegando recibos.", + "start_time": 423.06, + "end_time": 435.78, + "confidence": 0.92878014, + "duration_sec": 12.71999999999997, + "word_count": 40 + }, + { + "speaker": "A", + "text": "Vale, pues sí, digamos que en sí pues la manera es esa o directamente dar el cambio de titularidad pero eso se. Pues si ya lo haces, la otra persona que vaya a ser la titular se contacta con nosotros y ya al contactarse, pues dejas de. Se desactiva tu contrato y se activa el de la otra persona.", + "start_time": 437.38, + "end_time": 456.53, + "confidence": 0.9314344, + "duration_sec": 19.149999999999977, + "word_count": 59 + }, + { + "speaker": "B", + "text": "¿Y no quitarían el contador.", + "start_time": 460.69, + "end_time": 462.21, + "confidence": 0.97121584, + "duration_sec": 1.5199999999999818, + "word_count": 5 + }, + { + "speaker": "A", + "text": "En el caso de cambio de titularidad? No, pero tú ya pues la solicitud que hiciste, que fue baja a fin de suministro, Sí como tal se retira el contador. Pero si él llama, me da primera hora.", + "start_time": 463.97, + "end_time": 477.24, + "confidence": 0.9074664, + "duration_sec": 13.269999999999982, + "word_count": 38 + }, + { + "speaker": "B", + "text": "Pero si el dueño llama mañana y les dice que para cambiar titularidad no se puede.", + "start_time": 478.52, + "end_time": 486.92, + "confidence": 0.9213867, + "duration_sec": 8.400000000000034, + "word_count": 16 + }, + { + "speaker": "A", + "text": "No señor, solo puede haber un proceso como está, pues la solicitud de baja no nos permitiría como tal hacer el cambio de titularidad. Si, en este caso, pues si, ya la solicitud se generaría.", + "start_time": 487.64, + "end_time": 506.29, + "confidence": 0.9332915, + "duration_sec": 18.650000000000034, + "word_count": 35 + }, + { + "speaker": "B", + "text": "¿Y no hay otro número donde de pronto nos podamos comunicar a ver si nos pueden colaborar o no?", + "start_time": 514.61, + "end_time": 519.09, + "confidence": 0.9570741, + "duration_sec": 4.480000000000018, + "word_count": 19 + }, + { + "speaker": "A", + "text": "Yo te puedo dar el número en la distribuidora, que pues ellos son los que van a hacer el retiro del contador. Si hay alguna manera de poder anularlo de parte de ellos.", + "start_time": 520.21, + "end_time": 529.41, + "confidence": 0.9576305, + "duration_sec": 9.199999999999932, + "word_count": 33 + }, + { + "speaker": "B", + "text": "Ya vale, si me lo puedes dar, por favor, te agradezco.", + "start_time": 531.62, + "end_time": 534.42, + "confidence": 0.92375046, + "duration_sec": 2.7999999999999545, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Ya te lo indico. 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.74, + "end_time": 562.228, + "confidence": 0.94296527, + "duration_sec": 27.487999999999943, + "word_count": 24 + }, + { + "speaker": "B", + "text": "171 nuevamente.", + "start_time": 562.738, + "end_time": 565.91, + "confidence": 0.94655895, + "duration_sec": 3.171999999999912, + "word_count": 2 + }, + { + "speaker": "A", + "text": "171.", + "start_time": 565.99, + "end_time": 567.19, + "confidence": 0.84772, + "duration_sec": 1.2000000000000455, + "word_count": 1 + }, + { + "speaker": "B", + "text": "¿Tiene algún número de seriado para yo comunicarme, o sea, decirle a ellos que es el proceso mío o solamente con darle el DNI mío ya sabrán?", + "start_time": 576.87, + "end_time": 588.46, + "confidence": 0.9069613, + "duration_sec": 11.590000000000032, + "word_count": 27 + }, + { + "speaker": "A", + "text": "Sí, pues ellos tienen ya la información. Sin embargo, si quieres te doy el número de solicitud. El número de solicitud es.", + "start_time": 588.62, + "end_time": 597.98, + "confidence": 0.8852465, + "duration_sec": 9.360000000000014, + "word_count": 22 + }, + { + "speaker": "B", + "text": "Dame un momento o.", + "start_time": 601.66, + "end_time": 603.02, + "confidence": 0.9082031, + "duration_sec": 1.3600000000000136, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Y de iglesia.", + "start_time": 603.98, + "end_time": 605.34, + "confidence": 0.82581925, + "duration_sec": 1.3600000000000136, + "word_count": 3 + }, + { + "speaker": "B", + "text": "Guión. Sí.", + "start_time": 610.15, + "end_time": 614.71, + "confidence": 0.8060303, + "duration_sec": 4.560000000000059, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Tres. Tres, cuatro, dos.", + "start_time": 619.43, + "end_time": 624.39, + "confidence": 0.829305, + "duration_sec": 4.960000000000036, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Sí.", + "start_time": 625.99, + "end_time": 626.47, + "confidence": 0.76342773, + "duration_sec": 0.4800000000000182, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Cinco. Siete.", + "start_time": 626.95, + "end_time": 627.91, + "confidence": 0.8873291, + "duration_sec": 0.9599999999999227, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Cinco siete. Vale.", + "start_time": 629.11, + "end_time": 631.51, + "confidence": 0.9243164, + "duration_sec": 2.3999999999999773, + "word_count": 3 + }, + { + "speaker": "A", + "text": "¿Esto ya desde ahí pues te ayudan a revisar si pues la baja, el fin de suministro, hay manera de anularla? Vale.", + "start_time": 632.95, + "end_time": 638.15, + "confidence": 0.9136648, + "duration_sec": 5.199999999999932, + "word_count": 22 + }, + { + "speaker": "B", + "text": "Vale, te agradezco, muchas gracias.", + "start_time": 639.29, + "end_time": 641.61, + "confidence": 0.9142334, + "duration_sec": 2.32000000000005, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Cualquier novedad quedamos atentos.", + "start_time": 642.01, + "end_time": 643.69, + "confidence": 0.9378662, + "duration_sec": 1.6800000000000637, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Vale, Muchas gracias.", + "start_time": 644.41, + "end_time": 645.53, + "confidence": 0.96280926, + "duration_sec": 1.1200000000000045, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Vale, hasta luego.", + "start_time": 646.01, + "end_time": 647.13, + "confidence": 0.93023, + "duration_sec": 1.1200000000000045, + "word_count": 3 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 649.0, + "audio_file": "10122025_0082038C3CFBF766.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "bbe2ee53-9d85-4cb0-a3a8-98f6e496b51d", + "model_version": null, + "created_at": "2026-01-19T13:38:35.380283", + "processing_time_sec": 12.643948, + "overall_confidence": 0.9285863, + "speaker_count": 2 + }, + "full_text": "Hola, buenas tardes. ¿Hablas con Helen? Habló con Julián el titular. Hola Helen. Sí, buenas tardes Helen, hazme un favor. 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, más no que me retiraran el contador. Entonces necesito cuadrar eso porque ya hablé, el dueño me dijo que era que iban a retirar el contador y eso no, pues no era lo que yo quería. Vale, Vamos a revisar. ¿Me puedes confirmar por favor la dirección? Avenida Gregorio Molina 12. Sí. Piso 2, puerta 8. Casi va. OK, pero un momento mientras reviso cómo te podemos ayudar y ya regreso contigo. Vale, te agradezco. ¿Si necesita de pronto que te dé el número de, o sea, es como cambiar de titular, si me entiendes? Porque, porque eso fue lo que me explicó ahorita el dueño y eso yo no lo sabía porque como es primera vez que yo me estoy dando de baja todo eso, entonces no lo sabía y no me informaron que lo que me habían hecho a mí era la baja total y que me iban a retirar el contador. OK, entiendo. Vale, te va a per un momento mientras reviso si alguna manera de revertir esto y ya regreso contigo. Vale, te agradezco. Vale, Pierden pereza. Yo soy amiga Andrea hace 25 años. Entrevistas de trabajo Es una persona que se acostumbra a los coches, a veces uno se acostumbra a hacer un trabajo de una manera, pero las personas. Poco a poco. Mañana lo puedes hacer. Julián Bueno mira, en este caso estaba revisando, veo como tal pues que la baja ya se firmó y estoy buscando todas las opciones en el sistema, sin embargo, como ya tiene la notificación la distribuidora no me permite hacer la anulación de la baja, es decir, pues ya estaría en proceso directamente la baja del suministro. Ya el sistema no lo permite revertir. ¿En serio no hay nada que hacer? No, lo intenté de todas las maneras, pero no me aparece ninguna opción para cancelarlo. No lo habilita el sistema como tal. Es que la verdad es que yo no sabía eso y compañero a mí tampoco me lo explicó ni me lo dijo. Yo quería era de que a mí no me llegaran siguiendo, de que no me siguieran llegando recibos. Vale, pues sí, digamos que en sí pues la manera es esa o directamente dar el cambio de titularidad pero eso se. Pues si ya lo haces, la otra persona que vaya a ser la titular se contacta con nosotros y ya al contactarse, pues dejas de. Se desactiva tu contrato y se activa el de la otra persona. ¿Y no quitarían el contador. En el caso de cambio de titularidad? No, pero tú ya pues la solicitud que hiciste, que fue baja a fin de suministro, Sí como tal se retira el contador. Pero si él llama, me da primera hora. Pero si el dueño llama mañana y les dice que para cambiar titularidad no se puede. No señor, solo puede haber un proceso como está, pues la solicitud de baja no nos permitiría como tal hacer el cambio de titularidad. Si, en este caso, pues si, ya la solicitud se generaría. ¿Y no hay otro número donde de pronto nos podamos comunicar a ver si nos pueden colaborar o no? Yo te puedo dar el número en la distribuidora, que pues ellos son los que van a hacer el retiro del contador. Si hay alguna manera de poder anularlo de parte de ellos. Ya vale, si me lo puedes dar, por favor, te agradezco. Ya te lo indico. Mira, el número de la distribuidora. La distribuidora, la zona Ciberto, la distribución, el número de ellos es. 990. 171. 171 nuevamente. 171. ¿Tiene algún número de seriado para yo comunicarme, o sea, decirle a ellos que es el proceso mío o solamente con darle el DNI mío ya sabrán? Sí, pues ellos tienen ya la información. Sin embargo, si quieres te doy el número de solicitud. El número de solicitud es. Dame un momento o. Y de iglesia. Guión. Sí. Tres. Tres, cuatro, dos. Sí. Cinco. Siete. Cinco siete. Vale. ¿Esto ya desde ahí pues te ayudan a revisar si pues la baja, el fin de suministro, hay manera de anularla? Vale. Vale, te agradezco, muchas gracias. Cualquier novedad quedamos atentos. Vale, Muchas gracias. Vale, hasta luego.", + "total_turns": 39, + "total_words": 755 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF779.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF779.json new file mode 100644 index 0000000..714ef4f --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF779.json @@ -0,0 +1,589 @@ +{ + "call_id": "10122025_0082038C3CFBF779", + "turns": [ + { + "speaker": "A", + "text": "Buenas noches. Latín de Germán, que le pudo ayudar con su contrato.", + "start_time": 3.92, + "end_time": 6.56, + "confidence": 0.864446, + "duration_sec": 2.6399999999999997, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Sí, hola, buenas noches. Mi nombre es Mariano Diego y quería ver qué tipo de penalización tenía si daba de baja ese contrato, porque es que no me queda claro el término potencia y no sé el P y el P.", + "start_time": 7.44, + "end_time": 28.16, + "confidence": 0.94891864, + "duration_sec": 20.72, + "word_count": 41 + }, + { + "speaker": "A", + "text": "Qué es lo que está pagando ahora, quiere decir, ¿No?", + "start_time": 31.09, + "end_time": 33.01, + "confidence": 0.94177246, + "duration_sec": 1.9199999999999982, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Claro.", + "start_time": 33.73, + "end_time": 34.37, + "confidence": 0.8655599, + "duration_sec": 0.6400000000000006, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Vale, ¿De qué dirección hablamos?", + "start_time": 34.61, + "end_time": 36.05, + "confidence": 0.97638345, + "duration_sec": 1.4399999999999977, + "word_count": 5 + }, + { + "speaker": "B", + "text": "De calle Peña Son Juan.", + "start_time": 37.57, + "end_time": 39.97, + "confidence": 0.76443684, + "duration_sec": 2.3999999999999986, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Vamos a mirarlo. Es que todavía no ha salido ninguna factura, pero bueno, yo le digo lo que se paga de tarifa hay de potencia en la tarifa libre son 0,0890089 en punta y en valle.", + "start_time": 40.21, + "end_time": 68.7, + "confidence": 0.9689847, + "duration_sec": 28.490000000000002, + "word_count": 36 + }, + { + "speaker": "B", + "text": "¿Las dos?", + "start_time": 69.74, + "end_time": 70.3, + "confidence": 0.7807617, + "duration_sec": 0.5600000000000023, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Sí.", + "start_time": 70.78, + "end_time": 71.26, + "confidence": 0.6479492, + "duration_sec": 0.480000000000004, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Las 24 horas.", + "start_time": 73.82, + "end_time": 75.1, + "confidence": 0.99810034, + "duration_sec": 1.2800000000000011, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Las 24 horas. Aunque la potencia antes se pagaba más barata en Bayer, el hecho de que durante el día se haya bajado a 0,089 sale en comparación más barato. Y tiene un 20% de descuento. ¿Con lo cual, si tiene un 20% de descUento, yo le digo?", + "start_time": 75.34, + "end_time": 102.87, + "confidence": 0.9728475, + "duration_sec": 27.53, + "word_count": 48 + }, + { + "speaker": "B", + "text": "¿O sea, que el P cuánto es? ¿Y el p? El P que serían 0,8.", + "start_time": 111.44, + "end_time": 119.04, + "confidence": 0.9569121, + "duration_sec": 7.6000000000000085, + "word_count": 15 + }, + { + "speaker": "A", + "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": 119.68, + "end_time": 125.6, + "confidence": 0.9793633, + "duration_sec": 5.9199999999999875, + "word_count": 24 + }, + { + "speaker": "B", + "text": "El consumo es a 0,109 euros.", + "start_time": 128.56, + "end_time": 132.72, + "confidence": 0.85309523, + "duration_sec": 4.159999999999997, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Eso es a cualquier hora del día.", + "start_time": 133.68, + "end_time": 135.28, + "confidence": 0.99424523, + "duration_sec": 1.5999999999999943, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Vale, ¿Y la potencia?", + "start_time": 136.31, + "end_time": 137.59, + "confidence": 0.9920044, + "duration_sec": 1.2800000000000011, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Potencia punta, llano, 0,089, valle 0,089 todo el día.", + "start_time": 138.07, + "end_time": 143.51, + "confidence": 0.9841139, + "duration_sec": 5.439999999999998, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Eso se suma, ¿Verdad? Y en las 24 horas salen a 0,16 o 0,17.", + "start_time": 146.55, + "end_time": 152.63, + "confidence": 0.9745153, + "duration_sec": 6.079999999999984, + "word_count": 14 + }, + { + "speaker": "A", + "text": "No lo entiendo. A ver, qué potencia.", + "start_time": 153.43, + "end_time": 155.91, + "confidence": 0.9253976, + "duration_sec": 2.4799999999999898, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Perdón. Yo tampoco lo entiendo esto y es que me pone muy nervioso. No, no se preocupe, porque esto es una cosa que a mí se me escapa, ¿Sabe?", + "start_time": 159.67, + "end_time": 167.5, + "confidence": 0.9532698, + "duration_sec": 7.8300000000000125, + "word_count": 29 + }, + { + "speaker": "A", + "text": "Entonces, esto.", + "start_time": 167.5, + "end_time": 168.22, + "confidence": 0.8342285, + "duration_sec": 0.7199999999999989, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Yo Sé que en 24 horas voy a pagar el kilovatio. 0,109 euros kilovatio consumido. Es un consumo. Pero luego el llevar la corriente a casa, que es como yo hablo normalmente claro y castellano, el llevar la corriente a casa, hay un T o un T, que yo no sé cómo lo llaman ustedes, da igual. Una potencia en valle y otra en No sé cómo en punta es a 0,0891, ¿No?", + "start_time": 168.86, + "end_time": 197.73, + "confidence": 0.9499164, + "duration_sec": 28.869999999999976, + "word_count": 73 + }, + { + "speaker": "A", + "text": "Si yo le explico. Si usted tiene 4 con 4 de potencia, ¿Verdad? Vale, pues esto lo multiplicamos.", + "start_time": 197.73, + "end_time": 205.29, + "confidence": 0.92099386, + "duration_sec": 7.560000000000002, + "word_count": 18 + }, + { + "speaker": "B", + "text": "4 con 6.", + "start_time": 205.69, + "end_time": 206.73, + "confidence": 0.7978787, + "duration_sec": 1.039999999999992, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Pues lo he mirado mal un momentito.", + "start_time": 207.61, + "end_time": 209.69, + "confidence": 0.9643787, + "duration_sec": 2.079999999999984, + "word_count": 7 + }, + { + "speaker": "B", + "text": "4 con 4.", + "start_time": 214.09, + "end_time": 215.09, + "confidence": 0.94211143, + "duration_sec": 1.0, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Vale, entonces estos 4,4 lo multiplicamos por 0,089 nos da 1 resultado. Entonces esto lo multiplicamos por los días de la factura. Vamos a poner 30 para hacernos una idea. Espere un momentito que se me ha borrado.", + "start_time": 215.09, + "end_time": 232.3, + "confidence": 0.9496936, + "duration_sec": 17.210000000000008, + "word_count": 38 + }, + { + "speaker": "B", + "text": "Pero Gema, la cuestión es, ¿Yo voy a pagar durante todo el día, las 24 horas a 0,08 o a 0,016?", + "start_time": 232.94, + "end_time": 245.84, + "confidence": 0.9601041, + "duration_sec": 12.900000000000006, + "word_count": 21 + }, + { + "speaker": "A", + "text": "No, 0,16 no. ¿Cero coma cero ocho nueve?", + "start_time": 246.08, + "end_time": 249.04, + "confidence": 0.95177394, + "duration_sec": 2.9599999999999795, + "word_count": 8 + }, + { + "speaker": "B", + "text": "¿Cero ocho nueve cero ocho nueve? Es que me están estafando. Es que me están estafando. Me están llenando la cabeza de. Si una hora me cobran una hora, otra hora me cobran otra hora me están estafando porque yo tenía la tarifa One en otro domicilio de la calle San Juan que saldrá y resulta que yo pagaba, pues no sé, a 0,8 o algo así. Total, que yo pagaba 27 euros en la última factura de ese domicilio de llevar la potencia, ¿Cuánto me va a costar llevarla a mí ahora en esa misma? ¿Podemos hacer ese supuesto? Gema, perdona que te. Eso para que me quede claro.", + "start_time": 253.52, + "end_time": 295.82, + "confidence": 0.9495353, + "duration_sec": 42.29999999999998, + "word_count": 110 + }, + { + "speaker": "A", + "text": "Sí con la última factura que usted tiene, ¿No?", + "start_time": 295.82, + "end_time": 297.98, + "confidence": 0.9959762, + "duration_sec": 2.160000000000025, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Sí, la de 63 euros.", + "start_time": 298.38, + "end_time": 300.26, + "confidence": 0.9497074, + "duration_sec": 1.8799999999999955, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Vale, un momentito. Vale, pues venga, díganme usted los datos de la factura.", + "start_time": 300.26, + "end_time": 366.3, + "confidence": 0.9641771, + "duration_sec": 66.04000000000002, + "word_count": 13 + }, + { + "speaker": "B", + "text": "Voy entrando. Calle la mar número 14, La última. ¿Cómo puedo ver un segundo? Última factura Deluxe. No, hombre.", + "start_time": 371.66, + "end_time": 390.29, + "confidence": 0.87306845, + "duration_sec": 18.629999999999995, + "word_count": 19 + }, + { + "speaker": "A", + "text": "¿Ah, la quiere comparar con una de la calle de la Mar? Esto lo puedo mirar yo, no se preocupe.", + "start_time": 391.25, + "end_time": 395.69, + "confidence": 0.99353844, + "duration_sec": 4.439999999999998, + "word_count": 20 + }, + { + "speaker": "B", + "text": "Si yo en la calle de la Mar quiero saber Si antes pagaba 27 euros en términos potencia, ¿Cuánto me va a costar a mí ahora?", + "start_time": 395.69, + "end_time": 404.93, + "confidence": 0.91382945, + "duration_sec": 9.240000000000009, + "word_count": 26 + }, + { + "speaker": "A", + "text": "Pues es lo que le comentaba en la de calle de la mar, que es 4,6 se multiplica por 0,089 y esto por los días de la factura.", + "start_time": 407.34, + "end_time": 416.54, + "confidence": 0.9880908, + "duration_sec": 9.200000000000045, + "word_count": 28 + }, + { + "speaker": "B", + "text": "O sea, el.", + "start_time": 421.66, + "end_time": 422.38, + "confidence": 0.98046875, + "duration_sec": 0.7199999999999704, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Es 4.6 por 0,089 y luego se multiplica por los días de la factura. Eso es lo que va a pagar.", + "start_time": 430.46, + "end_time": 437.61, + "confidence": 0.9319179, + "duration_sec": 7.150000000000034, + "word_count": 21 + }, + { + "speaker": "B", + "text": "Me carga la factura y lo podemos un poco ver. La cuestión es que a mí no me queda claro si era, pues por ejemplo, el P que llaman otras compañías, o tarifa punta, como lo llaman ustedes, o el P o tarifa valle, como lo llaman ustedes Y yo eso digo, por ejemplo, de día de 8 de la mañana a 12 de la noche o de 12 de la noche a 8 de la mañana.", + "start_time": 442.01, + "end_time": 470.92, + "confidence": 0.94662356, + "duration_sec": 28.910000000000025, + "word_count": 77 + }, + { + "speaker": "A", + "text": "Pero no es lo que tiene en El contrato ahora usted lo tiene a cualquier hora desde las 8 de la mañana hasta las 8 de la mañana, el día siguiente.", + "start_time": 472.92, + "end_time": 480.92, + "confidence": 0.9477408, + "duration_sec": 8.0, + "word_count": 31 + }, + { + "speaker": "B", + "text": "Sí, ahora lo hemos puesto como un valle. Antes era como estudiantes, tenía una tarifa, me llamaron, me dijeron esto Mariano, esto está muy mal porque esto tienes a mucho el kilovatio. Es que yo no gasto mucho, yo soy más que me cuesta más llevar la energía a casa que lo que gasto.", + "start_time": 481.72, + "end_time": 500.02, + "confidence": 0.91456586, + "duration_sec": 18.299999999999955, + "word_count": 54 + }, + { + "speaker": "A", + "text": "¿Le llamaron de Endes a usted? Es que están habiendo muchas llamadas que no son correctas, hacen pasar por nosotros y luego hay este tipo de confusiones. Mariano, tienes un contrato muy bueno.", + "start_time": 500.9, + "end_time": 513.7, + "confidence": 0.9279144, + "duration_sec": 12.800000000000068, + "word_count": 33 + }, + { + "speaker": "B", + "text": "Yo ¿Cuál era el contrato bueno que tenía? La tarifa WAN.", + "start_time": 515.54, + "end_time": 518.74, + "confidence": 0.95261455, + "duration_sec": 3.2000000000000455, + "word_count": 11 + }, + { + "speaker": "A", + "text": "La tarifa WAN se hace por la web, por aquí No, no la tenemos, tiene que hacerlo a través de la web.", + "start_time": 518.98, + "end_time": 525.42, + "confidence": 0.9633863, + "duration_sec": 6.439999999999941, + "word_count": 22 + }, + { + "speaker": "B", + "text": "Yo tenía una tarifa One buenísima, buenísima de verdad.", + "start_time": 526.22, + "end_time": 530.86, + "confidence": 0.9197139, + "duration_sec": 4.639999999999986, + "word_count": 9 + }, + { + "speaker": "A", + "text": "Pues la puede rescatar, lo hace a.", + "start_time": 530.86, + "end_time": 533.18, + "confidence": 0.98887414, + "duration_sec": 2.3199999999999363, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Través de la web y ya están sus cosas. La última factura era la que yo tenía. Claro, es que yo veo que usted me habla de otra forma como me hablan otros. Yo veo que usted me llama, o sea yo, Gema, yo con usted estoy hablando como usted, desanimada, o sea, quiero decir como sin ningún ánimo de lucro, como decimos en mi pueblo.", + "start_time": 533.18, + "end_time": 564.75, + "confidence": 0.9442268, + "duration_sec": 31.57000000000005, + "word_count": 66 + }, + { + "speaker": "A", + "text": "No, no, claro, claro.", + "start_time": 564.75, + "end_time": 566.63, + "confidence": 0.8631592, + "duration_sec": 1.8799999999999955, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Que esté bien esté tanque, punto. No, pues aquellos no, aquellos te están diciendo no, es que mira, es que claro, sí ya sé yo que yo pagaba mucho el kilovotio con la tarifa WAN, que tampoco la veo aquí por muchos sitios. A ver sí ahora veo los precios. Mira, yo tenía enero punta llano a 4,6 por 0,088363 por 61 días 24,79. ¿Vale? Y luego una tarifa valle que tenía 4,6 por 0,008323 quedan pues los 2,34. Claro.", + "start_time": 570.47, + "end_time": 614.07, + "confidence": 0.92033446, + "duration_sec": 43.60000000000002, + "word_count": 80 + }, + { + "speaker": "A", + "text": "Mariano, le tengo que avisar que ahora a las 10 se nos va a.", + "start_time": 614.95, + "end_time": 617.91, + "confidence": 0.97813195, + "duration_sec": 2.9599999999999227, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Reiniciar todo el sistema ¿Y entonces qué hacemos?", + "start_time": 617.91, + "end_time": 622.07, + "confidence": 0.95337933, + "duration_sec": 4.160000000000082, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Por eso, ¿Qué más le puedo ayudar?", + "start_time": 624.07, + "end_time": 625.91, + "confidence": 0.95233446, + "duration_sec": 1.8399999999999181, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Antes de que esto suceda, o sea que usted ya no puede seguir atendiendo.", + "start_time": 625.91, + "end_time": 630.47, + "confidence": 0.95822287, + "duration_sec": 4.560000000000059, + "word_count": 14 + }, + { + "speaker": "A", + "text": "¿Es que se reinicia justo las 10.", + "start_time": 631.43, + "end_time": 633.43, + "confidence": 0.9432376, + "duration_sec": 2.0, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Se nos reinicia todo y entonces qué va a pasar? Que pierdo la llamada cuando estoy no me puede llamar.", + "start_time": 633.43, + "end_time": 639.43, + "confidence": 0.9431295, + "duration_sec": 6.0, + "word_count": 20 + }, + { + "speaker": "A", + "text": "Claro, pero bueno, por eso digo que vamos a aprovechar que queda un minuto. ¿Que es exactamente?", + "start_time": 639.91, + "end_time": 643.91, + "confidence": 0.97415364, + "duration_sec": 4.0, + "word_count": 17 + }, + { + "speaker": "B", + "text": "No puedo hacer nada, no puedo hacer nada porque no me queda claro No me queda claro porque yo al día vuelvo a tener esa duda. ¿Voy a pagar de término potencia 0,08.", + "start_time": 644.63, + "end_time": 656.561, + "confidence": 0.9580966, + "duration_sec": 11.93100000000004, + "word_count": 33 + }, + { + "speaker": "A", + "text": "0,089.", + "start_time": 656.919, + "end_time": 658.53, + "confidence": 0.96867, + "duration_sec": 1.61099999999999, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Todo el día, no? ¿Todo el día, las 24 horas, no?", + "start_time": 661.17, + "end_time": 665.33, + "confidence": 0.95426464, + "duration_sec": 4.160000000000082, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Sí.", + "start_time": 665.33, + "end_time": 665.81, + "confidence": 0.99975586, + "duration_sec": 0.4799999999999045, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Bueno, pues es que nada, que me están engañando. Vale, muchísimas gracias. Venga, ya hablamos.", + "start_time": 667.73, + "end_time": 673.57, + "confidence": 0.9322971, + "duration_sec": 5.840000000000032, + "word_count": 15 + }, + { + "speaker": "A", + "text": "A usted, señor.", + "start_time": 673.65, + "end_time": 674.53, + "confidence": 0.99905056, + "duration_sec": 0.8799999999999955, + "word_count": 3 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 675.0, + "audio_file": "10122025_0082038C3CFBF779.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "c5d0a03a-4a44-45d2-ae4a-62daddd3e8b5", + "model_version": null, + "created_at": "2026-01-19T13:38:40.424166", + "processing_time_sec": 17.346792, + "overall_confidence": 0.94575304, + "speaker_count": 2 + }, + "full_text": "Buenas noches. Latín de Germán, que le pudo ayudar con su contrato. Sí, hola, buenas noches. Mi nombre es Mariano Diego y quería ver qué tipo de penalización tenía si daba de baja ese contrato, porque es que no me queda claro el término potencia y no sé el P y el P. Qué es lo que está pagando ahora, quiere decir, ¿No? Claro. Vale, ¿De qué dirección hablamos? De calle Peña Son Juan. Vamos a mirarlo. Es que todavía no ha salido ninguna factura, pero bueno, yo le digo lo que se paga de tarifa hay de potencia en la tarifa libre son 0,0890089 en punta y en valle. ¿Las dos? Sí. Las 24 horas. Las 24 horas. Aunque la potencia antes se pagaba más barata en Bayer, el hecho de que durante el día se haya bajado a 0,089 sale en comparación más barato. Y tiene un 20% de descuento. ¿Con lo cual, si tiene un 20% de descUento, yo le digo? ¿O sea, que el P cuánto es? ¿Y el p? El P que serían 0,8. 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. El consumo es a 0,109 euros. Eso es a cualquier hora del día. Vale, ¿Y la potencia? Potencia punta, llano, 0,089, valle 0,089 todo el día. Eso se suma, ¿Verdad? Y en las 24 horas salen a 0,16 o 0,17. No lo entiendo. A ver, qué potencia. Perdón. Yo tampoco lo entiendo esto y es que me pone muy nervioso. No, no se preocupe, porque esto es una cosa que a mí se me escapa, ¿Sabe? Entonces, esto. Yo Sé que en 24 horas voy a pagar el kilovatio. 0,109 euros kilovatio consumido. Es un consumo. Pero luego el llevar la corriente a casa, que es como yo hablo normalmente claro y castellano, el llevar la corriente a casa, hay un T o un T, que yo no sé cómo lo llaman ustedes, da igual. Una potencia en valle y otra en No sé cómo en punta es a 0,0891, ¿No? Si yo le explico. Si usted tiene 4 con 4 de potencia, ¿Verdad? Vale, pues esto lo multiplicamos. 4 con 6. Pues lo he mirado mal un momentito. 4 con 4. Vale, entonces estos 4,4 lo multiplicamos por 0,089 nos da 1 resultado. Entonces esto lo multiplicamos por los días de la factura. Vamos a poner 30 para hacernos una idea. Espere un momentito que se me ha borrado. Pero Gema, la cuestión es, ¿Yo voy a pagar durante todo el día, las 24 horas a 0,08 o a 0,016? No, 0,16 no. ¿Cero coma cero ocho nueve? ¿Cero ocho nueve cero ocho nueve? Es que me están estafando. Es que me están estafando. Me están llenando la cabeza de. Si una hora me cobran una hora, otra hora me cobran otra hora me están estafando porque yo tenía la tarifa One en otro domicilio de la calle San Juan que saldrá y resulta que yo pagaba, pues no sé, a 0,8 o algo así. Total, que yo pagaba 27 euros en la última factura de ese domicilio de llevar la potencia, ¿Cuánto me va a costar llevarla a mí ahora en esa misma? ¿Podemos hacer ese supuesto? Gema, perdona que te. Eso para que me quede claro. Sí con la última factura que usted tiene, ¿No? Sí, la de 63 euros. Vale, un momentito. Vale, pues venga, díganme usted los datos de la factura. Voy entrando. Calle la mar número 14, La última. ¿Cómo puedo ver un segundo? Última factura Deluxe. No, hombre. ¿Ah, la quiere comparar con una de la calle de la Mar? Esto lo puedo mirar yo, no se preocupe. Si yo en la calle de la Mar quiero saber Si antes pagaba 27 euros en términos potencia, ¿Cuánto me va a costar a mí ahora? Pues es lo que le comentaba en la de calle de la mar, que es 4,6 se multiplica por 0,089 y esto por los días de la factura. O sea, el. Es 4.6 por 0,089 y luego se multiplica por los días de la factura. Eso es lo que va a pagar. Me carga la factura y lo podemos un poco ver. La cuestión es que a mí no me queda claro si era, pues por ejemplo, el P que llaman otras compañías, o tarifa punta, como lo llaman ustedes, o el P o tarifa valle, como lo llaman ustedes Y yo eso digo, por ejemplo, de día de 8 de la mañana a 12 de la noche o de 12 de la noche a 8 de la mañana. Pero no es lo que tiene en El contrato ahora usted lo tiene a cualquier hora desde las 8 de la mañana hasta las 8 de la mañana, el día siguiente. Sí, ahora lo hemos puesto como un valle. Antes era como estudiantes, tenía una tarifa, me llamaron, me dijeron esto Mariano, esto está muy mal porque esto tienes a mucho el kilovatio. Es que yo no gasto mucho, yo soy más que me cuesta más llevar la energía a casa que lo que gasto. ¿Le llamaron de Endes a usted? Es que están habiendo muchas llamadas que no son correctas, hacen pasar por nosotros y luego hay este tipo de confusiones. Mariano, tienes un contrato muy bueno. Yo ¿Cuál era el contrato bueno que tenía? La tarifa WAN. La tarifa WAN se hace por la web, por aquí No, no la tenemos, tiene que hacerlo a través de la web. Yo tenía una tarifa One buenísima, buenísima de verdad. Pues la puede rescatar, lo hace a. Través de la web y ya están sus cosas. La última factura era la que yo tenía. Claro, es que yo veo que usted me habla de otra forma como me hablan otros. Yo veo que usted me llama, o sea yo, Gema, yo con usted estoy hablando como usted, desanimada, o sea, quiero decir como sin ningún ánimo de lucro, como decimos en mi pueblo. No, no, claro, claro. Que esté bien esté tanque, punto. No, pues aquellos no, aquellos te están diciendo no, es que mira, es que claro, sí ya sé yo que yo pagaba mucho el kilovotio con la tarifa WAN, que tampoco la veo aquí por muchos sitios. A ver sí ahora veo los precios. Mira, yo tenía enero punta llano a 4,6 por 0,088363 por 61 días 24,79. ¿Vale? Y luego una tarifa valle que tenía 4,6 por 0,008323 quedan pues los 2,34. Claro. Mariano, le tengo que avisar que ahora a las 10 se nos va a. Reiniciar todo el sistema ¿Y entonces qué hacemos? Por eso, ¿Qué más le puedo ayudar? Antes de que esto suceda, o sea que usted ya no puede seguir atendiendo. ¿Es que se reinicia justo las 10. Se nos reinicia todo y entonces qué va a pasar? Que pierdo la llamada cuando estoy no me puede llamar. Claro, pero bueno, por eso digo que vamos a aprovechar que queda un minuto. ¿Que es exactamente? No puedo hacer nada, no puedo hacer nada porque no me queda claro No me queda claro porque yo al día vuelvo a tener esa duda. ¿Voy a pagar de término potencia 0,08. 0,089. Todo el día, no? ¿Todo el día, las 24 horas, no? Sí. Bueno, pues es que nada, que me están engañando. Vale, muchísimas gracias. Venga, ya hablamos. A usted, señor.", + "total_turns": 63, + "total_words": 1251 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF7D0.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF7D0.json new file mode 100644 index 0000000..d11c5aa --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF7D0.json @@ -0,0 +1,940 @@ +{ + "call_id": "10122025_0082038C3CFBF7D0", + "turns": [ + { + "speaker": "A", + "text": "Hola, ¿Cómo estás? Muy buenas noches, me presento, mi nombre es Lady Calderón. ¿En qué te puedo ayudar, Juan Carlos, con tu modificación de potencia?", + "start_time": 6.4, + "end_time": 13.76, + "confidence": 0.9595117, + "duration_sec": 7.359999999999999, + "word_count": 25 + }, + { + "speaker": "B", + "text": "Gracias. Algunos tienen más potencia en los slobats, ¿Me oyes? Sí, te escucho, Dime que me salta los. Me falta un poco la fusión de mi saltado, ¿Lo oyes?", + "start_time": 14.88, + "end_time": 37.26, + "confidence": 0.8403187, + "duration_sec": 22.379999999999995, + "word_count": 29 + }, + { + "speaker": "A", + "text": "Sí.", + "start_time": 37.42, + "end_time": 37.9, + "confidence": 0.9855957, + "duration_sec": 0.4799999999999969, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Tiene más potencia.", + "start_time": 39.9, + "end_time": 40.86, + "confidence": 0.9552409, + "duration_sec": 0.9600000000000009, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Vale, entonces sobre el servicio de la luz, vale, tienes la potencia de 3000. Sí tienes la potencia de 3300, Eres Juan Carlos, el titular del servicio, ¿Verdad?", + "start_time": 42.54, + "end_time": 58.31, + "confidence": 0.9709835, + "duration_sec": 15.770000000000003, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Soy yo.", + "start_time": 59.03, + "end_time": 59.75, + "confidence": 0.8847656, + "duration_sec": 0.7199999999999989, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Vale, Juan Carlos, entonces lo que te gustaría es aumentar la potencia.", + "start_time": 60.87, + "end_time": 64.31, + "confidence": 0.9638875, + "duration_sec": 3.440000000000005, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Sí, claro, estoy diciendo en cuánto. ¿A ver cuánto cuesta o gratis?", + "start_time": 64.31, + "end_time": 72.03, + "confidence": 0.9112786, + "duration_sec": 7.719999999999999, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Gratis, no, no, a partir de mil. De mil, vale, del mil kilovatios de potencia se generó un cobro de 50 a 60 euros aproximadamente, o sea, serían 4.300.", + "start_time": 72.03, + "end_time": 88.17, + "confidence": 0.95139974, + "duration_sec": 16.14, + "word_count": 29 + }, + { + "speaker": "B", + "text": "Hombre, a vosotros si os interesa. ¿Quién? Hacerle toda electricidad, la silla de vos dinero. Claro, cuando me gaste más ganas dinero.", + "start_time": 99.05, + "end_time": 104.97, + "confidence": 0.80178, + "duration_sec": 5.920000000000002, + "word_count": 22 + }, + { + "speaker": "A", + "text": "Entonces mira, en ese momento a tu correo electrónico te va a llegar un contrato, ese contrato es referente al cambio de la potencia, ¿Vale? ¿Que te va a aumentar a 4400, vale? En el momento que tú realices la firma, ten presente que te va a llegar ya, te va a cambiar la potencia en 24 horas, ¿Vale?", + "start_time": 124.38, + "end_time": 142.57, + "confidence": 0.9538807, + "duration_sec": 18.189999999999998, + "word_count": 59 + }, + { + "speaker": "B", + "text": "Vale, a cero, coste a cero, o.", + "start_time": 143.77, + "end_time": 147.89, + "confidence": 0.951137, + "duration_sec": 4.119999999999976, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Sea, el cambio tiene un valor de 50 euros mayor de 1000 kilovatios.", + "start_time": 147.89, + "end_time": 154.17, + "confidence": 0.9493187, + "duration_sec": 6.280000000000001, + "word_count": 13 + }, + { + "speaker": "B", + "text": "Pero yo no lo he pasado, mi kilovatio no lo ha pasado, esto es a cero.", + "start_time": 154.73, + "end_time": 157.69, + "confidence": 0.85164386, + "duration_sec": 2.960000000000008, + "word_count": 16 + }, + { + "speaker": "A", + "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": 160.33, + "end_time": 167.37, + "confidence": 0.9156591, + "duration_sec": 7.039999999999992, + "word_count": 21 + }, + { + "speaker": "B", + "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.93, + "end_time": 171.53, + "confidence": 0.8371471, + "duration_sec": 3.5999999999999943, + "word_count": 22 + }, + { + "speaker": "A", + "text": "No? En ese momento, pues todo cambio de potencia siempre tiene un coste adicional.", + "start_time": 174.57, + "end_time": 178.81, + "confidence": 0.93021065, + "duration_sec": 4.240000000000009, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Pero bueno, tú. A ver, 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.57, + "end_time": 186.61, + "confidence": 0.9626103, + "duration_sec": 6.0400000000000205, + "word_count": 27 + }, + { + "speaker": "A", + "text": "No, eso no, te pido mil disculpas por la información errónea.", + "start_time": 187.4, + "end_time": 190.68, + "confidence": 0.9607666, + "duration_sec": 3.280000000000001, + "word_count": 11 + }, + { + "speaker": "B", + "text": "¿Y si gasto 999 en vez de 1000? Dime, si gasto 999 en vez De.", + "start_time": 197.96, + "end_time": 206.038, + "confidence": 0.9283127, + "duration_sec": 8.078000000000003, + "word_count": 15 + }, + { + "speaker": "A", + "text": "1000, si es de 1000, pero si.", + "start_time": 206.082, + "end_time": 209.6, + "confidence": 0.9742612, + "duration_sec": 3.5180000000000007, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Gasto 999 en vez DE 1000, o.", + "start_time": 209.6, + "end_time": 213.8, + "confidence": 0.99055314, + "duration_sec": 4.200000000000017, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Sea, así sea menos, también tiene un importe, Vale, o sea, siempre sé que va a cobrar, igual son 500, igual son 50. Dame un segundo, por favor.", + "start_time": 213.8, + "end_time": 232.8, + "confidence": 0.92930084, + "duration_sec": 19.0, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Puede ser mil o mucho, ya teniendo mucho ya tres mil, ¿No? ¿O no ahora, porque te mereces?", + "start_time": 234.48, + "end_time": 238.56, + "confidence": 0.91857004, + "duration_sec": 4.0800000000000125, + "word_count": 18 + }, + { + "speaker": "A", + "text": "Dame un segundo, por favor.", + "start_time": 240.88, + "end_time": 242.08, + "confidence": 0.993099, + "duration_sec": 1.200000000000017, + "word_count": 5 + }, + { + "speaker": "B", + "text": "¿Y a veces la factura, no?", + "start_time": 258.96, + "end_time": 262.64, + "confidence": 0.7828776, + "duration_sec": 3.680000000000007, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Si, se cobrará a partir de la próxima factura. Pero solamente se cobra por única y primera vez.", + "start_time": 265.29, + "end_time": 272.09, + "confidence": 0.96026385, + "duration_sec": 6.7999999999999545, + "word_count": 18 + }, + { + "speaker": "B", + "text": "Pero será 50. Como me han dicho 50 me han dicho.", + "start_time": 272.89, + "end_time": 275.21, + "confidence": 0.8996282, + "duration_sec": 2.319999999999993, + "word_count": 11 + }, + { + "speaker": "A", + "text": "No, 50-50. Aproximadamente. Claro que sí.", + "start_time": 275.21, + "end_time": 278.25, + "confidence": 0.9791131, + "duration_sec": 3.0400000000000205, + "word_count": 6 + }, + { + "speaker": "B", + "text": "Aproximademente. ¿Pero por 2.000 o 2.000? Mejor 2.000 que 1.000, porque al civil.", + "start_time": 278.65, + "end_time": 282.81, + "confidence": 0.8804711, + "duration_sec": 4.160000000000025, + "word_count": 13 + }, + { + "speaker": "A", + "text": "Ya te deje los 2.000.", + "start_time": 283.37, + "end_time": 284.81, + "confidence": 0.9551753, + "duration_sec": 1.4399999999999977, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Y si fuese 2.500, mejor si fuese 2.500. Y así lo mismo por los 200. Por los 200 que deja mucha fuerza.", + "start_time": 286.17, + "end_time": 292.57, + "confidence": 0.8927639, + "duration_sec": 6.399999999999977, + "word_count": 22 + }, + { + "speaker": "A", + "text": "En ese momento tu correo electrónico ya te llegó el contrato. Vale. Entonces, para que por favor generes la firma y a partir del momento de la firma ya se realizó la modificación.", + "start_time": 344.8, + "end_time": 353.2, + "confidence": 0.94987226, + "duration_sec": 8.399999999999977, + "word_count": 33 + }, + { + "speaker": "B", + "text": "¿Te esperas tú a que llegue yo a firmar? ¿Te esperas tÚ o no me esperas?", + "start_time": 354.4, + "end_time": 357.36, + "confidence": 0.973053, + "duration_sec": 2.9600000000000364, + "word_count": 16 + }, + { + "speaker": "A", + "text": "Es como tu bus.", + "start_time": 359.12, + "end_time": 360.08, + "confidence": 0.8421631, + "duration_sec": 0.9599999999999795, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Espérame que Firpo contigo, Contigo, Por favor.", + "start_time": 361.52, + "end_time": 364.32, + "confidence": 0.9220494, + "duration_sec": 2.8000000000000114, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Tranquilo.", + "start_time": 366.88, + "end_time": 367.76, + "confidence": 0.9646484, + "duration_sec": 0.8799999999999955, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Homologado. Y nada, me paro aquí. Me paro aquí. A ver si puedo girar aquí. Y nada, te quiero comentar eso. ¿Entonces, esto cuando yo lo firme es al instante o cuándo me ha puesto? ¿Cuánta potencia me ha puesto? ¿Cuándo tengo ahora.", + "start_time": 368.08, + "end_time": 387.11, + "confidence": 0.9492358, + "duration_sec": 19.03000000000003, + "word_count": 43 + }, + { + "speaker": "A", + "text": "Dime cuánta potencia tengo? La potencia en ese momento la tienes en 3.300 y se modificó a 5.300.", + "start_time": 390.47, + "end_time": 399.43, + "confidence": 0.94542205, + "duration_sec": 8.95999999999998, + "word_count": 18 + }, + { + "speaker": "B", + "text": "Vale. ¿Tú crees que se puede poner un poquito más?", + "start_time": 400.81, + "end_time": 403.13, + "confidence": 0.9840006, + "duration_sec": 2.319999999999993, + "word_count": 10 + }, + { + "speaker": "A", + "text": "Si, se podría poner en ese momento un poquito más. Claro que sí. Pero entonces ya tiene otro cargo adicional. Sí, porque ya pasó los 5.300.", + "start_time": 404.49, + "end_time": 415.77, + "confidence": 0.94968563, + "duration_sec": 11.279999999999973, + "word_count": 26 + }, + { + "speaker": "B", + "text": "Ah, vale, vale, vale, Vale. ¿Que de Colombia tú? No, de Colombia, no.", + "start_time": 416.73, + "end_time": 420.33, + "confidence": 0.9151232, + "duration_sec": 3.599999999999966, + "word_count": 13 + }, + { + "speaker": "A", + "text": "Sí, sí, señor, sí.", + "start_time": 420.33, + "end_time": 422.61, + "confidence": 0.9835205, + "duration_sec": 2.2800000000000296, + "word_count": 4 + }, + { + "speaker": "B", + "text": "El afecto de Colombia. Buena gente colombiana. Parcoes y algo con acento. Ya. Chicas muy guapas y muchas parecen españolas. Muchas. Colombianas.", + "start_time": 422.61, + "end_time": 440.07, + "confidence": 0.86911213, + "duration_sec": 17.45999999999998, + "word_count": 22 + }, + { + "speaker": "A", + "text": "Qué bueno.", + "start_time": 440.31, + "end_time": 441.11, + "confidence": 0.8112793, + "duration_sec": 0.8000000000000114, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Me llevo muy bien. Me llevo muy bien con la genética, chicos en Colombia. Muy bien. Y es un país muy rico. Es la corrupción. Si no sería muy rico, sería. Lo que pasa en Sudamérica lo pasa en Venezuela y otros países. Pero aquí la verdad, el país muy rico. Venezuela. A ver, tiene algo, tiene textil, tiene todo, todo. Hay mejor café. Perfecto. Espera, espera, espera, espera, espera. Me aparco bien. Espera, espera, espera.", + "start_time": 445.99, + "end_time": 477.28, + "confidence": 0.9125971, + "duration_sec": 31.289999999999964, + "word_count": 76 + }, + { + "speaker": "A", + "text": "No te preocupes. Tranquilo, tómate tu tiempo.", + "start_time": 479.3, + "end_time": 481.14, + "confidence": 0.9847412, + "duration_sec": 1.839999999999975, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Muy amable. ¿Sabes qué pasa? Que me saco un poco la estufa del lavabo ayer y que algún piso me he comprado y no sé cómo la persona que tiene este piso, que también tiene Andesa, no sé cómo voy a tener eso. Tengo gas, pero el gas lo hace muy poquito. El gas. Este año había factura de gas que una comercial como tú me estás haciendo ahora, que son 50 euros, me puso una cosa de 15 euros adicional en caso de que me pase algo, que venga un operario, pero resulta que eso no lo puse y yo hice una reclamación en Endesa para que me ponga el dinero, porque yo eso no lo he puesto yo contigo se dan y son 50 euros, pero no lo dinero que sean 50, que no lo vuelven a 100.", + "start_time": 481.94, + "end_time": 530.56, + "confidence": 0.9013267, + "duration_sec": 48.61999999999995, + "word_count": 140 + }, + { + "speaker": "A", + "text": "Si no, eso se hace por. Ese cobro solamente se genera por única y primera vez.", + "start_time": 532.15, + "end_time": 536.47, + "confidence": 0.9484965, + "duration_sec": 4.32000000000005, + "word_count": 16 + }, + { + "speaker": "B", + "text": "¿A primera vez te deja?", + "start_time": 537.51, + "end_time": 539.19, + "confidence": 0.9458984, + "duration_sec": 1.6800000000000637, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Sí, ya después se cobra normal.", + "start_time": 539.27, + "end_time": 540.87, + "confidence": 0.98253036, + "duration_sec": 1.6000000000000227, + "word_count": 6 + }, + { + "speaker": "B", + "text": "¿Cobro normal? ¿Cómo se cobra normal?", + "start_time": 541.83, + "end_time": 543.31, + "confidence": 0.96761066, + "duration_sec": 1.4799999999999045, + "word_count": 6 + }, + { + "speaker": "A", + "text": "No entiendo, o sea, ya no se cobra como el aumento de la potencia solo se genera el cobro por única y primera vez, Es decir, si no.", + "start_time": 543.31, + "end_time": 551.07, + "confidence": 0.9553339, + "duration_sec": 7.760000000000105, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Yo voy a llamar aquí unos meses y pido mil más, ¿Qué pasaría?", + "start_time": 551.07, + "end_time": 553.91, + "confidence": 0.89988357, + "duration_sec": 2.839999999999918, + "word_count": 13 + }, + { + "speaker": "A", + "text": "Te vuelven a cobrar por el aumento. Pero entonces, digamos un ejemplo, este aumento de la potencia se va a cobrar en la próxima factura, pero después en la otra, pues ya no se vuelve a cobrar.", + "start_time": 554.39, + "end_time": 568.32, + "confidence": 0.9645347, + "duration_sec": 13.930000000000064, + "word_count": 37 + }, + { + "speaker": "B", + "text": "¿Ya lo sé que era? ¿Ya sé, ya lo sé, pero mi pregunta pero si yo si fuesen 3000 vatios lleva cuándo valdríaña cómo sería ya?", + "start_time": 569.68, + "end_time": 582.01, + "confidence": 0.87009686, + "duration_sec": 12.330000000000041, + "word_count": 26 + }, + { + "speaker": "A", + "text": "Y si, serían aproximadamente 150 euros de 100 a 150.", + "start_time": 582.01, + "end_time": 586.49, + "confidence": 0.908138, + "duration_sec": 4.480000000000018, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Potencia, porque cuando más gaste, cuando más gaste la ganáis. A ver si me ha llegado, a ver si me ha llegado ya me llega. Perdón, estoy. No te preocupes, Endesa, firmar, firmo, confirmo, mira, firmar. Con letra, no. Abrir marca, como leído, me fío, a ver, me fío, a ver y continuar, a ver. 35.29 no ha llegado, 35.29 no, espera, 35.20 firma. Hemos terminado la operación se ha concretado con esto y así puedes consultar los detalles. Hemos enviado un email, podrás acceder los detalles qué te sale aquí. Me han llegado dos emails.", + "start_time": 590.89, + "end_time": 679.04, + "confidence": 0.9064348, + "duration_sec": 88.14999999999998, + "word_count": 96 + }, + { + "speaker": "A", + "text": "Si te llegó el email es porque ya está firmado y pues ya debes esperarte a 24 horas para que te genere el cambio de la potencia, vale, para que ya quede modificado.", + "start_time": 680.32, + "end_time": 690.03, + "confidence": 0.94041115, + "duration_sec": 9.709999999999923, + "word_count": 33 + }, + { + "speaker": "B", + "text": "Bueno, me han llegado dos. ¿Solo firmado uno, así me va a cobrar dos veces?", + "start_time": 690.03, + "end_time": 694.79, + "confidence": 0.854145, + "duration_sec": 4.759999999999991, + "word_count": 15 + }, + { + "speaker": "A", + "text": "No, solo tienes que hacer una firma, no te preocupes.", + "start_time": 695.91, + "end_time": 698.63, + "confidence": 0.9552124, + "duration_sec": 2.7200000000000273, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Vale, ahora no podrá ser, no, o igual ya, o ya, igual se puede. Ya se me ha puesto.", + "start_time": 698.79, + "end_time": 710.15, + "confidence": 0.92962754, + "duration_sec": 11.360000000000014, + "word_count": 19 + }, + { + "speaker": "A", + "text": "Vale, sí ya debemos esperar las 24.", + "start_time": 711.51, + "end_time": 714.79, + "confidence": 0.89761245, + "duration_sec": 3.2799999999999727, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Horas, que no es al instante. No es al instante.", + "start_time": 714.79, + "end_time": 718.29, + "confidence": 0.9013184, + "duration_sec": 3.5, + "word_count": 10 + }, + { + "speaker": "A", + "text": "No, al instante no.", + "start_time": 718.61, + "end_time": 719.81, + "confidence": 0.911499, + "duration_sec": 1.1999999999999318, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Vale, pues nada. Qué voz tan buena tiene.", + "start_time": 720.93, + "end_time": 723.41, + "confidence": 0.8571167, + "duration_sec": 2.480000000000018, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Gracias, gracias.", + "start_time": 724.13, + "end_time": 725.41, + "confidence": 0.9532471, + "duration_sec": 1.2799999999999727, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Y nada, ya lo podéis. Y A veces esos 15 euros que tengo reclamado, que fue una chica que me hizo, una chica española que me hizo el contrato, ella metió ahí, dice que 15 años clave de mantenimiento, todo lo que es en casos de lampista de urgencia, yo lo contraté y claro, cuando viene la factura yo he dicho que yo a este stack y me he dado cuenta y he dicho a ver si se me devuelve el dinero. De momento no se me ha devuelto, de momento no se me ha dicho nada, vi que no se me iba a destinar eso que quiero comentar.", + "start_time": 725.65, + "end_time": 760.84, + "confidence": 0.907919, + "duration_sec": 35.190000000000055, + "word_count": 109 + }, + { + "speaker": "A", + "text": "Sí, bueno, mira, en este caso, pues el cliente siempre tiene el derecho de ese servicio de mantenimiento, se llama así, ¿Vale? Servicio de mantenimiento no tiene ningún compromiso de permanencia, por lo cual tú le puedes dar la baja cuando desees. Si tú ya hiciste la baja. Sí, si tú ya hiciste la baja, vale, pero deseas reclamar el importe, pues ya en este caso yo te podría pasar con mis compañeros de mantenimiento para que ellos te puedan ayudar con algún tipo de reclamación.", + "start_time": 761.56, + "end_time": 787.55, + "confidence": 0.95744145, + "duration_sec": 25.99000000000001, + "word_count": 86 + }, + { + "speaker": "B", + "text": "¿Tengo reclamación hecha y bueno, qué me dicen? Pues si tú no quieres hacer tu, aunque yo te cuelgue, me has crecer tú misma, me la haces tú misma si lo miras y mis clientes me lo haces si quieres.", + "start_time": 788.19, + "end_time": 802.0, + "confidence": 0.8667074, + "duration_sec": 13.809999999999945, + "word_count": 40 + }, + { + "speaker": "A", + "text": "De igual manera, si tú ya tienes la reclamación generada, pues ya solamente debemos de esperar a que se comunique contigo, ¿Vale?", + "start_time": 802.48, + "end_time": 809.84, + "confidence": 0.96666926, + "duration_sec": 7.360000000000014, + "word_count": 22 + }, + { + "speaker": "B", + "text": "Yo entiendo que una compañía tan grande como Endesa demuestras que es verdad, aparte de grabación grabada y yo se pudo ver que yo cuando me vino la factura dije que yo eso me lo había contratado, que a la vista está que he llamado y no, que no, que no, que está dicho, yo eso no entiendo. Claro, mira ahora 50 euros para la factura que me haga, es decir, que yo soy cliente son cosas que son detalles en telefonía te lo quitan rápido, entonces te lo quitaré sobre esas cosas porque eso puede hacer que te llames de compañía. ¿Tienes o no lo tienes en cuenta tú? ¿Y tú lo miras y díselo al superior si puedes y no te quita tu tiempo más guapa, no te preocupes.", + "start_time": 810.24, + "end_time": 852.08, + "confidence": 0.9310746, + "duration_sec": 41.84000000000003, + "word_count": 131 + }, + { + "speaker": "A", + "text": "Es con mucho gusto, vale? ¿De igual manera para darte la información, vale? Te cuento que en este momento Endesa está ofreciendo un 25% de descuento en nuevas contrataciones con 100 euros por nuevas contrataciones de la luz y 60 euros por nuevas contratacioneS del gas. Para que tengas muy presente Y si de pronto tienes algún suministro con otra compañía pues te ayudamos con mucho gusto a hacer la activación. ¿Vale?", + "start_time": 852.08, + "end_time": 874.92, + "confidence": 0.9560448, + "duration_sec": 22.839999999999918, + "word_count": 72 + }, + { + "speaker": "B", + "text": "De momento gracias a Dios tengo mi piso. Nada más mío, gracias a Dios no alquiler de momento. Vale, Vale, claro que sí, Es lo último que tengo. Cuando estaba la Policía Nacional en Cataluña yo era muy joven y tenía muchas propiedades Y cuando cambiaron de policía por culpa de los políticos, los mozos de escuela son muy buenas personas. Pues nada, fue como Colombia, me quitaron todo y al momento tengo mi piso nada más eso era la Policía Nacional y de mi piso Y nada, gracias a Dios duermo ahí en mi casa, lo que Dios igual me toca la primitiva mañana y me voy a vivir. De momento tengo mi piso. La Policía Nacional tenía piso en Barcelona, en el Paralelo. Muchas gracias y espero que por favor que no sea más de 50 euros.", + "start_time": 875.32, + "end_time": 928.29, + "confidence": 0.9315895, + "duration_sec": 52.969999999999914, + "word_count": 139 + }, + { + "speaker": "A", + "text": "Sí, claro que sí. Vale, De igual manera tengo una pregunta para ti. Es que mira que estoy viendo la modificación del contrato, ¿Vale? Es decir, de la potencia y aún me aparece que está pendiente de firma. ¿Tú se le dices firmar?", + "start_time": 928.77, + "end_time": 943.34, + "confidence": 0.94266105, + "duration_sec": 14.57000000000005, + "word_count": 43 + }, + { + "speaker": "B", + "text": "Ya te he dicho que han llegado dos. Perdón, me han llegado dos. Uno.", + "start_time": 945.02, + "end_time": 948.54, + "confidence": 0.9334542, + "duration_sec": 3.519999999999982, + "word_count": 14 + }, + { + "speaker": "A", + "text": "Qué te aparece qué te dice otro.", + "start_time": 950.86, + "end_time": 953.82, + "confidence": 0.8558408, + "duration_sec": 2.9600000000000364, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Hay dos lo mismo. La firma es solo compatible con los navegadores Chrometa le he firmado otra vez.", + "start_time": 953.82, + "end_time": 959.42, + "confidence": 0.896195, + "duration_sec": 5.599999999999909, + "word_count": 18 + }, + { + "speaker": "A", + "text": "¿Tú tienes iPhone? ¿Es por esto?", + "start_time": 960.62, + "end_time": 964.96, + "confidence": 0.9733073, + "duration_sec": 4.340000000000032, + "word_count": 6 + }, + { + "speaker": "B", + "text": "Si.", + "start_time": 964.96, + "end_time": 965.28, + "confidence": 0.5576172, + "duration_sec": 0.31999999999993634, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Debes acceder ahí mismo donde te dice que solamente es compatible con navegador. Debes de pinchar ahí y hacer el proceso porque cuando es iPhone, pues si se expande un poquito.", + "start_time": 965.28, + "end_time": 975.96, + "confidence": 0.95908546, + "duration_sec": 10.680000000000064, + "word_count": 31 + }, + { + "speaker": "B", + "text": "Mira guapa, ve documentación y en el otro a ver cómo lo hago. Firmar, ¿Dónde lo doy?", + "start_time": 976.6, + "end_time": 984.6, + "confidence": 0.9002949, + "duration_sec": 8.0, + "word_count": 17 + }, + { + "speaker": "A", + "text": "Dale y firmar. Me va diciendo que te aparece y yo te voy indicando.", + "start_time": 985.96, + "end_time": 992.93, + "confidence": 0.93671817, + "duration_sec": 6.969999999999914, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Muchas gracias. Muchas gracias guapa. A ver, pone bienvenido para completar la operación con las indicaciones a través de los siguientes pasos. En unos minutos habremos terminado. Pone continuar.", + "start_time": 993.25, + "end_time": 1008.37, + "confidence": 0.9205827, + "duration_sec": 15.120000000000005, + "word_count": 29 + }, + { + "speaker": "A", + "text": "Si te da continuar, dale continuar.", + "start_time": 1009.65, + "end_time": 1011.57, + "confidence": 0.8878174, + "duration_sec": 1.9200000000000728, + "word_count": 6 + }, + { + "speaker": "B", + "text": "OK. Pone para identificación necesario que nos indiques mi DNI con esa mayúscula.", + "start_time": 1012.21, + "end_time": 1020.04, + "confidence": 0.88699794, + "duration_sec": 7.829999999999927, + "word_count": 13 + }, + { + "speaker": "A", + "text": "Sí, por favor.", + "start_time": 1020.52, + "end_time": 1021.32, + "confidence": 0.93603516, + "duration_sec": 0.8000000000000682, + "word_count": 3 + }, + { + "speaker": "B", + "text": "Ya está. ¿Le puedo continuar? Sale todo, Prueba continuar. ¿Le doy continuar?", + "start_time": 1029.4, + "end_time": 1037.32, + "confidence": 0.9023912, + "duration_sec": 7.919999999999845, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Sí, por favor.", + "start_time": 1037.88, + "end_time": 1038.6, + "confidence": 0.98811847, + "duration_sec": 0.7199999999997999, + "word_count": 3 + }, + { + "speaker": "B", + "text": "Y ahora pone por favor hacer contrato tal. Abrir. Pone que abra. Abro. Poner botones de hojas. ¿Qué hago aquí?", + "start_time": 1041.409, + "end_time": 1052.849, + "confidence": 0.9182007, + "duration_sec": 11.439999999999827, + "word_count": 20 + }, + { + "speaker": "A", + "text": "¿Si, baja, baja, baja, baja hasta donde te diga marcar cómo leído continuar OK.", + "start_time": 1054.209, + "end_time": 1060.369, + "confidence": 0.9551595, + "duration_sec": 6.1599999999998545, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Y pone leído continuar ya pone el código pongo 61 98 61 98 puedo continuar? ¿A ver, puedo continuar? Ya hemos terminado la operación se ha completado con esta kit consultar te hemos enviado un email que puedes probar y acceder. Eso me ha dicho ya.", + "start_time": 1062.209, + "end_time": 1090.39, + "confidence": 0.9449374, + "duration_sec": 28.18100000000004, + "word_count": 46 + }, + { + "speaker": "A", + "text": "Ahora sí ya nos aparece firmado. Sí ya nos aparece firmado.", + "start_time": 1090.39, + "end_time": 1098.71, + "confidence": 0.9761704, + "duration_sec": 8.319999999999936, + "word_count": 11 + }, + { + "speaker": "B", + "text": "Dime cuándo lo tengo hecho. ¿Ahora o en 24 horas?", + "start_time": 1100.87, + "end_time": 1104.95, + "confidence": 0.87673295, + "duration_sec": 4.080000000000155, + "word_count": 10 + }, + { + "speaker": "A", + "text": "Tiene en 24 horas debes de esperar a que se finalice la modificación.", + "start_time": 1105.59, + "end_time": 1109.27, + "confidence": 0.9752545, + "duration_sec": 3.6800000000000637, + "word_count": 13 + }, + { + "speaker": "B", + "text": "Vale, pues nada, pues ya está. Pues es decir que como muy tarde mañana está hecho ¿No?", + "start_time": 1110.39, + "end_time": 1115.11, + "confidence": 0.9234739, + "duration_sec": 4.7199999999998, + "word_count": 17 + }, + { + "speaker": "A", + "text": "Sí señor.", + "start_time": 1115.6, + "end_time": 1116.4, + "confidence": 0.90563965, + "duration_sec": 0.8000000000001819, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Vale, pues nada, muchas gracias.", + "start_time": 1117.52, + "end_time": 1119.68, + "confidence": 0.96728516, + "duration_sec": 2.160000000000082, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Gracias a ti.", + "start_time": 1119.92, + "end_time": 1120.8, + "confidence": 0.9923503, + "duration_sec": 0.8799999999998818, + "word_count": 3 + }, + { + "speaker": "B", + "text": "Si me sale opuesta de votar con un 10. Gracias y hasta otra guapa.", + "start_time": 1121.36, + "end_time": 1126.64, + "confidence": 0.93212306, + "duration_sec": 5.2800000000002, + "word_count": 14 + }, + { + "speaker": "A", + "text": "Claro que sí. Igualmente un fuerte abrazo y que Dios te bendiga.", + "start_time": 1126.72, + "end_time": 1131.04, + "confidence": 0.98842025, + "duration_sec": 4.319999999999936, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Igualmente, que Dios te bendiga.", + "start_time": 1131.84, + "end_time": 1133.44, + "confidence": 0.98035485, + "duration_sec": 1.6000000000001364, + "word_count": 5 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 1137.0, + "audio_file": "10122025_0082038C3CFBF7D0.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "ff66562f-75b8-42c9-a39b-d7f3a86c0b49", + "model_version": null, + "created_at": "2026-01-19T13:39:09.545306", + "processing_time_sec": 46.207079, + "overall_confidence": 0.92599565, + "speaker_count": 2 + }, + "full_text": "Hola, ¿Cómo estás? Muy buenas noches, me presento, mi nombre es Lady Calderón. ¿En qué te puedo ayudar, Juan Carlos, con tu modificación de potencia? Gracias. Algunos tienen más potencia en los slobats, ¿Me oyes? Sí, te escucho, Dime que me salta los. Me falta un poco la fusión de mi saltado, ¿Lo oyes? Sí. Tiene más potencia. Vale, entonces sobre el servicio de la luz, vale, tienes la potencia de 3000. Sí tienes la potencia de 3300, Eres Juan Carlos, el titular del servicio, ¿Verdad? Soy yo. Vale, Juan Carlos, entonces lo que te gustaría es aumentar la potencia. Sí, claro, estoy diciendo en cuánto. ¿A ver cuánto cuesta o gratis? Gratis, no, no, a partir de mil. De mil, vale, del mil kilovatios de potencia se generó un cobro de 50 a 60 euros aproximadamente, o sea, serían 4.300. Hombre, a vosotros si os interesa. ¿Quién? Hacerle toda electricidad, la silla de vos dinero. Claro, cuando me gaste más ganas dinero. Entonces mira, en ese momento a tu correo electrónico te va a llegar un contrato, ese contrato es referente al cambio de la potencia, ¿Vale? ¿Que te va a aumentar a 4400, vale? En el momento que tú realices la firma, ten presente que te va a llegar ya, te va a cambiar la potencia en 24 horas, ¿Vale? Vale, a cero, coste a cero, o. Sea, el cambio tiene un valor de 50 euros mayor de 1000 kilovatios. Pero yo no lo he pasado, mi kilovatio no lo ha pasado, esto es a cero. No, es que siempre el valor de. El valor de la modificación de potencia tiene ese valor, vale, tiene un valor. A ver, pero yo no he pasado de mil, ¿No? ¿Que si no he pasado de mil tiene que ser a cero. No? En ese momento, pues todo cambio de potencia siempre tiene un coste adicional. Pero bueno, tú. A ver, a mí me han dicho que no, que accesa cero, no, que no hay que pagar nada, me han dicho a mí. No, eso no, te pido mil disculpas por la información errónea. ¿Y si gasto 999 en vez de 1000? Dime, si gasto 999 en vez De. 1000, si es de 1000, pero si. Gasto 999 en vez DE 1000, o. Sea, así sea menos, también tiene un importe, Vale, o sea, siempre sé que va a cobrar, igual son 500, igual son 50. Dame un segundo, por favor. Puede ser mil o mucho, ya teniendo mucho ya tres mil, ¿No? ¿O no ahora, porque te mereces? Dame un segundo, por favor. ¿Y a veces la factura, no? Si, se cobrará a partir de la próxima factura. Pero solamente se cobra por única y primera vez. Pero será 50. Como me han dicho 50 me han dicho. No, 50-50. Aproximadamente. Claro que sí. Aproximademente. ¿Pero por 2.000 o 2.000? Mejor 2.000 que 1.000, porque al civil. Ya te deje los 2.000. Y si fuese 2.500, mejor si fuese 2.500. Y así lo mismo por los 200. Por los 200 que deja mucha fuerza. En ese momento tu correo electrónico ya te llegó el contrato. Vale. Entonces, para que por favor generes la firma y a partir del momento de la firma ya se realizó la modificación. ¿Te esperas tú a que llegue yo a firmar? ¿Te esperas tÚ o no me esperas? Es como tu bus. Espérame que Firpo contigo, Contigo, Por favor. Tranquilo. Homologado. Y nada, me paro aquí. Me paro aquí. A ver si puedo girar aquí. Y nada, te quiero comentar eso. ¿Entonces, esto cuando yo lo firme es al instante o cuándo me ha puesto? ¿Cuánta potencia me ha puesto? ¿Cuándo tengo ahora. Dime cuánta potencia tengo? La potencia en ese momento la tienes en 3.300 y se modificó a 5.300. Vale. ¿Tú crees que se puede poner un poquito más? Si, se podría poner en ese momento un poquito más. Claro que sí. Pero entonces ya tiene otro cargo adicional. Sí, porque ya pasó los 5.300. Ah, vale, vale, vale, Vale. ¿Que de Colombia tú? No, de Colombia, no. Sí, sí, señor, sí. El afecto de Colombia. Buena gente colombiana. Parcoes y algo con acento. Ya. Chicas muy guapas y muchas parecen españolas. Muchas. Colombianas. Qué bueno. Me llevo muy bien. Me llevo muy bien con la genética, chicos en Colombia. Muy bien. Y es un país muy rico. Es la corrupción. Si no sería muy rico, sería. Lo que pasa en Sudamérica lo pasa en Venezuela y otros países. Pero aquí la verdad, el país muy rico. Venezuela. A ver, tiene algo, tiene textil, tiene todo, todo. Hay mejor café. Perfecto. Espera, espera, espera, espera, espera. Me aparco bien. Espera, espera, espera. No te preocupes. Tranquilo, tómate tu tiempo. Muy amable. ¿Sabes qué pasa? Que me saco un poco la estufa del lavabo ayer y que algún piso me he comprado y no sé cómo la persona que tiene este piso, que también tiene Andesa, no sé cómo voy a tener eso. Tengo gas, pero el gas lo hace muy poquito. El gas. Este año había factura de gas que una comercial como tú me estás haciendo ahora, que son 50 euros, me puso una cosa de 15 euros adicional en caso de que me pase algo, que venga un operario, pero resulta que eso no lo puse y yo hice una reclamación en Endesa para que me ponga el dinero, porque yo eso no lo he puesto yo contigo se dan y son 50 euros, pero no lo dinero que sean 50, que no lo vuelven a 100. Si no, eso se hace por. Ese cobro solamente se genera por única y primera vez. ¿A primera vez te deja? Sí, ya después se cobra normal. ¿Cobro normal? ¿Cómo se cobra normal? No entiendo, o sea, ya no se cobra como el aumento de la potencia solo se genera el cobro por única y primera vez, Es decir, si no. Yo voy a llamar aquí unos meses y pido mil más, ¿Qué pasaría? Te vuelven a cobrar por el aumento. Pero entonces, digamos un ejemplo, este aumento de la potencia se va a cobrar en la próxima factura, pero después en la otra, pues ya no se vuelve a cobrar. ¿Ya lo sé que era? ¿Ya sé, ya lo sé, pero mi pregunta pero si yo si fuesen 3000 vatios lleva cuándo valdríaña cómo sería ya? Y si, serían aproximadamente 150 euros de 100 a 150. Potencia, porque cuando más gaste, cuando más gaste la ganáis. A ver si me ha llegado, a ver si me ha llegado ya me llega. Perdón, estoy. No te preocupes, Endesa, firmar, firmo, confirmo, mira, firmar. Con letra, no. Abrir marca, como leído, me fío, a ver, me fío, a ver y continuar, a ver. 35.29 no ha llegado, 35.29 no, espera, 35.20 firma. Hemos terminado la operación se ha concretado con esto y así puedes consultar los detalles. Hemos enviado un email, podrás acceder los detalles qué te sale aquí. Me han llegado dos emails. Si te llegó el email es porque ya está firmado y pues ya debes esperarte a 24 horas para que te genere el cambio de la potencia, vale, para que ya quede modificado. Bueno, me han llegado dos. ¿Solo firmado uno, así me va a cobrar dos veces? No, solo tienes que hacer una firma, no te preocupes. Vale, ahora no podrá ser, no, o igual ya, o ya, igual se puede. Ya se me ha puesto. Vale, sí ya debemos esperar las 24. Horas, que no es al instante. No es al instante. No, al instante no. Vale, pues nada. Qué voz tan buena tiene. Gracias, gracias. Y nada, ya lo podéis. Y A veces esos 15 euros que tengo reclamado, que fue una chica que me hizo, una chica española que me hizo el contrato, ella metió ahí, dice que 15 años clave de mantenimiento, todo lo que es en casos de lampista de urgencia, yo lo contraté y claro, cuando viene la factura yo he dicho que yo a este stack y me he dado cuenta y he dicho a ver si se me devuelve el dinero. De momento no se me ha devuelto, de momento no se me ha dicho nada, vi que no se me iba a destinar eso que quiero comentar. Sí, bueno, mira, en este caso, pues el cliente siempre tiene el derecho de ese servicio de mantenimiento, se llama así, ¿Vale? Servicio de mantenimiento no tiene ningún compromiso de permanencia, por lo cual tú le puedes dar la baja cuando desees. Si tú ya hiciste la baja. Sí, si tú ya hiciste la baja, vale, pero deseas reclamar el importe, pues ya en este caso yo te podría pasar con mis compañeros de mantenimiento para que ellos te puedan ayudar con algún tipo de reclamación. ¿Tengo reclamación hecha y bueno, qué me dicen? Pues si tú no quieres hacer tu, aunque yo te cuelgue, me has crecer tú misma, me la haces tú misma si lo miras y mis clientes me lo haces si quieres. De igual manera, si tú ya tienes la reclamación generada, pues ya solamente debemos de esperar a que se comunique contigo, ¿Vale? Yo entiendo que una compañía tan grande como Endesa demuestras que es verdad, aparte de grabación grabada y yo se pudo ver que yo cuando me vino la factura dije que yo eso me lo había contratado, que a la vista está que he llamado y no, que no, que no, que está dicho, yo eso no entiendo. Claro, mira ahora 50 euros para la factura que me haga, es decir, que yo soy cliente son cosas que son detalles en telefonía te lo quitan rápido, entonces te lo quitaré sobre esas cosas porque eso puede hacer que te llames de compañía. ¿Tienes o no lo tienes en cuenta tú? ¿Y tú lo miras y díselo al superior si puedes y no te quita tu tiempo más guapa, no te preocupes. Es con mucho gusto, vale? ¿De igual manera para darte la información, vale? Te cuento que en este momento Endesa está ofreciendo un 25% de descuento en nuevas contrataciones con 100 euros por nuevas contrataciones de la luz y 60 euros por nuevas contratacioneS del gas. Para que tengas muy presente Y si de pronto tienes algún suministro con otra compañía pues te ayudamos con mucho gusto a hacer la activación. ¿Vale? De momento gracias a Dios tengo mi piso. Nada más mío, gracias a Dios no alquiler de momento. Vale, Vale, claro que sí, Es lo último que tengo. Cuando estaba la Policía Nacional en Cataluña yo era muy joven y tenía muchas propiedades Y cuando cambiaron de policía por culpa de los políticos, los mozos de escuela son muy buenas personas. Pues nada, fue como Colombia, me quitaron todo y al momento tengo mi piso nada más eso era la Policía Nacional y de mi piso Y nada, gracias a Dios duermo ahí en mi casa, lo que Dios igual me toca la primitiva mañana y me voy a vivir. De momento tengo mi piso. La Policía Nacional tenía piso en Barcelona, en el Paralelo. Muchas gracias y espero que por favor que no sea más de 50 euros. Sí, claro que sí. Vale, De igual manera tengo una pregunta para ti. Es que mira que estoy viendo la modificación del contrato, ¿Vale? Es decir, de la potencia y aún me aparece que está pendiente de firma. ¿Tú se le dices firmar? Ya te he dicho que han llegado dos. Perdón, me han llegado dos. Uno. Qué te aparece qué te dice otro. Hay dos lo mismo. La firma es solo compatible con los navegadores Chrometa le he firmado otra vez. ¿Tú tienes iPhone? ¿Es por esto? Si. Debes acceder ahí mismo donde te dice que solamente es compatible con navegador. Debes de pinchar ahí y hacer el proceso porque cuando es iPhone, pues si se expande un poquito. Mira guapa, ve documentación y en el otro a ver cómo lo hago. Firmar, ¿Dónde lo doy? Dale y firmar. Me va diciendo que te aparece y yo te voy indicando. Muchas gracias. Muchas gracias guapa. A ver, pone bienvenido para completar la operación con las indicaciones a través de los siguientes pasos. En unos minutos habremos terminado. Pone continuar. Si te da continuar, dale continuar. OK. Pone para identificación necesario que nos indiques mi DNI con esa mayúscula. Sí, por favor. Ya está. ¿Le puedo continuar? Sale todo, Prueba continuar. ¿Le doy continuar? Sí, por favor. Y ahora pone por favor hacer contrato tal. Abrir. Pone que abra. Abro. Poner botones de hojas. ¿Qué hago aquí? ¿Si, baja, baja, baja, baja hasta donde te diga marcar cómo leído continuar OK. Y pone leído continuar ya pone el código pongo 61 98 61 98 puedo continuar? ¿A ver, puedo continuar? Ya hemos terminado la operación se ha completado con esta kit consultar te hemos enviado un email que puedes probar y acceder. Eso me ha dicho ya. Ahora sí ya nos aparece firmado. Sí ya nos aparece firmado. Dime cuándo lo tengo hecho. ¿Ahora o en 24 horas? Tiene en 24 horas debes de esperar a que se finalice la modificación. Vale, pues nada, pues ya está. Pues es decir que como muy tarde mañana está hecho ¿No? Sí señor. Vale, pues nada, muchas gracias. Gracias a ti. Si me sale opuesta de votar con un 10. Gracias y hasta otra guapa. Claro que sí. Igualmente un fuerte abrazo y que Dios te bendiga. Igualmente, que Dios te bendiga.", + "total_turns": 102, + "total_words": 2275 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF80E.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF80E.json new file mode 100644 index 0000000..9472da0 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF80E.json @@ -0,0 +1,481 @@ +{ + "call_id": "10122025_0082038C3CFBF80E", + "turns": [ + { + "speaker": "A", + "text": "Hola, buenas noches. Bienvenido en DS Energía. Mucho gusto, mi nombre es Jessica. Veo que te comunica Francisco Javier por información de factura. ¿Me indica cómo le puedo ayudar?", + "start_time": 5.84, + "end_time": 15.68, + "confidence": 0.9319605, + "duration_sec": 9.84, + "word_count": 29 + }, + { + "speaker": "B", + "text": "Hola, buenas. Mira, yo soy su pareja, soy Delfina Morales. Mira, quería reclamar porque me ha venido la carta hoy. Yo no la había dicho en el banco y he pagado 363,73 de factura, pero es que me he ido a la parte de atrás y me pone que tengo contratado 8.500 kilovatios, cuando yo eso no lo he contratado. Yo tenía ahí 3500 vatios. No sé cómo ha sido eso, ni cómo ni de qué manera. Quiero hacer una reclamación.", + "start_time": 16.64, + "end_time": 47.17, + "confidence": 0.9374975, + "duration_sec": 30.53, + "word_count": 81 + }, + { + "speaker": "A", + "text": "Primeramente, señora Delfina, confírmeme los datos del titular.", + "start_time": 48.69, + "end_time": 54.05, + "confidence": 0.97766316, + "duration_sec": 5.359999999999999, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Francisco Javier Chávez Gil. El DNI 9 millones 206. 760 la K, dirección del punto, Plaza de España número 12, Palomas, Badajoz.", + "start_time": 55.51, + "end_time": 70.87, + "confidence": 0.952995, + "duration_sec": 15.360000000000007, + "word_count": 22 + }, + { + "speaker": "A", + "text": "Provincia Población.", + "start_time": 73.43, + "end_time": 74.63, + "confidence": 0.91772586, + "duration_sec": 1.1999999999999886, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Palomas, Badajoz.", + "start_time": 75.51, + "end_time": 77.03, + "confidence": 0.94799805, + "duration_sec": 1.519999999999996, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Vale, confirme nombre y apellidos de usted.", + "start_time": 77.59, + "end_time": 80.15, + "confidence": 0.9346633, + "duration_sec": 2.5600000000000023, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Delfina Morales Bastida.", + "start_time": 81.14, + "end_time": 82.74, + "confidence": 0.95496964, + "duration_sec": 1.5999999999999943, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Vale, señora Delfina. Confírmeme su DNI.", + "start_time": 83.86, + "end_time": 87.22, + "confidence": 0.92150813, + "duration_sec": 3.3599999999999994, + "word_count": 6 + }, + { + "speaker": "B", + "text": "76 millones 254 mil 664 la G.", + "start_time": 87.94, + "end_time": 92.66, + "confidence": 0.924464, + "duration_sec": 4.719999999999999, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Vale, permítanme. No sé cómo el final, como tal modificación de potencia no se le ha realizado al cliente, pues es la potencia que me aparece activa desde la activación con Endesa.", + "start_time": 96.58, + "end_time": 124.03, + "confidence": 0.91515225, + "duration_sec": 27.450000000000003, + "word_count": 32 + }, + { + "speaker": "B", + "text": "Cómo no le entiendo, no sé lo.", + "start_time": 126.43, + "end_time": 128.27, + "confidence": 0.9655994, + "duration_sec": 1.8400000000000034, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Que quiere decir, o sea, la potencia que tiene no se le modificó desde Endesa, pues es una potencia con la que me aparece que ya registraba.", + "start_time": 128.27, + "end_time": 137.71, + "confidence": 0.9430821, + "duration_sec": 9.439999999999998, + "word_count": 27 + }, + { + "speaker": "B", + "text": "No, yo no tenía esa potencia. Yo venía pagando de factura 56.50 y pico y aquí pone potencia contratada. Atrás me ponen datos del contrato, me pone contrato de mercado libre, tiempo 24 horas, referencia de contacto, me pone su rayón azul, que es lo que yo me he ido a ver por no sé por qué. Y pone potencia contra punto llano 8500 kilovatios.", + "start_time": 138.89, + "end_time": 164.41, + "confidence": 0.92935646, + "duration_sec": 25.52000000000001, + "word_count": 65 + }, + { + "speaker": "A", + "text": "Yo para que tiene una potencia de.", + "start_time": 164.76, + "end_time": 166.88, + "confidence": 0.86233956, + "duration_sec": 2.1200000000000045, + "word_count": 7 + }, + { + "speaker": "B", + "text": "8,5, pero yo es que eso no lo tenía antes. Si tú te vas a una factura mía de antes, puedes ver lo que yo tenía contratado. Yo no sé eso quién la ha activado, ni cómo se hace, ni de qué manera, ni por qué. Y se supone que por eso digo yo que me ha venido la factura más subida porque pone derecho de contratación 87 euros, potencia contratada.", + "start_time": 166.88, + "end_time": 191.0, + "confidence": 0.9528133, + "duration_sec": 24.120000000000005, + "word_count": 71 + }, + { + "speaker": "A", + "text": "Hay una modificación el día 5 de agosto del 2025.", + "start_time": 191.64, + "end_time": 196.35, + "confidence": 0.9322851, + "duration_sec": 4.710000000000008, + "word_count": 10 + }, + { + "speaker": "B", + "text": "¿Y eso quién lo ha hecho?", + "start_time": 197.54, + "end_time": 198.82, + "confidence": 0.98380536, + "duration_sec": 1.2800000000000011, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Hay una solicitud de cambio. Permítame. Potencia de 3450 pasarán a 8500.", + "start_time": 199.46, + "end_time": 209.7, + "confidence": 0.95469993, + "duration_sec": 10.23999999999998, + "word_count": 12 + }, + { + "speaker": "B", + "text": "¿Y eso quién lo hace? ¿Cómo se hace eso? Explíquemelo.", + "start_time": 210.58, + "end_time": 214.42, + "confidence": 0.9313818, + "duration_sec": 3.839999999999975, + "word_count": 10 + }, + { + "speaker": "A", + "text": "Vale, la firma fue telemática, Es una. Se realiza la gestión por. Por petición del cliente. Se realiza en el mes de agosto la modificación de potencia.", + "start_time": 214.9, + "end_time": 229.47, + "confidence": 0.9389588, + "duration_sec": 14.569999999999993, + "word_count": 27 + }, + { + "speaker": "B", + "text": "¿Sí, pero eso como se hace? Eso habrá que seguirnos. Paso de qué manera y dónde, a qué teléfono, a dónde. Es lo que yo quiero saber.", + "start_time": 230.59, + "end_time": 240.83, + "confidence": 0.8644965, + "duration_sec": 10.240000000000009, + "word_count": 27 + }, + { + "speaker": "A", + "text": "Permítame que estoy consultando. Me aparece una modificación realizada el día 5 de agosto. Se realizó por Internet, gestión diferida web. Lo hicieron desde nuestro canal de Internet.", + "start_time": 241.23, + "end_time": 267.33, + "confidence": 0.97133046, + "duration_sec": 26.099999999999994, + "word_count": 28 + }, + { + "speaker": "B", + "text": "¿Y qué teléfono y cómo y de qué manera y con qué?", + "start_time": 268.53, + "end_time": 271.81, + "confidence": 0.96106637, + "duration_sec": 3.2800000000000296, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Lo hicieron por Internet, no le puedo informar más. Lo hicieron a través de nuestra página.", + "start_time": 272.13, + "end_time": 277.18, + "confidence": 0.9324417, + "duration_sec": 5.050000000000011, + "word_count": 16 + }, + { + "speaker": "B", + "text": "Sí, pero para meterte en esa página, ¿Cómo se hace? Explíqueme. ¿Digo yo, cómo puedo yo llegar a esos pasos o quién puede llegar? Yo puedo llegar.", + "start_time": 278.78, + "end_time": 287.78, + "confidence": 0.9171956, + "duration_sec": 9.0, + "word_count": 27 + }, + { + "speaker": "A", + "text": "En la página tú puedes realizar la modificación. Solicitaron la modificación de potencia. Te va a solicitar el CU y.", + "start_time": 287.78, + "end_time": 296.38, + "confidence": 0.9293457, + "duration_sec": 8.600000000000023, + "word_count": 20 + }, + { + "speaker": "B", + "text": "El Q qué Si yo eso no sé ni lo que.", + "start_time": 296.38, + "end_time": 299.18, + "confidence": 0.8857422, + "duration_sec": 2.8000000000000114, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Sí señora, pero la modificación la hicieron desde el canal web. Lo realizó, Pues como tal aparece realizado. Si lo realizó usted o lo realizó otra persona, no se lo puedo confirmar debido a que no sabemos esa información.", + "start_time": 299.74, + "end_time": 316.81, + "confidence": 0.9373821, + "duration_sec": 17.069999999999993, + "word_count": 39 + }, + { + "speaker": "B", + "text": "Si, yo no lo he hecho. Yo sé que yo esto no he hecho ni. Si yo lo hubiese hecho tendría que hablar con alguien. Alguien me tendría que hacer. ¿Como lo tengo que hacer? Digo yo. Digo yo no lo sé. Para reclamar esto.", + "start_time": 317.45, + "end_time": 333.19, + "confidence": 0.92006654, + "duration_sec": 15.740000000000009, + "word_count": 45 + }, + { + "speaker": "A", + "text": "Te puedes dirigir a una oficina, a un punto físico y abrir tu reclamo directamente.", + "start_time": 336.07, + "end_time": 341.67, + "confidence": 0.89621854, + "duration_sec": 5.600000000000023, + "word_count": 15 + }, + { + "speaker": "B", + "text": "Eso porque se supone que es un correo electrónico. A mí, a mi teléfono personal no me llegan correos porque el correo electrónico.", + "start_time": 343.11, + "end_time": 351.11, + "confidence": 0.92085457, + "duration_sec": 8.0, + "word_count": 23 + }, + { + "speaker": "A", + "text": "No lo hicieron desde la página web.", + "start_time": 351.11, + "end_time": 353.11, + "confidence": 0.94742256, + "duration_sec": 2.0, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Bueno, otra pregunta, otra duda. Yo sé que a mí lo más cercano es. ¿Me puede facilitar, si no te importa, el horario para yo mañana acercarme? Porque me he metido en la web que yo le he dado al Google y me salía este número como de llamar a reclamar al cliente, ¿Sabes? Pero yo lo que quiero saber el horario de oficina o si tengo que ir con cita o me puedo presentar allí unos kilómetros. No la tengo a la vuelta de la esquina, me cae a veintipico de kilómetros.", + "start_time": 359.2, + "end_time": 392.65, + "confidence": 0.9588335, + "duration_sec": 33.44999999999999, + "word_count": 93 + }, + { + "speaker": "A", + "text": "Sí, señora. Permíteme, vamos a consultar el horario de las oficinas.", + "start_time": 399.37, + "end_time": 403.77, + "confidence": 0.94024324, + "duration_sec": 4.399999999999977, + "word_count": 11 + }, + { + "speaker": "B", + "text": "Muchas gracias. Porque yo voy a reclamar cuando yo eso no lo he hecho. No sé si eso se le ha podido dar sin querer o alguien o algo por equivocación o por error o algo le han dado.", + "start_time": 404.25, + "end_time": 419.33, + "confidence": 0.9299963, + "duration_sec": 15.079999999999984, + "word_count": 39 + }, + { + "speaker": "A", + "text": "¿Me explico?", + "start_time": 419.57, + "end_time": 420.13, + "confidence": 0.9819336, + "duration_sec": 0.5600000000000023, + "word_count": 2 + }, + { + "speaker": "B", + "text": "No lo sé.", + "start_time": 420.21, + "end_time": 421.01, + "confidence": 0.9995117, + "duration_sec": 0.8000000000000114, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Indícame el código postal. ¿El de Paloma? Sí, el del suministro. ¿Tú estás cerca de ese domicilio y Almendralejo?", + "start_time": 423.33, + "end_time": 438.06, + "confidence": 0.9611808, + "duration_sec": 14.730000000000018, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Lo que más cerca me cae. El de mi pueblo, 476.", + "start_time": 438.06, + "end_time": 445.98, + "confidence": 0.93757725, + "duration_sec": 7.920000000000016, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Vale. Si te queda más cerca Almendralejo, Ya te indico los horarios. Vale. De lunes a jueves de nueve de la mañana a una de la tarde y de cuatro y media a cinco. Hasta las cinco de la tarde.", + "start_time": 447.5, + "end_time": 480.39, + "confidence": 0.9224072, + "duration_sec": 32.889999999999986, + "word_count": 40 + }, + { + "speaker": "B", + "text": "Mañana ya no podría ir porque mañana es viernes.", + "start_time": 483.91, + "end_time": 487.03, + "confidence": 0.97365993, + "duration_sec": 3.1199999999999477, + "word_count": 9 + }, + { + "speaker": "A", + "text": "El viernes atiende de 9 a 1.", + "start_time": 487.83, + "end_time": 490.15, + "confidence": 0.91184145, + "duration_sec": 2.319999999999993, + "word_count": 7 + }, + { + "speaker": "B", + "text": "¿No sabes si hay que llevar cita o te atenderán? No tienen.", + "start_time": 492.99, + "end_time": 497.59, + "confidence": 0.94728935, + "duration_sec": 4.599999999999966, + "word_count": 12 + }, + { + "speaker": "A", + "text": "No nos está solicitando cita.", + "start_time": 497.59, + "end_time": 499.63, + "confidence": 0.8739355, + "duration_sec": 2.0400000000000205, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Que no tengo que pedir cita ni nada. Que puedo presentarme allí me atenderán. ¿Es correcto? ¿Me puedes decir la dirección, si no te importa, del sitio?", + "start_time": 502.59, + "end_time": 513.55, + "confidence": 0.96516323, + "duration_sec": 10.95999999999998, + "word_count": 27 + }, + { + "speaker": "A", + "text": "Sí, señora. Es calle San Judas, Judas, número 2.", + "start_time": 514.59, + "end_time": 520.62, + "confidence": 0.9576645, + "duration_sec": 6.029999999999973, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Vale.", + "start_time": 534.94, + "end_time": 535.42, + "confidence": 0.84594727, + "duration_sec": 0.4799999999999045, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Muchas gracias a usted por comunicarse en esa energía. Que tenga una excelente noche.", + "start_time": 535.42, + "end_time": 541.5, + "confidence": 0.9414969, + "duration_sec": 6.080000000000041, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Gracias.", + "start_time": 542.38, + "end_time": 542.94, + "confidence": 0.8388672, + "duration_sec": 0.5600000000000591, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Hasta luego.", + "start_time": 543.58, + "end_time": 544.3, + "confidence": 0.98095703, + "duration_sec": 0.7199999999999136, + "word_count": 2 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 547.0, + "audio_file": "10122025_0082038C3CFBF80E.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "f99a271c-d722-45b4-9d5a-641a260c0bb1", + "model_version": null, + "created_at": "2026-01-19T13:38:36.911327", + "processing_time_sec": 12.643132, + "overall_confidence": 0.9367601, + "speaker_count": 2 + }, + "full_text": "Hola, buenas noches. Bienvenido en DS Energía. Mucho gusto, mi nombre es Jessica. Veo que te comunica Francisco Javier por información de factura. ¿Me indica cómo le puedo ayudar? Hola, buenas. Mira, yo soy su pareja, soy Delfina Morales. Mira, quería reclamar porque me ha venido la carta hoy. Yo no la había dicho en el banco y he pagado 363,73 de factura, pero es que me he ido a la parte de atrás y me pone que tengo contratado 8.500 kilovatios, cuando yo eso no lo he contratado. Yo tenía ahí 3500 vatios. No sé cómo ha sido eso, ni cómo ni de qué manera. Quiero hacer una reclamación. Primeramente, señora Delfina, confírmeme los datos del titular. Francisco Javier Chávez Gil. El DNI 9 millones 206. 760 la K, dirección del punto, Plaza de España número 12, Palomas, Badajoz. Provincia Población. Palomas, Badajoz. Vale, confirme nombre y apellidos de usted. Delfina Morales Bastida. Vale, señora Delfina. Confírmeme su DNI. 76 millones 254 mil 664 la G. Vale, permítanme. No sé cómo el final, como tal modificación de potencia no se le ha realizado al cliente, pues es la potencia que me aparece activa desde la activación con Endesa. Cómo no le entiendo, no sé lo. Que quiere decir, o sea, la potencia que tiene no se le modificó desde Endesa, pues es una potencia con la que me aparece que ya registraba. No, yo no tenía esa potencia. Yo venía pagando de factura 56.50 y pico y aquí pone potencia contratada. Atrás me ponen datos del contrato, me pone contrato de mercado libre, tiempo 24 horas, referencia de contacto, me pone su rayón azul, que es lo que yo me he ido a ver por no sé por qué. Y pone potencia contra punto llano 8500 kilovatios. Yo para que tiene una potencia de. 8,5, pero yo es que eso no lo tenía antes. Si tú te vas a una factura mía de antes, puedes ver lo que yo tenía contratado. Yo no sé eso quién la ha activado, ni cómo se hace, ni de qué manera, ni por qué. Y se supone que por eso digo yo que me ha venido la factura más subida porque pone derecho de contratación 87 euros, potencia contratada. Hay una modificación el día 5 de agosto del 2025. ¿Y eso quién lo ha hecho? Hay una solicitud de cambio. Permítame. Potencia de 3450 pasarán a 8500. ¿Y eso quién lo hace? ¿Cómo se hace eso? Explíquemelo. Vale, la firma fue telemática, Es una. Se realiza la gestión por. Por petición del cliente. Se realiza en el mes de agosto la modificación de potencia. ¿Sí, pero eso como se hace? Eso habrá que seguirnos. Paso de qué manera y dónde, a qué teléfono, a dónde. Es lo que yo quiero saber. Permítame que estoy consultando. Me aparece una modificación realizada el día 5 de agosto. Se realizó por Internet, gestión diferida web. Lo hicieron desde nuestro canal de Internet. ¿Y qué teléfono y cómo y de qué manera y con qué? Lo hicieron por Internet, no le puedo informar más. Lo hicieron a través de nuestra página. Sí, pero para meterte en esa página, ¿Cómo se hace? Explíqueme. ¿Digo yo, cómo puedo yo llegar a esos pasos o quién puede llegar? Yo puedo llegar. En la página tú puedes realizar la modificación. Solicitaron la modificación de potencia. Te va a solicitar el CU y. El Q qué Si yo eso no sé ni lo que. Sí señora, pero la modificación la hicieron desde el canal web. Lo realizó, Pues como tal aparece realizado. Si lo realizó usted o lo realizó otra persona, no se lo puedo confirmar debido a que no sabemos esa información. Si, yo no lo he hecho. Yo sé que yo esto no he hecho ni. Si yo lo hubiese hecho tendría que hablar con alguien. Alguien me tendría que hacer. ¿Como lo tengo que hacer? Digo yo. Digo yo no lo sé. Para reclamar esto. Te puedes dirigir a una oficina, a un punto físico y abrir tu reclamo directamente. Eso porque se supone que es un correo electrónico. A mí, a mi teléfono personal no me llegan correos porque el correo electrónico. No lo hicieron desde la página web. Bueno, otra pregunta, otra duda. Yo sé que a mí lo más cercano es. ¿Me puede facilitar, si no te importa, el horario para yo mañana acercarme? Porque me he metido en la web que yo le he dado al Google y me salía este número como de llamar a reclamar al cliente, ¿Sabes? Pero yo lo que quiero saber el horario de oficina o si tengo que ir con cita o me puedo presentar allí unos kilómetros. No la tengo a la vuelta de la esquina, me cae a veintipico de kilómetros. Sí, señora. Permíteme, vamos a consultar el horario de las oficinas. Muchas gracias. Porque yo voy a reclamar cuando yo eso no lo he hecho. No sé si eso se le ha podido dar sin querer o alguien o algo por equivocación o por error o algo le han dado. ¿Me explico? No lo sé. Indícame el código postal. ¿El de Paloma? Sí, el del suministro. ¿Tú estás cerca de ese domicilio y Almendralejo? Lo que más cerca me cae. El de mi pueblo, 476. Vale. Si te queda más cerca Almendralejo, Ya te indico los horarios. Vale. De lunes a jueves de nueve de la mañana a una de la tarde y de cuatro y media a cinco. Hasta las cinco de la tarde. Mañana ya no podría ir porque mañana es viernes. El viernes atiende de 9 a 1. ¿No sabes si hay que llevar cita o te atenderán? No tienen. No nos está solicitando cita. Que no tengo que pedir cita ni nada. Que puedo presentarme allí me atenderán. ¿Es correcto? ¿Me puedes decir la dirección, si no te importa, del sitio? Sí, señora. Es calle San Judas, Judas, número 2. Vale. Muchas gracias a usted por comunicarse en esa energía. Que tenga una excelente noche. Gracias. Hasta luego.", + "total_turns": 51, + "total_words": 1016 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF812.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF812.json new file mode 100644 index 0000000..9fa560e --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF812.json @@ -0,0 +1,499 @@ +{ + "call_id": "10122025_0082038C3CFBF812", + "turns": [ + { + "speaker": "A", + "text": "Hola, buenas noches. Bienvenido a Endes Energía. Hablas con Brigitte, Veo que te comunicas por factura. ¿Cómo te puedo ayudar?", + "start_time": 30.89, + "end_time": 36.73, + "confidence": 0.9714701, + "duration_sec": 5.839999999999996, + "word_count": 20 + }, + { + "speaker": "B", + "text": "Hola, Brigitte, buenas noches. Mira, te cuento. Es que nos ha llegado un documento diciéndonos que una de las facturas, la factura correspondiente al 22 de. Al 22 de octubre, que nos la van a fraccionar en cuatro pagos y nosotros que no hemos podido fraccionar la factura.", + "start_time": 37.93, + "end_time": 58.68, + "confidence": 0.9445373, + "duration_sec": 20.75, + "word_count": 48 + }, + { + "speaker": "A", + "text": "Vamos a validar. Me indica el DNI del titular del Contrato, por favor.", + "start_time": 60.84, + "end_time": 63.96, + "confidence": 0.9779021, + "duration_sec": 3.1199999999999974, + "word_count": 13 + }, + { + "speaker": "B", + "text": "52 33 94 17 L de Lugo.", + "start_time": 65.24, + "end_time": 71.8, + "confidence": 0.9182563, + "duration_sec": 6.560000000000002, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Nombre completo, le repito. 52.33 94 17 L de Lugo.", + "start_time": 77.48, + "end_time": 86.0, + "confidence": 0.9421635, + "duration_sec": 8.519999999999996, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Exacto. José Antonio Bernal Ceballos.", + "start_time": 86.72, + "end_time": 89.52, + "confidence": 0.911027, + "duration_sec": 2.799999999999997, + "word_count": 5 + }, + { + "speaker": "A", + "text": "No me aparece con ese DNI, igual permítame.", + "start_time": 89.76, + "end_time": 95.68, + "confidence": 0.91724855, + "duration_sec": 5.920000000000002, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Válido.", + "start_time": 95.68, + "end_time": 96.24, + "confidence": 0.9017334, + "duration_sec": 0.5599999999999881, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Sí, ya me apareció. ¿Me confirma la dirección del punto de suministro con población y provincia?", + "start_time": 100.8, + "end_time": 106.48, + "confidence": 0.9713542, + "duration_sec": 5.680000000000007, + "word_count": 16 + }, + { + "speaker": "B", + "text": "Calle Regina número 15, primero a Sanlúcar de Barrameda.", + "start_time": 107.52, + "end_time": 111.76, + "confidence": 0.95398, + "duration_sec": 4.240000000000009, + "word_count": 9 + }, + { + "speaker": "A", + "text": "Bueno, me aparece así una factura de 170.69 que vendría siendo del periodo de facturación 22 de octubre.", + "start_time": 164.82, + "end_time": 176.02, + "confidence": 0.919336, + "duration_sec": 11.200000000000017, + "word_count": 18 + }, + { + "speaker": "B", + "text": "Hecha factura 7-10.", + "start_time": 183.39, + "end_time": 185.15, + "confidence": 0.9696712, + "duration_sec": 1.7600000000000193, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Bueno, esos 170.69 es de dos facturas. Una es la de 96.99, que es del periodo del 2 de julio al 3 de agosto y la otra que es de 73.70 que es del periodo del 2 junio al 2 de julio. Ahora, bueno, como esa factura se le crearon en una sola fecha, o sea, tiene la misma fecha de emisión, que es el 7 de octubre, al cliente, para no pasárselo pues a cobro, o sea, de pronto, pues como fue una incidencia por parte de Endesa, por decirlo así, lo que hace Endesa es de manera automática realizar un fraccionamiento de esas dos facturas. Entonces.", + "start_time": 234.34, + "end_time": 280.09, + "confidence": 0.9565279, + "duration_sec": 45.74999999999997, + "word_count": 108 + }, + { + "speaker": "B", + "text": "Pero perdona que te corte, pero Endesa no quiere porque ya está la segunda de 170, ha venido otra, o sea, le explico.", + "start_time": 280.89, + "end_time": 292.62, + "confidence": 0.9091938, + "duration_sec": 11.730000000000018, + "word_count": 23 + }, + { + "speaker": "A", + "text": "Esta de 170 son dos facturas que el total dan 170.69. Luego de esa tiene una factura que de 171 con 11, esa es del periodo de facturación del 3 de agosto al 2 de octubre. Y tiene.", + "start_time": 292.62, + "end_time": 308.94, + "confidence": 0.9676764, + "duration_sec": 16.319999999999993, + "word_count": 38 + }, + { + "speaker": "B", + "text": "Juntas y a Vicente como son 340 euros para que no lo pague de un tirón todo, porque.", + "start_time": 312.54, + "end_time": 319.1, + "confidence": 0.9449255, + "duration_sec": 6.560000000000002, + "word_count": 18 + }, + { + "speaker": "A", + "text": "Exacto, más que todo por eso.", + "start_time": 320.7, + "end_time": 322.3, + "confidence": 0.9296604, + "duration_sec": 1.6000000000000227, + "word_count": 6 + }, + { + "speaker": "B", + "text": "Claro, más que nada por eso. Pero Endesa sabe que el día. El 21 de noviembre se pasan 42 con 68 pero en diciembre los 42 más la factura.", + "start_time": 322.86, + "end_time": 336.94, + "confidence": 0.92992216, + "duration_sec": 14.079999999999984, + "word_count": 29 + }, + { + "speaker": "A", + "text": "Sí, claro, sí señora.", + "start_time": 337.82, + "end_time": 338.94, + "confidence": 0.92433673, + "duration_sec": 1.1200000000000045, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Entonces él lo comió por los servicios, o sea, nosotros no queremos que lo.", + "start_time": 339.9, + "end_time": 343.58, + "confidence": 0.91517276, + "duration_sec": 3.680000000000007, + "word_count": 14 + }, + { + "speaker": "A", + "text": "Fraccione, o sea, usted quiere que se le pase a cobro la factura.", + "start_time": 343.58, + "end_time": 347.54, + "confidence": 0.91842574, + "duration_sec": 3.9600000000000364, + "word_count": 13 + }, + { + "speaker": "B", + "text": "Exacto, porque esto de los 42 con algo se suma a la que venga después y eso es que en verdad que no nos supone beneficio ninguno. Yo lo entiendo, yo lo he pensado digo eso porque nos ha venido 340 euros de un tirón de estas dos facturas más la otra siguiente. Es que es eso y no queremos, no queremos, verá que no Queremos luego los 42 con algo más la factura que venga, que ya estamos hablando si esta es de octubre, no, noviembre o diciembre. Yo no sé si la siguiente vendrán por mes o por dos meses. La siguiente cómo están a dos meses.", + "start_time": 348.18, + "end_time": 395.04, + "confidence": 0.9317908, + "duration_sec": 46.860000000000014, + "word_count": 109 + }, + { + "speaker": "A", + "text": "O a uno, ya le voy a confirmar. Bueno, me parece que los tienen los.", + "start_time": 395.04, + "end_time": 400.58, + "confidence": 0.93504775, + "duration_sec": 5.539999999999964, + "word_count": 15 + }, + { + "speaker": "B", + "text": "Periodos mensuales, que son mensuales. Claro, por eso estaba la de 73, la de 96 y antes venía de dos meses.", + "start_time": 400.58, + "end_time": 409.38, + "confidence": 0.94256335, + "duration_sec": 8.800000000000011, + "word_count": 21 + }, + { + "speaker": "A", + "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.82, + "end_time": 420.74, + "confidence": 0.93777204, + "duration_sec": 9.920000000000016, + "word_count": 28 + }, + { + "speaker": "B", + "text": "También era de aquí También nos han venido a veces de dos en dos meses.", + "start_time": 421.39, + "end_time": 427.23, + "confidence": 0.9300347, + "duration_sec": 5.840000000000032, + "word_count": 15 + }, + { + "speaker": "A", + "text": "Ah, OK. Bueno, no sabría decirle porque me aparece esa bimestral.", + "start_time": 427.23, + "end_time": 430.67, + "confidence": 0.92247796, + "duration_sec": 3.4399999999999977, + "word_count": 11 + }, + { + "speaker": "B", + "text": "Sí señora. Entonces si nos la pueden pasar entera.", + "start_time": 430.67, + "end_time": 437.87, + "confidence": 0.8471318, + "duration_sec": 7.199999999999989, + "word_count": 9 + }, + { + "speaker": "A", + "text": "Bueno, pues voy a enviar lo que es la enviaría la cancelación del acuerdo de ese fraccionamiento. Vale, entonces permítame un momento y no me finalice. Gracias por su permanencia en la llamada. Mi se acabó de generar lo que es la reclamación para la anulación del acuerdo fraccionamiento que se le realizó. Vale, entonces debe estar muy pendiente al correo electrónico ya que por ese medio pues se le va a estar dando respuesta. Listo.", + "start_time": 439.31, + "end_time": 665.46, + "confidence": 0.94129544, + "duration_sec": 226.15000000000003, + "word_count": 76 + }, + { + "speaker": "B", + "text": "¿El correo electrónico que aparece ahí, cuál es?", + "start_time": 666.02, + "end_time": 668.34, + "confidence": 0.98638713, + "duration_sec": 2.32000000000005, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Bueno, si usted me lo dice yo se lo confirmo, Por favor.", + "start_time": 668.74, + "end_time": 671.22, + "confidence": 0.9996338, + "duration_sec": 2.480000000000018, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Es que no sé si tienes el de Jose Gallarda. ¿No, ese no tienes M. Del Mar Cigarrillo?", + "start_time": 673.14, + "end_time": 684.27, + "confidence": 0.91669923, + "duration_sec": 11.129999999999995, + "word_count": 18 + }, + { + "speaker": "A", + "text": "Tampoco.", + "start_time": 684.67, + "end_time": 685.31, + "confidence": 0.8935547, + "duration_sec": 0.6399999999999864, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Un momentito, voy a preguntar. Es que no sé. Su correo electrónico ¿Cuál es? Jbc jbc.", + "start_time": 689.39, + "end_time": 703.47, + "confidence": 0.9110133, + "duration_sec": 14.080000000000041, + "word_count": 16 + }, + { + "speaker": "A", + "text": "Exacto, ese correo electrónico le va a estar llegando la respuesta.", + "start_time": 708.74, + "end_time": 711.54, + "confidence": 0.92041755, + "duration_sec": 2.7999999999999545, + "word_count": 11 + }, + { + "speaker": "B", + "text": "Vale, vale, vale. ¿Mira, otra cosa, queremos cambiar el número de cuenta para que nos lleguen los.", + "start_time": 711.78, + "end_time": 726.06, + "confidence": 0.97274244, + "duration_sec": 14.279999999999973, + "word_count": 17 + }, + { + "speaker": "A", + "text": "Importes de la factura a otro número de cuenta bancario?", + "start_time": 726.06, + "end_time": 729.94, + "confidence": 0.8368123, + "duration_sec": 3.880000000000109, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Sí, a un número de cuenta bancario.", + "start_time": 730.66, + "end_time": 732.42, + "confidence": 0.9285598, + "duration_sec": 1.759999999999991, + "word_count": 7 + }, + { + "speaker": "A", + "text": "¿A ING. Ya lo tiene registrado acá o solamente desea modificarlo?", + "start_time": 732.42, + "end_time": 737.83, + "confidence": 0.8689409, + "duration_sec": 5.410000000000082, + "word_count": 11 + }, + { + "speaker": "B", + "text": "¿El número de cuenta, o sea, me.", + "start_time": 741.03, + "end_time": 743.11, + "confidence": 0.99194336, + "duration_sec": 2.080000000000041, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Da de la cuenta bancaria nueva, me da los últimos cuatro dígitos, por favor?", + "start_time": 743.11, + "end_time": 746.95, + "confidence": 0.9479684, + "duration_sec": 3.840000000000032, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Ah, de la nueva, ¿No?", + "start_time": 748.87, + "end_time": 750.59, + "confidence": 0.99990237, + "duration_sec": 1.7200000000000273, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Sí, para que lo.", + "start_time": 750.59, + "end_time": 751.43, + "confidence": 0.8937988, + "duration_sec": 0.8399999999999181, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Mira, los cuatro últimos dígitos son 70-88.", + "start_time": 768.8, + "end_time": 772.886, + "confidence": 0.9343022, + "duration_sec": 4.086000000000013, + "word_count": 7 + }, + { + "speaker": "A", + "text": "70-88. Bueno, esa cuenta bancaria no la tiene asociada acá en el contrato. No la tiene registrada acá. Entonces permítame para que me dicte la cuenta completa. ¿Me lo dicta, por favor? Completa.", + "start_time": 773.394, + "end_time": 799.27, + "confidence": 0.96443397, + "duration_sec": 25.875999999999976, + "word_count": 33 + }, + { + "speaker": "B", + "text": "14.65. Noventa y dos. Diecisiete setenta. Diecinueve setenta ochenta y ocho.", + "start_time": 803.59, + "end_time": 818.94, + "confidence": 0.9142058, + "duration_sec": 15.350000000000023, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Le confirmo ese setenta y siete. Catorce seis cinco cero uno cero cero nueve dos uno siete siete cero uno nueve siete cero ocho ocho. Exacto, Marvins. Vale, listo. Ya se lo acabo de asociar al contrato de la dirección Regina, ¿Verdad? ¿Solamente a eso o a los dos contratos?", + "start_time": 819.98, + "end_time": 847.51, + "confidence": 0.90495604, + "duration_sec": 27.529999999999973, + "word_count": 50 + }, + { + "speaker": "B", + "text": "No, a ese solo.", + "start_time": 848.71, + "end_time": 850.15, + "confidence": 0.8815918, + "duration_sec": 1.4399999999999409, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Vale, listo, entonces ya la acabo de asociar la cuenta bancaria al contrato de la dirección Regina. Al finalizar la llamada, de manera sistemática, a usted le va a llegar una notificación o lo que es el mandato CEPA, que para que realicen el proceso de firma y den la autorización para que se pueda realizar el cobro a esa cuenta bancaria nueva. ¿Vale?", + "start_time": 850.39, + "end_time": 871.78, + "confidence": 0.9459788, + "duration_sec": 21.389999999999986, + "word_count": 64 + }, + { + "speaker": "B", + "text": "Vale.", + "start_time": 872.34, + "end_time": 872.86, + "confidence": 0.97558594, + "duration_sec": 0.5199999999999818, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Vale, listo. No sé si la podría ayudar en algo más.", + "start_time": 872.86, + "end_time": 876.66, + "confidence": 0.965517, + "duration_sec": 3.7999999999999545, + "word_count": 11 + }, + { + "speaker": "B", + "text": "Nada más.", + "start_time": 877.62, + "end_time": 878.42, + "confidence": 0.9974365, + "duration_sec": 0.7999999999999545, + "word_count": 2 + }, + { + "speaker": "A", + "text": "Vale, listo entonces. Gracias por llamar en esa energía, que tenga buena noche. Un placer atenderla. Muchas gracias.", + "start_time": 878.74, + "end_time": 884.82, + "confidence": 0.9886927, + "duration_sec": 6.080000000000041, + "word_count": 18 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 888.0, + "audio_file": "10122025_0082038C3CFBF812.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "321d252e-5057-4a9b-ad8d-1a73f00ccd3a", + "model_version": null, + "created_at": "2026-01-19T13:38:52.827028", + "processing_time_sec": 25.641101, + "overall_confidence": 0.93969625, + "speaker_count": 2 + }, + "full_text": "Hola, buenas noches. Bienvenido a Endes Energía. Hablas con Brigitte, Veo que te comunicas por factura. ¿Cómo te puedo ayudar? Hola, Brigitte, buenas noches. Mira, te cuento. Es que nos ha llegado un documento diciéndonos que una de las facturas, la factura correspondiente al 22 de. Al 22 de octubre, que nos la van a fraccionar en cuatro pagos y nosotros que no hemos podido fraccionar la factura. Vamos a validar. Me indica el DNI del titular del Contrato, por favor. 52 33 94 17 L de Lugo. Nombre completo, le repito. 52.33 94 17 L de Lugo. Exacto. José Antonio Bernal Ceballos. No me aparece con ese DNI, igual permítame. Válido. Sí, ya me apareció. ¿Me confirma la dirección del punto de suministro con población y provincia? Calle Regina número 15, primero a Sanlúcar de Barrameda. Bueno, me aparece así una factura de 170.69 que vendría siendo del periodo de facturación 22 de octubre. Hecha factura 7-10. Bueno, esos 170.69 es de dos facturas. Una es la de 96.99, que es del periodo del 2 de julio al 3 de agosto y la otra que es de 73.70 que es del periodo del 2 junio al 2 de julio. Ahora, bueno, como esa factura se le crearon en una sola fecha, o sea, tiene la misma fecha de emisión, que es el 7 de octubre, al cliente, para no pasárselo pues a cobro, o sea, de pronto, pues como fue una incidencia por parte de Endesa, por decirlo así, lo que hace Endesa es de manera automática realizar un fraccionamiento de esas dos facturas. Entonces. Pero perdona que te corte, pero Endesa no quiere porque ya está la segunda de 170, ha venido otra, o sea, le explico. Esta de 170 son dos facturas que el total dan 170.69. Luego de esa tiene una factura que de 171 con 11, esa es del periodo de facturación del 3 de agosto al 2 de octubre. Y tiene. Juntas y a Vicente como son 340 euros para que no lo pague de un tirón todo, porque. Exacto, más que todo por eso. Claro, más que nada por eso. Pero Endesa sabe que el día. El 21 de noviembre se pasan 42 con 68 pero en diciembre los 42 más la factura. Sí, claro, sí señora. Entonces él lo comió por los servicios, o sea, nosotros no queremos que lo. Fraccione, o sea, usted quiere que se le pase a cobro la factura. Exacto, porque esto de los 42 con algo se suma a la que venga después y eso es que en verdad que no nos supone beneficio ninguno. Yo lo entiendo, yo lo he pensado digo eso porque nos ha venido 340 euros de un tirón de estas dos facturas más la otra siguiente. Es que es eso y no queremos, no queremos, verá que no Queremos luego los 42 con algo más la factura que venga, que ya estamos hablando si esta es de octubre, no, noviembre o diciembre. Yo no sé si la siguiente vendrán por mes o por dos meses. La siguiente cómo están a dos meses. O a uno, ya le voy a confirmar. Bueno, me parece que los tienen los. Periodos mensuales, que son mensuales. Claro, por eso estaba la de 73, la de 96 y antes venía de dos meses. 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. También era de aquí También nos han venido a veces de dos en dos meses. Ah, OK. Bueno, no sabría decirle porque me aparece esa bimestral. Sí señora. Entonces si nos la pueden pasar entera. Bueno, pues voy a enviar lo que es la enviaría la cancelación del acuerdo de ese fraccionamiento. Vale, entonces permítame un momento y no me finalice. Gracias por su permanencia en la llamada. Mi se acabó de generar lo que es la reclamación para la anulación del acuerdo fraccionamiento que se le realizó. Vale, entonces debe estar muy pendiente al correo electrónico ya que por ese medio pues se le va a estar dando respuesta. Listo. ¿El correo electrónico que aparece ahí, cuál es? Bueno, si usted me lo dice yo se lo confirmo, Por favor. Es que no sé si tienes el de Jose Gallarda. ¿No, ese no tienes M. Del Mar Cigarrillo? Tampoco. Un momentito, voy a preguntar. Es que no sé. Su correo electrónico ¿Cuál es? Jbc jbc. Exacto, ese correo electrónico le va a estar llegando la respuesta. Vale, vale, vale. ¿Mira, otra cosa, queremos cambiar el número de cuenta para que nos lleguen los. Importes de la factura a otro número de cuenta bancario? Sí, a un número de cuenta bancario. ¿A ING. Ya lo tiene registrado acá o solamente desea modificarlo? ¿El número de cuenta, o sea, me. Da de la cuenta bancaria nueva, me da los últimos cuatro dígitos, por favor? Ah, de la nueva, ¿No? Sí, para que lo. Mira, los cuatro últimos dígitos son 70-88. 70-88. Bueno, esa cuenta bancaria no la tiene asociada acá en el contrato. No la tiene registrada acá. Entonces permítame para que me dicte la cuenta completa. ¿Me lo dicta, por favor? Completa. 14.65. Noventa y dos. Diecisiete setenta. Diecinueve setenta ochenta y ocho. Le confirmo ese setenta y siete. Catorce seis cinco cero uno cero cero nueve dos uno siete siete cero uno nueve siete cero ocho ocho. Exacto, Marvins. Vale, listo. Ya se lo acabo de asociar al contrato de la dirección Regina, ¿Verdad? ¿Solamente a eso o a los dos contratos? No, a ese solo. Vale, listo, entonces ya la acabo de asociar la cuenta bancaria al contrato de la dirección Regina. Al finalizar la llamada, de manera sistemática, a usted le va a llegar una notificación o lo que es el mandato CEPA, que para que realicen el proceso de firma y den la autorización para que se pueda realizar el cobro a esa cuenta bancaria nueva. ¿Vale? Vale. Vale, listo. No sé si la podría ayudar en algo más. Nada más. Vale, listo entonces. Gracias por llamar en esa energía, que tenga buena noche. Un placer atenderla. Muchas gracias.", + "total_turns": 53, + "total_words": 1037 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF851.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF851.json new file mode 100644 index 0000000..ddbad7e --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF851.json @@ -0,0 +1,31 @@ +{ + "call_id": "10122025_0082038C3CFBF851", + "turns": [ + { + "speaker": "A", + "text": "Hola, muy buenas noches, me presento, mi nombre es Mateo. ¿Cuéntame cómo te podría ayudar el día de hoy? Hablo en momentos con Rosa. Sí, hola, buenas noches, llamo porque es que hablé antes con una compañera y me dijo que me mandaba el técnico esta tarde entre las 8 y las 10. Si, es que son las 10 de la noche y el piso no le habitamos, entonces nos tenemos que marchar. Si va a venir o lo van a dejar para mañana. Ya, te comprendo. Esto sería por el servicio de mantenimiento que tienes contratado en el suministro de gas, ¿Correcto Rosa? Sí, porque es que está la caldera que bueno, arranca y tal, pero luego al momento se para, o sea que se apaga y no me funciona ni el agua caliente ni la calefacción. Te comprendo. Permíteme, en ese caso yo logro verificar si puedo ver las órdenes como tal de trabajo que te enviaron o si en ese caso hay la necesidad de pasarnos a lo que sería la parte de mantenimiento a que te verifiquen como tal la solicitud y te puedan volver a enviar el técnico, pero si gustas me permites un segundo y yo lo logró verificar rápidamente, ¿Vale? Vale, muchas gracias, gracias. Vale. ¿Me escucha señora Rosa? Vale Rosa, logré verificar en este caso el proceso del mantenimiento, el envío del técnico como tal, lo que logro verificar es que es correcto la fecha de creación, en ese caso quedó el día de hoy, pero Rosa, te comento, el técnico puede llegar en ese caso de una 24 horas, si no llegó en ese caso el día de hoy, lo más seguro es que el día de mañana pues vaya hacia tu domicilio, así que pues te rec. Estar muy pendiente, no te transfiero directamente al área de mantenimientos porque pues el área de mantenimiento tiene sus horas adecuadas para trabajar y en estos momentos pues ya no estarían en el trabajo. Entonces yo sí logré verificar las órdenes de trabajo como te lo indiqué, me aparece que están creadas para el día de hoy, que el técnico se solicitó el día de hoy, pero pues como te digo puede llegar de una a 24 horas, entonces estar muy pendiente el día de mañana, ¿Vale? Vale, perfecto. ¿Hay algo más que te pueda llegar a ayudar, Rosa? ¿Vale Rosa, espero que estés muy bien, que tengas una excelente noche, vale? Hasta luego.", + "start_time": 1.6, + "end_time": 232.0, + "confidence": 0.9562629, + "duration_sec": 230.4, + "word_count": 411 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 238.0, + "audio_file": "10122025_0082038C3CFBF851.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "f02db41d-9faa-4d34-9738-99da691220e9", + "model_version": null, + "created_at": "2026-01-19T13:38:43.009464", + "processing_time_sec": 7.628502, + "overall_confidence": 0.9562629, + "speaker_count": 1 + }, + "full_text": "Hola, muy buenas noches, me presento, mi nombre es Mateo. ¿Cuéntame cómo te podría ayudar el día de hoy? Hablo en momentos con Rosa. Sí, hola, buenas noches, llamo porque es que hablé antes con una compañera y me dijo que me mandaba el técnico esta tarde entre las 8 y las 10. Si, es que son las 10 de la noche y el piso no le habitamos, entonces nos tenemos que marchar. Si va a venir o lo van a dejar para mañana. Ya, te comprendo. Esto sería por el servicio de mantenimiento que tienes contratado en el suministro de gas, ¿Correcto Rosa? Sí, porque es que está la caldera que bueno, arranca y tal, pero luego al momento se para, o sea que se apaga y no me funciona ni el agua caliente ni la calefacción. Te comprendo. Permíteme, en ese caso yo logro verificar si puedo ver las órdenes como tal de trabajo que te enviaron o si en ese caso hay la necesidad de pasarnos a lo que sería la parte de mantenimiento a que te verifiquen como tal la solicitud y te puedan volver a enviar el técnico, pero si gustas me permites un segundo y yo lo logró verificar rápidamente, ¿Vale? Vale, muchas gracias, gracias. Vale. ¿Me escucha señora Rosa? Vale Rosa, logré verificar en este caso el proceso del mantenimiento, el envío del técnico como tal, lo que logro verificar es que es correcto la fecha de creación, en ese caso quedó el día de hoy, pero Rosa, te comento, el técnico puede llegar en ese caso de una 24 horas, si no llegó en ese caso el día de hoy, lo más seguro es que el día de mañana pues vaya hacia tu domicilio, así que pues te rec. Estar muy pendiente, no te transfiero directamente al área de mantenimientos porque pues el área de mantenimiento tiene sus horas adecuadas para trabajar y en estos momentos pues ya no estarían en el trabajo. Entonces yo sí logré verificar las órdenes de trabajo como te lo indiqué, me aparece que están creadas para el día de hoy, que el técnico se solicitó el día de hoy, pero pues como te digo puede llegar de una a 24 horas, entonces estar muy pendiente el día de mañana, ¿Vale? Vale, perfecto. ¿Hay algo más que te pueda llegar a ayudar, Rosa? ¿Vale Rosa, espero que estés muy bien, que tengas una excelente noche, vale? Hasta luego.", + "total_turns": 1, + "total_words": 411 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF852.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF852.json new file mode 100644 index 0000000..6c02e44 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF852.json @@ -0,0 +1,31 @@ +{ + "call_id": "10122025_0082038C3CFBF852", + "turns": [ + { + "speaker": "A", + "text": "No lo veo ahí tampoco.", + "start_time": 13.44, + "end_time": 14.72, + "confidence": 0.945638, + "duration_sec": 1.2800000000000011, + "word_count": 5 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 22.0, + "audio_file": "10122025_0082038C3CFBF852.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "f32b9cba-0035-4e68-915b-138efd6bda39", + "model_version": null, + "created_at": "2026-01-19T13:38:40.861425", + "processing_time_sec": 3.949217, + "overall_confidence": 0.945638, + "speaker_count": 1 + }, + "full_text": "No lo veo ahí tampoco.", + "total_turns": 1, + "total_words": 5 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF860.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF860.json new file mode 100644 index 0000000..08876c9 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF860.json @@ -0,0 +1,688 @@ +{ + "call_id": "10122025_0082038C3CFBF860", + "turns": [ + { + "speaker": "A", + "text": "Hola, buenas tardes. Alexander está comunicando por facturación. Cuénteme en qué le puedo ayudar.", + "start_time": 14.16, + "end_time": 18.24, + "confidence": 0.91104966, + "duration_sec": 4.079999999999998, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Hola, buenas tardes, buenas noches. Vale, mi preocupación de la factura es porque el endefa me cobra todos los meses y no me ha cobrado la factura de octubre ni la de noviembre. Entonces tengo una factura que fue la última, que fue en septiembre. Entonces como he pagado todos los meses el recibo, ahora resulta que no tengo esa factura de octubre y noviembre.", + "start_time": 19.2, + "end_time": 55.13, + "confidence": 0.94732195, + "duration_sec": 35.93000000000001, + "word_count": 65 + }, + { + "speaker": "A", + "text": "Vale, ¿Con quién hablo?", + "start_time": 58.01, + "end_time": 59.29, + "confidence": 0.88287354, + "duration_sec": 1.2800000000000011, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Con la titular.", + "start_time": 60.49, + "end_time": 61.45, + "confidence": 0.98982745, + "duration_sec": 0.9600000000000009, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Vale, ¿Y cuál es su nombre? Vale, Carmen, Pues digamos que en este caso sólo faltaría la factura de octubre porque pues de noviembre apenas van seis días.", + "start_time": 63.45, + "end_time": 74.57, + "confidence": 0.9399806, + "duration_sec": 11.11999999999999, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Indícame porque no se la han cobrado.", + "start_time": 76.41, + "end_time": 80.16, + "confidence": 0.91677713, + "duration_sec": 3.75, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Indícame por favor tú DN y validamos Por favor.", + "start_time": 80.72, + "end_time": 83.84, + "confidence": 0.877455, + "duration_sec": 3.1200000000000045, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Vale, 43. 280. 208.", + "start_time": 84.4, + "end_time": 89.44, + "confidence": 0.9109975, + "duration_sec": 5.039999999999992, + "word_count": 4 + }, + { + "speaker": "A", + "text": "La G, la G. Gerona. ¿Vale, y la dirección del suministro cuál es? ¿La dirección del suministro cuál es?", + "start_time": 89.44, + "end_time": 102.24, + "confidence": 0.9027742, + "duration_sec": 12.799999999999997, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Ah, vale. Calle Ama con H corta 4 primero D de dedo. Vale, el municipio de Mogán te saldrá municipio de Mogán con Las Palmas de Gran Canaria.", + "start_time": 102.32, + "end_time": 123.83, + "confidence": 0.8829853, + "duration_sec": 21.510000000000005, + "word_count": 28 + }, + { + "speaker": "A", + "text": "Vale, permítame, verifico acá en el sistema que me registra, ya vuelvo contigo. Vale Carmen, pero me dices que la dirección es jamás segundo primera, ¿Cierto?", + "start_time": 127.19, + "end_time": 175.19, + "confidence": 0.9612086, + "duration_sec": 48.0, + "word_count": 26 + }, + { + "speaker": "B", + "text": "Sí.", + "start_time": 175.75, + "end_time": 176.23, + "confidence": 0.9968262, + "duration_sec": 0.47999999999998977, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Pero ese contrato está de baja con nosotros.", + "start_time": 178.55, + "end_time": 181.27, + "confidence": 0.8651021, + "duration_sec": 2.719999999999999, + "word_count": 8 + }, + { + "speaker": "B", + "text": "No, yo no he dado de baja al contrato.", + "start_time": 182.71, + "end_time": 185.03, + "confidence": 0.8304669, + "duration_sec": 2.319999999999993, + "word_count": 9 + }, + { + "speaker": "A", + "text": "Si aquí aparece baja cambio de comercializadora, esto se dio de baja el 12 de agosto.", + "start_time": 186.48, + "end_time": 192.96, + "confidence": 0.9797821, + "duration_sec": 6.480000000000018, + "word_count": 16 + }, + { + "speaker": "B", + "text": "No, yo no he dado baja ninguna sin autorización. ¿Que me extraña, cómo voy a dar de baja?", + "start_time": 193.84, + "end_time": 201.12, + "confidence": 0.8783316, + "duration_sec": 7.280000000000001, + "word_count": 18 + }, + { + "speaker": "A", + "text": "¿Y tú de pronto recibiste alguna llamada extraña desde ese tiempo de pronto que haya sido supuestamente Endesa?", + "start_time": 201.76, + "end_time": 208.08, + "confidence": 0.96029776, + "duration_sec": 6.320000000000022, + "word_count": 18 + }, + { + "speaker": "B", + "text": "¿No, no, no, ellos no da autorización y menos por teléfono no?", + "start_time": 208.64, + "end_time": 213.73, + "confidence": 0.9453396, + "duration_sec": 5.090000000000003, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Vale, sí, porque en este momento es por eso seguramente que no te han llegado claro las facturas porque pues no están con Endesa.", + "start_time": 217.33, + "end_time": 223.89, + "confidence": 0.95313686, + "duration_sec": 6.559999999999974, + "word_count": 24 + }, + { + "speaker": "B", + "text": "¿Cómo va a ser eso si yo no dado permiso para dejar de contratarlo a ustedes? Si es que no sé que yo no he dado permiso. No entiendo. Por eso llamé, le digo, me pareció raro que no me pasaran la factura porque yo la pago a través del banco y me puse ahora a mirar mis cuentas y no me aparece que digo pues voy a llamar pero yo no da autorización ninguna para darme de baja.", + "start_time": 225.25, + "end_time": 258.78, + "confidence": 0.93251646, + "duration_sec": 33.52999999999997, + "word_count": 79 + }, + { + "speaker": "A", + "text": "Vale, en este caso tendríamos que volver a desactivar el contrato. ¿Cómo es eso, o sea, volver a hacer el contrato para que se quede otra vez con Endesa?", + "start_time": 260.86, + "end_time": 273.32, + "confidence": 0.94836986, + "duration_sec": 12.45999999999998, + "word_count": 29 + }, + { + "speaker": "B", + "text": "Hombre, evidentemente porque yo no me he dado de baja. No entiendo el por qué no de una llamada o de informar cualquier.", + "start_time": 274.6, + "end_time": 283.2, + "confidence": 0.9270869, + "duration_sec": 8.599999999999966, + "word_count": 23 + }, + { + "speaker": "A", + "text": "A ti no te. ¿Disculpa que te interrumpa, a ti nunca te llegó ningún correo ni nada? ¿De que va?", + "start_time": 283.2, + "end_time": 290.45, + "confidence": 0.96532387, + "duration_sec": 7.25, + "word_count": 20 + }, + { + "speaker": "B", + "text": "No, no, no, por eso llamo, porque es que me parece raro.", + "start_time": 291.65, + "end_time": 295.89, + "confidence": 0.91670734, + "duration_sec": 4.240000000000009, + "word_count": 12 + }, + { + "speaker": "A", + "text": "¿Vale Carmen?", + "start_time": 297.81, + "end_time": 298.61, + "confidence": 0.95581055, + "duration_sec": 0.8000000000000114, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Y tantas cosas que uno tiene miedo. Yo no respondo sino es la empresa directamente o llamo. Para mí es mejor llamar. ¿Por qué? Por eso mismo, porque hay muchas esc.", + "start_time": 299.81, + "end_time": 315.33, + "confidence": 0.91317517, + "duration_sec": 15.519999999999982, + "word_count": 31 + }, + { + "speaker": "A", + "text": "Vale, Carmen, confírmame por favor tu correo ¿Cuál es?", + "start_time": 317.66, + "end_time": 320.78, + "confidence": 0.9451063, + "duration_sec": 3.1199999999999477, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Pero mira, espera un segundo porque como no me lo sé voy a mirarlo porque lo cambié y te lo digo.", + "start_time": 323.34, + "end_time": 332.86, + "confidence": 0.92082095, + "duration_sec": 9.520000000000039, + "word_count": 21 + }, + { + "speaker": "A", + "text": "¿Vale?", + "start_time": 333.98, + "end_time": 334.54, + "confidence": 0.91137695, + "duration_sec": 0.5600000000000023, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Vale, Lo estoy buscando. Ay, que no me aparece, Es que no me sale mi correo.", + "start_time": 336.94, + "end_time": 392.56, + "confidence": 0.92194873, + "duration_sec": 55.620000000000005, + "word_count": 16 + }, + { + "speaker": "A", + "text": "¿No te sale el correo? ¿Estás en el Gmail?", + "start_time": 393.95, + "end_time": 396.75, + "confidence": 0.99258536, + "duration_sec": 2.8000000000000114, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Estoy en el gmail, Vale, en el.", + "start_time": 397.39, + "end_time": 399.79, + "confidence": 0.9113886, + "duration_sec": 2.400000000000034, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Gmail en la parte de arriba te aparece el correo como la bolita, le pintas en la boleta y no sale.", + "start_time": 399.79, + "end_time": 406.67, + "confidence": 0.90543234, + "duration_sec": 6.8799999999999955, + "word_count": 21 + }, + { + "speaker": "B", + "text": "Sí, sí, sí, estoy en ello. A ver si le sale aquí el email, pero es que no me aparece. ¿Qué cosa más les da?", + "start_time": 407.39, + "end_time": 417.47, + "confidence": 0.9212988, + "duration_sec": 10.080000000000041, + "word_count": 25 + }, + { + "speaker": "A", + "text": "Será que entonces de pronto se salió, se cerró la sesión y. Pues que no han entrado los correos.", + "start_time": 420.2, + "end_time": 426.12, + "confidence": 0.956014, + "duration_sec": 5.920000000000016, + "word_count": 19 + }, + { + "speaker": "B", + "text": "No puede ser.", + "start_time": 429.08, + "end_time": 430.28, + "confidence": 0.87679034, + "duration_sec": 1.1999999999999886, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Porque tú tienes ahí los correos abiertos.", + "start_time": 433.24, + "end_time": 435.4, + "confidence": 0.99011815, + "duration_sec": 2.159999999999968, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Yo tengo el correo abierto y no sé por qué. Ah, mira, vale, ya te lo digo. Sí, en minúsculas, Carmen, todo junto, ¿Vale? Sí, Carmen, hdezp hotmail arroba, perdón, arroba.", + "start_time": 437.32, + "end_time": 469.17, + "confidence": 0.8960641, + "duration_sec": 31.850000000000023, + "word_count": 31 + }, + { + "speaker": "A", + "text": "Sí, te lo repito. Carmen, h de huelva, de Dinamarca, e de españa, z de Zaragoza, E de España, 23, ZP. Pamplona, p de pamplona, exacto, azpamplonail, com, Exacto.", + "start_time": 470.3, + "end_time": 502.84, + "confidence": 0.9585375, + "duration_sec": 32.539999999999964, + "word_count": 29 + }, + { + "speaker": "B", + "text": "Todo de minúscula.", + "start_time": 503.08, + "end_time": 504.44, + "confidence": 0.769401, + "duration_sec": 1.3600000000000136, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Vale, Miremos a ver acá. Carmen, verifica si te llegó algún mensaje, por favor, a ese correo.", + "start_time": 506.76, + "end_time": 605.44, + "confidence": 0.9241536, + "duration_sec": 98.68000000000006, + "word_count": 17 + }, + { + "speaker": "B", + "text": "A ver.", + "start_time": 605.6, + "end_time": 606.16, + "confidence": 0.75097656, + "duration_sec": 0.5599999999999454, + "word_count": 2 + }, + { + "speaker": "A", + "text": "No, todavía no te ha llegado.", + "start_time": 612.4, + "end_time": 615.12, + "confidence": 0.87242293, + "duration_sec": 2.7200000000000273, + "word_count": 6 + }, + { + "speaker": "B", + "text": "No me enviaste un email.", + "start_time": 616.8, + "end_time": 618.64, + "confidence": 0.900944, + "duration_sec": 1.8400000000000318, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Si te llegará una notificación.", + "start_time": 619.44, + "end_time": 621.36, + "confidence": 0.86471355, + "duration_sec": 1.919999999999959, + "word_count": 5 + }, + { + "speaker": "B", + "text": "No me ha llegado nada.", + "start_time": 624.33, + "end_time": 625.53, + "confidence": 0.98100585, + "duration_sec": 1.1999999999999318, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Verifico.", + "start_time": 628.25, + "end_time": 629.45, + "confidence": 0.8649089, + "duration_sec": 1.2000000000000455, + "word_count": 1 + }, + { + "speaker": "B", + "text": "No sé si tardará o no.", + "start_time": 631.37, + "end_time": 635.53, + "confidence": 0.9812419, + "duration_sec": 4.159999999999968, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Vale, Carmen, mientras llega el correo tú tienes una factura de la luz de antes.", + "start_time": 644.81, + "end_time": 650.01, + "confidence": 0.99549156, + "duration_sec": 5.2000000000000455, + "word_count": 15 + }, + { + "speaker": "B", + "text": "A ver, me meto. ¿Yo tengo una factura que ustedes me cobraron, fue de septiembre sería? Claro, porque es.", + "start_time": 652.76, + "end_time": 665.72, + "confidence": 0.96532774, + "duration_sec": 12.960000000000036, + "word_count": 19 + }, + { + "speaker": "A", + "text": "El mes anterior de 43.", + "start_time": 668.52, + "end_time": 673.08, + "confidence": 0.879077, + "duration_sec": 4.560000000000059, + "word_count": 5 + }, + { + "speaker": "B", + "text": "No, no, no, no, esa 43. A mí me cobraron 49.", + "start_time": 674.2, + "end_time": 679.64, + "confidence": 0.9021889, + "duration_sec": 5.439999999999941, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Verifico entonces con el servicio de mantenimiento. Sí, 49.92.", + "start_time": 682.92, + "end_time": 688.84, + "confidence": 0.97420704, + "duration_sec": 5.920000000000073, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Sí, fue la última factura que yo pagué y la estoy. Mira, el de esa energía pagado 49,92 y eso fue en septiembre y a mí todos los meses me llega. Pero veo que estoy mirando las cuentas y resulta que en octubre no se cobraron nada, no hay recibo. Y ahora noviembre tampoco, se supone.", + "start_time": 690.68, + "end_time": 721.1, + "confidence": 0.9482325, + "duration_sec": 30.420000000000073, + "word_count": 56 + }, + { + "speaker": "A", + "text": "Vale, entonces en esa factura me indicas por favor el número CUF de la dirección. Es tan amable. Está en la factura.", + "start_time": 725.26, + "end_time": 732.55, + "confidence": 0.93986005, + "duration_sec": 7.289999999999964, + "word_count": 22 + }, + { + "speaker": "B", + "text": "Pues me tengo que meter en mi cuenta. Yo no sé si sale ahí. Espera un momento que voy a mirar. Tengo que entrar porque estoy verificando a ver si recibos. Vale, voy a mirar. Esto es septiembre. Voy aquí. No sé qué datos quieres saber.", + "start_time": 734.31, + "end_time": 769.74, + "confidence": 0.9607809, + "duration_sec": 35.430000000000064, + "word_count": 46 + }, + { + "speaker": "A", + "text": "Ah, no, mira, aquí ya el CUPS ese aparece. Si estás en la factura digital, aparece en la segunda hoja donde dice datos del contrato.", + "start_time": 769.98, + "end_time": 778.54, + "confidence": 0.90957683, + "duration_sec": 8.559999999999945, + "word_count": 25 + }, + { + "speaker": "B", + "text": "Mira, yo tengo aquí el recibo de domicilio y abajo pone concepto Endesa y me pone n con. No sé si será eso.", + "start_time": 780.46, + "end_time": 796.62, + "confidence": 0.9605253, + "duration_sec": 16.159999999999968, + "word_count": 23 + }, + { + "speaker": "A", + "text": "El contrato, ¿No? Exacto. Pero en la segunda hoja, al lado donde dice datos del contrato, te aparece arriba CUPS y es un número que empieza por la e y la s.", + "start_time": 799.1, + "end_time": 808.54, + "confidence": 0.97145844, + "duration_sec": 9.43999999999994, + "word_count": 32 + }, + { + "speaker": "B", + "text": "Yo tengo una factura que estoy mirando en mi número de cuenta.", + "start_time": 810.46, + "end_time": 814.14, + "confidence": 0.98601955, + "duration_sec": 3.67999999999995, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Del banco. Ah, te entiendo.", + "start_time": 816.06, + "end_time": 819.42, + "confidence": 0.8597494, + "duration_sec": 3.3600000000000136, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Yo No tengo contrato.", + "start_time": 820.38, + "end_time": 821.42, + "confidence": 0.972229, + "duration_sec": 1.0399999999999636, + "word_count": 4 + }, + { + "speaker": "A", + "text": "¿De ese nunca te llegó la factura?", + "start_time": 821.42, + "end_time": 824.7, + "confidence": 0.893171, + "duration_sec": 3.2800000000000864, + "word_count": 7 + }, + { + "speaker": "B", + "text": "No, solo. Es decir, yo lo tengo domiciliado y ellos me lo cobran ahí. Y aparece contrato y sí que hay un número, una numeración.", + "start_time": 825.82, + "end_time": 835.82, + "confidence": 0.9370778, + "duration_sec": 10.0, + "word_count": 25 + }, + { + "speaker": "A", + "text": "Vale. No, no, pero entonces espera, lo necesita. No, ese no. En el momento no. Yo era después. Tú tenías una factura cualquiera, Endesa. Pero nunca.", + "start_time": 837.46, + "end_time": 846.74, + "confidence": 0.92706454, + "duration_sec": 9.279999999999973, + "word_count": 26 + }, + { + "speaker": "B", + "text": "A mí no me llega factura en papel, sino se lo cobran. Y tiene el número del contrato, una numeración de entrada y luego pone contrato y tiene un número de contrato.", + "start_time": 849.14, + "end_time": 863.06, + "confidence": 0.96103925, + "duration_sec": 13.919999999999959, + "word_count": 32 + }, + { + "speaker": "A", + "text": "Indícame el número, por favor.", + "start_time": 863.65, + "end_time": 865.01, + "confidence": 0.97839355, + "duration_sec": 1.3600000000000136, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Validamos el de contrato. Vale, vale, pone 12. 10 30 17 79 8.", + "start_time": 865.01, + "end_time": 877.65, + "confidence": 0.9162628, + "duration_sec": 12.639999999999986, + "word_count": 13 + }, + { + "speaker": "A", + "text": "Vale, sí, efectivamente. Permíteme. Entonces. Valía, verifica por favor si te llegó algún mensaje al correo electrónico. Es tan amable.", + "start_time": 891.98, + "end_time": 899.1, + "confidence": 0.9369393, + "duration_sec": 7.1200000000000045, + "word_count": 20 + }, + { + "speaker": "B", + "text": "Voy a mirar. No, no me ha llegado nada.", + "start_time": 900.22, + "end_time": 908.7, + "confidence": 0.9731174, + "duration_sec": 8.480000000000018, + "word_count": 9 + }, + { + "speaker": "A", + "text": "¿No te ha llegado? A ver. Es carmen h. De huelva. De dinamarca. Ezp.", + "start_time": 913.02, + "end_time": 920.13, + "confidence": 0.89832413, + "duration_sec": 7.110000000000014, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Pero todo junto y minúscula.", + "start_time": 922.29, + "end_time": 925.17, + "confidence": 0.9566895, + "duration_sec": 2.8799999999999955, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Sí. Hola.", + "start_time": 925.33, + "end_time": 1210.24, + "confidence": 0.95422363, + "duration_sec": 284.90999999999997, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Hola.", + "start_time": 1212.64, + "end_time": 1213.12, + "confidence": 0.8078613, + "duration_sec": 0.4799999999997908, + "word_count": 1 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 1223.0, + "audio_file": "10122025_0082038C3CFBF860.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "2b74d44d-726d-4c6f-b87d-f9c098afabbf", + "model_version": null, + "created_at": "2026-01-19T13:39:12.781063", + "processing_time_sec": 35.234381, + "overall_confidence": 0.9349789, + "speaker_count": 2 + }, + "full_text": "Hola, buenas tardes. Alexander está comunicando por facturación. Cuénteme en qué le puedo ayudar. Hola, buenas tardes, buenas noches. Vale, mi preocupación de la factura es porque el endefa me cobra todos los meses y no me ha cobrado la factura de octubre ni la de noviembre. Entonces tengo una factura que fue la última, que fue en septiembre. Entonces como he pagado todos los meses el recibo, ahora resulta que no tengo esa factura de octubre y noviembre. Vale, ¿Con quién hablo? Con la titular. Vale, ¿Y cuál es su nombre? Vale, Carmen, Pues digamos que en este caso sólo faltaría la factura de octubre porque pues de noviembre apenas van seis días. Indícame porque no se la han cobrado. Indícame por favor tú DN y validamos Por favor. Vale, 43. 280. 208. La G, la G. Gerona. ¿Vale, y la dirección del suministro cuál es? ¿La dirección del suministro cuál es? Ah, vale. Calle Ama con H corta 4 primero D de dedo. Vale, el municipio de Mogán te saldrá municipio de Mogán con Las Palmas de Gran Canaria. Vale, permítame, verifico acá en el sistema que me registra, ya vuelvo contigo. Vale Carmen, pero me dices que la dirección es jamás segundo primera, ¿Cierto? Sí. Pero ese contrato está de baja con nosotros. No, yo no he dado de baja al contrato. Si aquí aparece baja cambio de comercializadora, esto se dio de baja el 12 de agosto. No, yo no he dado baja ninguna sin autorización. ¿Que me extraña, cómo voy a dar de baja? ¿Y tú de pronto recibiste alguna llamada extraña desde ese tiempo de pronto que haya sido supuestamente Endesa? ¿No, no, no, ellos no da autorización y menos por teléfono no? Vale, sí, porque en este momento es por eso seguramente que no te han llegado claro las facturas porque pues no están con Endesa. ¿Cómo va a ser eso si yo no dado permiso para dejar de contratarlo a ustedes? Si es que no sé que yo no he dado permiso. No entiendo. Por eso llamé, le digo, me pareció raro que no me pasaran la factura porque yo la pago a través del banco y me puse ahora a mirar mis cuentas y no me aparece que digo pues voy a llamar pero yo no da autorización ninguna para darme de baja. Vale, en este caso tendríamos que volver a desactivar el contrato. ¿Cómo es eso, o sea, volver a hacer el contrato para que se quede otra vez con Endesa? Hombre, evidentemente porque yo no me he dado de baja. No entiendo el por qué no de una llamada o de informar cualquier. A ti no te. ¿Disculpa que te interrumpa, a ti nunca te llegó ningún correo ni nada? ¿De que va? No, no, no, por eso llamo, porque es que me parece raro. ¿Vale Carmen? Y tantas cosas que uno tiene miedo. Yo no respondo sino es la empresa directamente o llamo. Para mí es mejor llamar. ¿Por qué? Por eso mismo, porque hay muchas esc. Vale, Carmen, confírmame por favor tu correo ¿Cuál es? Pero mira, espera un segundo porque como no me lo sé voy a mirarlo porque lo cambié y te lo digo. ¿Vale? Vale, Lo estoy buscando. Ay, que no me aparece, Es que no me sale mi correo. ¿No te sale el correo? ¿Estás en el Gmail? Estoy en el gmail, Vale, en el. Gmail en la parte de arriba te aparece el correo como la bolita, le pintas en la boleta y no sale. Sí, sí, sí, estoy en ello. A ver si le sale aquí el email, pero es que no me aparece. ¿Qué cosa más les da? Será que entonces de pronto se salió, se cerró la sesión y. Pues que no han entrado los correos. No puede ser. Porque tú tienes ahí los correos abiertos. Yo tengo el correo abierto y no sé por qué. Ah, mira, vale, ya te lo digo. Sí, en minúsculas, Carmen, todo junto, ¿Vale? Sí, Carmen, hdezp hotmail arroba, perdón, arroba. Sí, te lo repito. Carmen, h de huelva, de Dinamarca, e de españa, z de Zaragoza, E de España, 23, ZP. Pamplona, p de pamplona, exacto, azpamplonail, com, Exacto. Todo de minúscula. Vale, Miremos a ver acá. Carmen, verifica si te llegó algún mensaje, por favor, a ese correo. A ver. No, todavía no te ha llegado. No me enviaste un email. Si te llegará una notificación. No me ha llegado nada. Verifico. No sé si tardará o no. Vale, Carmen, mientras llega el correo tú tienes una factura de la luz de antes. A ver, me meto. ¿Yo tengo una factura que ustedes me cobraron, fue de septiembre sería? Claro, porque es. El mes anterior de 43. No, no, no, no, esa 43. A mí me cobraron 49. Verifico entonces con el servicio de mantenimiento. Sí, 49.92. Sí, fue la última factura que yo pagué y la estoy. Mira, el de esa energía pagado 49,92 y eso fue en septiembre y a mí todos los meses me llega. Pero veo que estoy mirando las cuentas y resulta que en octubre no se cobraron nada, no hay recibo. Y ahora noviembre tampoco, se supone. Vale, entonces en esa factura me indicas por favor el número CUF de la dirección. Es tan amable. Está en la factura. Pues me tengo que meter en mi cuenta. Yo no sé si sale ahí. Espera un momento que voy a mirar. Tengo que entrar porque estoy verificando a ver si recibos. Vale, voy a mirar. Esto es septiembre. Voy aquí. No sé qué datos quieres saber. Ah, no, mira, aquí ya el CUPS ese aparece. Si estás en la factura digital, aparece en la segunda hoja donde dice datos del contrato. Mira, yo tengo aquí el recibo de domicilio y abajo pone concepto Endesa y me pone n con. No sé si será eso. El contrato, ¿No? Exacto. Pero en la segunda hoja, al lado donde dice datos del contrato, te aparece arriba CUPS y es un número que empieza por la e y la s. Yo tengo una factura que estoy mirando en mi número de cuenta. Del banco. Ah, te entiendo. Yo No tengo contrato. ¿De ese nunca te llegó la factura? No, solo. Es decir, yo lo tengo domiciliado y ellos me lo cobran ahí. Y aparece contrato y sí que hay un número, una numeración. Vale. No, no, pero entonces espera, lo necesita. No, ese no. En el momento no. Yo era después. Tú tenías una factura cualquiera, Endesa. Pero nunca. A mí no me llega factura en papel, sino se lo cobran. Y tiene el número del contrato, una numeración de entrada y luego pone contrato y tiene un número de contrato. Indícame el número, por favor. Validamos el de contrato. Vale, vale, pone 12. 10 30 17 79 8. Vale, sí, efectivamente. Permíteme. Entonces. Valía, verifica por favor si te llegó algún mensaje al correo electrónico. Es tan amable. Voy a mirar. No, no me ha llegado nada. ¿No te ha llegado? A ver. Es carmen h. De huelva. De dinamarca. Ezp. Pero todo junto y minúscula. Sí. Hola. Hola.", + "total_turns": 74, + "total_words": 1200 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF900.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF900.json new file mode 100644 index 0000000..56b97b9 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF900.json @@ -0,0 +1,130 @@ +{ + "call_id": "10122025_0082038C3CFBF900", + "turns": [ + { + "speaker": "A", + "text": "El número de teléfono que suelta la factura.", + "start_time": 2.48, + "end_time": 4.16, + "confidence": 0.91483563, + "duration_sec": 1.6800000000000002, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Buenas noches, bienvenido Endesa, hablas con Endrina, ¿Cómo te puedo ayudar?", + "start_time": 7.2, + "end_time": 10.48, + "confidence": 0.92626953, + "duration_sec": 3.2800000000000002, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Buenos días, bueno, buenas tardes, buenas noches. Mira que hace 12 horas que no tengo luz y me han dicho que averías no pueden solucionar nada y quiero que me pongan un generador eléctrico para que me deis luz en casa.", + "start_time": 11.68, + "end_time": 24.64, + "confidence": 0.97540927, + "duration_sec": 12.96, + "word_count": 41 + }, + { + "speaker": "B", + "text": "Vale, pero nosotros solamente somos facturación, quién se encarga de eso es la distribuidora y avería.", + "start_time": 25.12, + "end_time": 30.45, + "confidence": 0.97025555, + "duration_sec": 5.329999999999998, + "word_count": 16 + }, + { + "speaker": "A", + "text": "Pues dame un teléfono que me pueda preguntar para que me pongan un generador eléctrico. Llevo más de 12 horas sin luz en casa, ¿A quién tengo que llamar?", + "start_time": 32.53, + "end_time": 39.81, + "confidence": 0.9654345, + "duration_sec": 7.280000000000001, + "word_count": 29 + }, + { + "speaker": "B", + "text": "Te doy el número de la distribuidora de avería.", + "start_time": 40.61, + "end_time": 43.33, + "confidence": 0.9780364, + "duration_sec": 2.719999999999999, + "word_count": 9 + }, + { + "speaker": "A", + "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.129, + "end_time": 50.61, + "confidence": 0.9695109, + "duration_sec": 6.481000000000002, + "word_count": 20 + }, + { + "speaker": "B", + "text": "Vale, pero nosotros tampoco, Nosotros tampoco. Eso sería directamente con la distribuidora.", + "start_time": 51.73, + "end_time": 57.11, + "confidence": 0.9519314, + "duration_sec": 5.380000000000003, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Y pues dame el teléfono de mi distribuidora.", + "start_time": 57.83, + "end_time": 60.39, + "confidence": 0.91778564, + "duration_sec": 2.5600000000000023, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Porque para la distribuidora de Endesa, la distribuidora Endesa es 900. 900. 8787.8119.", + "start_time": 60.95, + "end_time": 73.51, + "confidence": 0.954768, + "duration_sec": 12.560000000000002, + "word_count": 13 + }, + { + "speaker": "A", + "text": "¿De acuerdo? Venga, pues gracias.", + "start_time": 75.35, + "end_time": 78.63, + "confidence": 0.90568036, + "duration_sec": 3.280000000000001, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Vale, feliz noche, Hasta luego.", + "start_time": 79.19, + "end_time": 80.63, + "confidence": 0.99928385, + "duration_sec": 1.4399999999999977, + "word_count": 5 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 82.0, + "audio_file": "10122025_0082038C3CFBF900.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "7f04a46e-6801-485e-b387-fd980bff0188", + "model_version": null, + "created_at": "2026-01-19T13:38:47.889294", + "processing_time_sec": 7.46431, + "overall_confidence": 0.95997703, + "speaker_count": 2 + }, + "full_text": "El número de teléfono que suelta la factura. Buenas noches, bienvenido Endesa, hablas con Endrina, ¿Cómo te puedo ayudar? Buenos días, bueno, buenas tardes, buenas noches. Mira que hace 12 horas que no tengo luz y me han dicho que averías no pueden solucionar nada y quiero que me pongan un generador eléctrico para que me deis luz en casa. Vale, pero nosotros solamente somos facturación, quién se encarga de eso es la distribuidora y avería. Pues dame un teléfono que me pueda preguntar para que me pongan un generador eléctrico. Llevo más de 12 horas sin luz en casa, ¿A quién tengo que llamar? Te doy el número de la distribuidora de avería. Pero averías me dicen que no, que ellos son averías, que ellos no pueden generar para ponerme un generador eléctrico. Vale, pero nosotros tampoco, Nosotros tampoco. Eso sería directamente con la distribuidora. Y pues dame el teléfono de mi distribuidora. Porque para la distribuidora de Endesa, la distribuidora Endesa es 900. 900. 8787.8119. ¿De acuerdo? Venga, pues gracias. Vale, feliz noche, Hasta luego.", + "total_turns": 12, + "total_words": 177 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF911.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF911.json new file mode 100644 index 0000000..a9c72dd --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF911.json @@ -0,0 +1,31 @@ +{ + "call_id": "10122025_0082038C3CFBF911", + "turns": [ + { + "speaker": "A", + "text": "Buenas noches, soy Marianne, ¿En qué puedo ayudarte? Hola, Hola, buenas noches, soy Marian por ayudarte. Hola, Procede por saliberar llamada, No oímos al cliente, Notice.", + "start_time": 0.24, + "end_time": 55.15, + "confidence": 0.9282602, + "duration_sec": 54.91, + "word_count": 26 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 60.0, + "audio_file": "10122025_0082038C3CFBF911.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "a7f9a5e5-5c91-48e4-a98c-af10fd8d6122", + "model_version": null, + "created_at": "2026-01-19T13:38:54.443053", + "processing_time_sec": 13.581387, + "overall_confidence": 0.9282602, + "speaker_count": 1 + }, + "full_text": "Buenas noches, soy Marianne, ¿En qué puedo ayudarte? Hola, Hola, buenas noches, soy Marian por ayudarte. Hola, Procede por saliberar llamada, No oímos al cliente, Notice.", + "total_turns": 1, + "total_words": 26 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF918.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF918.json new file mode 100644 index 0000000..a847fc7 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF918.json @@ -0,0 +1,445 @@ +{ + "call_id": "10122025_0082038C3CFBF918", + "turns": [ + { + "speaker": "A", + "text": "Buenas noches. La tinjera No me motiva. ¿Cómo puede ayudarle?", + "start_time": 1.92, + "end_time": 4.88, + "confidence": 0.8210531, + "duration_sec": 2.96, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Hola, buenas noches. Mira, verás, es que a mi padre le ha llegado como una notificación diciéndole que la última factura de uno de los contratos que él tenía que no se ha abonado y ellos siempre lo han tenido, mis padres siempre la han tenido domiciliar por el banco y no sé el por qué no se la han cobrado por el banco.", + "start_time": 5.68, + "end_time": 26.56, + "confidence": 0.9294767, + "duration_sec": 20.88, + "word_count": 64 + }, + { + "speaker": "A", + "text": "¿Me puede facilitar la dirección del punto de suministro, por favor?", + "start_time": 28.98, + "end_time": 31.62, + "confidence": 0.96228766, + "duration_sec": 2.6400000000000006, + "word_count": 11 + }, + { + "speaker": "B", + "text": "La dirección del suministro sería. Esto es en Valverde del Camino, la población, pero es en un campo que está cerca de la población, el campo se llama Los Campillos, sin número.", + "start_time": 32.9, + "end_time": 46.02, + "confidence": 0.9490369, + "duration_sec": 13.120000000000005, + "word_count": 32 + }, + { + "speaker": "A", + "text": "De acuerdo. Voy a consultar las facturas pendientes y que ha podido.", + "start_time": 47.3, + "end_time": 51.86, + "confidence": 0.8694424, + "duration_sec": 4.560000000000002, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Un segundo, sí. Le puedo comentar una cosilla. Mira, hace poco, bueno, cuestión de como dos meses por ahí, yo le solicité lo del bono social porque ellos son muy mayores y la verdad que no lo tenían, entonces yo se lo solicité y entonces eso se la, digamos, se la han puesto al contrato que tienen ellos de la vivienda donde están, donde viven en la población, en Valverde del Camino, ¿Sabes? Pero este contrato del que yo te estoy diciendo que le han mandado, ¿Como que no lo ha abonado? Este sí se queda en Tesa, el otro se lo pasaron a energía 21, no a lo del bono social. Sí, para poderle poner bono social me lo pasaron a energía 21, pero este del que yo te hablo, que es de la casita del campo, es otro contrato. Este sí sigue en Endesa, pero siempre se la han cobrado por el banco y no sé el por qué pasa lo que te estoy diciendo, que le han dicho que no la ha abonado, que si en cuestión de dos meses, en fin, la han mandado como un escrito junto con la factura. Bueno, el escrito venía en un sobreaparte.", + "start_time": 52.02, + "end_time": 130.04, + "confidence": 0.93300676, + "duration_sec": 78.01999999999998, + "word_count": 202 + }, + { + "speaker": "A", + "text": "Y la factura en otro, si no tendría que ver. Estoy consultando aquí a ver qué ha podido suceder.", + "start_time": 130.04, + "end_time": 136.28, + "confidence": 0.92104405, + "duration_sec": 6.240000000000009, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Sí, Que eso es así, o sea, si le aplican el bono social, lo cambiaron de endesa a energía 21 para lo del bono social, pero en la otra casa del campo me dijeron que no, que se quedaban Endesa.", + "start_time": 136.84, + "end_time": 156.81, + "confidence": 0.9459962, + "duration_sec": 19.97, + "word_count": 40 + }, + { + "speaker": "A", + "text": "Exacto. No afecta al resto.", + "start_time": 156.81, + "end_time": 158.93, + "confidence": 0.85817057, + "duration_sec": 2.1200000000000045, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Está bien así, ¿No? Sí, sí. Pues yo, hijo, yo si quieres devuelvo otra vez el número de la cuenta bancaria, pero es que siempre se la han cobrado sin ningún problema. Y claro, cuando me enseñó hace un rato la carta que le habían mandado, dice mira lo que me han mandado, digo pues no sé, voy a llamar si te hace falta algún dato más.", + "start_time": 160.13, + "end_time": 182.86, + "confidence": 0.9564883, + "duration_sec": 22.730000000000018, + "word_count": 67 + }, + { + "speaker": "A", + "text": "Su DNI no lo tengo aquí, me lo ha dado la máquina estoy intentando consultar porque no se ha pasado esto porque me parece bastante extraño porque se me consta domiciliado los 3 facturas pagadas correctamente pero ésta no me muestra aquí que se haya domiciliado por nuestra parte.", + "start_time": 183.1, + "end_time": 200.46, + "confidence": 0.9310835, + "duration_sec": 17.360000000000014, + "word_count": 49 + }, + { + "speaker": "B", + "text": "No sé por qué, sí, exactamente que es que no se la han cobrado y encima la han mandado como una carta diciéndole que sí, que lo tienen que pagar o ir al banco a pagarlo allí o algo, pero mi padre dice, pero sí siempre me lo han descontado el banco y sin problemas Si.", + "start_time": 200.46, + "end_time": 219.55, + "confidence": 0.9397461, + "duration_sec": 19.090000000000003, + "word_count": 56 + }, + { + "speaker": "A", + "text": "Me quiere confirmar el número de cuenta bancaria, por favor.", + "start_time": 219.55, + "end_time": 221.75, + "confidence": 0.9413818, + "duration_sec": 2.1999999999999886, + "word_count": 10 + }, + { + "speaker": "B", + "text": "La cuenta bancaria ¿Tú tienes ahí la que le estaba cobrando a él anteriormente?", + "start_time": 222.87, + "end_time": 228.55, + "confidence": 0.9771525, + "duration_sec": 5.680000000000007, + "word_count": 14 + }, + { + "speaker": "A", + "text": "Sí, la tenemos, la que debería de.", + "start_time": 228.87, + "end_time": 231.19, + "confidence": 0.9363723, + "duration_sec": 2.319999999999993, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Haberse enviado A ver, dímela, dímela a.", + "start_time": 231.19, + "end_time": 233.91, + "confidence": 0.99107724, + "duration_sec": 2.719999999999999, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Ver si él la dice. No le puedo decir por protección de datos tiene que decir usted.", + "start_time": 233.91, + "end_time": 239.03, + "confidence": 0.9330193, + "duration_sec": 5.1200000000000045, + "word_count": 17 + }, + { + "speaker": "B", + "text": "Se la digo yo entonces. Sí, mira es. 41 34 85 89 12 73.", + "start_time": 239.43, + "end_time": 260.3, + "confidence": 0.9145676, + "duration_sec": 20.870000000000005, + "word_count": 14 + }, + { + "speaker": "A", + "text": "Esta no es exactamente la que nos costaba aquí en el sistema, la verdad.", + "start_time": 265.66, + "end_time": 269.18, + "confidence": 0.97499305, + "duration_sec": 3.519999999999982, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Sí, sí, sí, sí, sí. Y esa cuenta no tiene problema porque tiene dinero, vamos que no, que no hay problema ninguno, es del Santander y no tiene problema ninguno, ellos tienen domiciliado todo por ahí en la única cuenta que te pudo dar, vamos que no han tenido nunca problemas y no sé por qué, claro, como ha coincidido con lo del bono social del otro contrato que se le. Claró, es que lo hacen así, me dijeron, dice pues esto hay que darlo de baja en Endesa, hay que pasarlo a. Digo, pues ya está, como yo no sabía eso como era la verdad fui a arreglárselo y me lo dijeron que era así Dice, pero el otro contrato que tiene, porque ellos después aparte tienen también otra casa, otra casa también en el pueblo que también es con Endesa, o sea lo del bono social se lo han aplicado a la que están viviendo Claro, solamente lo demás ha quedado, las otras dos han quedado en Endesa.", + "start_time": 269.58, + "end_time": 329.11, + "confidence": 0.9473962, + "duration_sec": 59.53000000000003, + "word_count": 170 + }, + { + "speaker": "A", + "text": "Si, estoy viendo a ver aquí que ha podido suceder porque me consta la factura, la factura en sí me consta otro número de cuenta pero en el resto me consta. Correcto, la verdad.", + "start_time": 331.91, + "end_time": 345.11, + "confidence": 0.94124585, + "duration_sec": 13.199999999999989, + "word_count": 34 + }, + { + "speaker": "B", + "text": "¿Que te aparece a ti? ¿De cuánto es?", + "start_time": 347.11, + "end_time": 349.43, + "confidence": 0.90737915, + "duration_sec": 2.319999999999993, + "word_count": 8 + }, + { + "speaker": "A", + "text": "49 con 26 Exacto.", + "start_time": 351.11, + "end_time": 353.85, + "confidence": 0.91179216, + "duration_sec": 2.740000000000009, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Que es como si fuera agosto y septiembre, más o menos son esos dos meses. Exacto. El número del contrato acaba en 527.", + "start_time": 353.93, + "end_time": 371.53, + "confidence": 0.9180225, + "duration_sec": 17.599999999999966, + "word_count": 23 + }, + { + "speaker": "A", + "text": "No encuentro ningún motivo por el cual hayan pasado esta factura, le hayan puesto incorrectamente el número de cuenta.", + "start_time": 377.05, + "end_time": 381.88, + "confidence": 0.92571056, + "duration_sec": 4.829999999999984, + "word_count": 19 + }, + { + "speaker": "B", + "text": "No sabemos el por qué ha pasado. Entonces ¿Eso se lo volvéis a pasar otra vez para descontárselo por el banco o cómo lo tenemos que hacer?", + "start_time": 385.56, + "end_time": 402.12, + "confidence": 0.97577477, + "duration_sec": 16.560000000000002, + "word_count": 27 + }, + { + "speaker": "A", + "text": "Yo lo podría intentar volver a pasarlo, pero no puedo intentarlo. En este caso imagino que ha estado un error del sistema que la ha pasado incorrectamente con todo el tema del cambio del bono social, etc. Ha habido un error puntual, pero parece que ya está solucionado. La próxima si llegaría correctamente. Ésta la puede pagar a través de tarjeta o en correos.", + "start_time": 403.16, + "end_time": 426.82, + "confidence": 0.9460345, + "duration_sec": 23.659999999999968, + "word_count": 64 + }, + { + "speaker": "B", + "text": "O sea que esta ya no se puede domiciliar.", + "start_time": 428.82, + "end_time": 431.14, + "confidence": 0.9351264, + "duration_sec": 2.319999999999993, + "word_count": 9 + }, + { + "speaker": "A", + "text": "Esta factura No, disculpe, ya no me deja el sistema.", + "start_time": 431.86, + "end_time": 434.77, + "confidence": 0.97017413, + "duration_sec": 2.909999999999968, + "word_count": 10 + }, + { + "speaker": "B", + "text": "No te deja. Para la siguiente no habrá problema.", + "start_time": 435.65, + "end_time": 437.97, + "confidence": 0.9578541, + "duration_sec": 2.32000000000005, + "word_count": 9 + }, + { + "speaker": "A", + "text": "Sí, para la siguiente lo he comprobado que esté todo correcto y si se la enviarán correctamente.", + "start_time": 438.61, + "end_time": 442.05, + "confidence": 0.96690696, + "duration_sec": 3.4399999999999977, + "word_count": 17 + }, + { + "speaker": "B", + "text": "¿Y esta se puede pagar allí en el banco, en el Santander?", + "start_time": 443.09, + "end_time": 446.93, + "confidence": 0.8880683, + "duration_sec": 3.840000000000032, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Sí. Si quiere le envío una copia de la factura con validez para el cobro con el código de barras para que pueda pagarla en el cajero.", + "start_time": 448.45, + "end_time": 455.65, + "confidence": 0.968445, + "duration_sec": 7.199999999999989, + "word_count": 27 + }, + { + "speaker": "B", + "text": "Vale, vale, porque es que verá, yo.", + "start_time": 456.85, + "end_time": 458.85, + "confidence": 0.8717913, + "duration_sec": 2.0, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Tengo aquí o si no, en la carta que le ha llegado ahí también debería que te dé barras.", + "start_time": 458.85, + "end_time": 463.89, + "confidence": 0.8611868, + "duration_sec": 5.039999999999964, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Sí, sí, sí. En la carta que me ha llegado abajo pone lugar de pago y hay un código de barra.", + "start_time": 464.53, + "end_time": 470.29, + "confidence": 0.95585084, + "duration_sec": 5.760000000000048, + "word_count": 21 + }, + { + "speaker": "A", + "text": "Sí, con el código de barra sin el cajero puede pagarla o en oficina.", + "start_time": 470.53, + "end_time": 473.57, + "confidence": 0.9382778, + "duration_sec": 3.0400000000000205, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Vale, vale, vale. Porque pone cualquier oficina o cajero automático de Santander, Caja Rural Adherida, Cajamar, en fin, nombra unos cuantos de banco y es con el código de barra este que aparece aquí.", + "start_time": 474.45, + "end_time": 486.93, + "confidence": 0.9447584, + "duration_sec": 12.480000000000018, + "word_count": 34 + }, + { + "speaker": "A", + "text": "Si hay con el código de barras lo puede pagar.", + "start_time": 487.23, + "end_time": 489.63, + "confidence": 0.8655322, + "duration_sec": 2.3999999999999773, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Vale, vale, pues ya está. Vamos a tener que acercarnos.", + "start_time": 490.43, + "end_time": 493.55, + "confidence": 0.9882471, + "duration_sec": 3.1200000000000045, + "word_count": 10 + }, + { + "speaker": "A", + "text": "Sí, disculpe.", + "start_time": 494.11, + "end_time": 495.07, + "confidence": 0.9322917, + "duration_sec": 0.9599999999999795, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Venga, pues ya para la próxima vez no habrá problema, digo yo, ¿No?", + "start_time": 495.87, + "end_time": 500.35, + "confidence": 0.91568387, + "duration_sec": 4.480000000000018, + "word_count": 13 + }, + { + "speaker": "A", + "text": "Sí, lo he verificado y sí, la próxima llegará correctamente.", + "start_time": 501.07, + "end_time": 503.79, + "confidence": 0.96909994, + "duration_sec": 2.7200000000000273, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Vale, vale. Venga, pues ya está, lo solucionamos así. Venga.", + "start_time": 504.83, + "end_time": 509.79, + "confidence": 0.9784668, + "duration_sec": 4.960000000000036, + "word_count": 10 + }, + { + "speaker": "A", + "text": "Buenas noches. Disculpa molestias.", + "start_time": 510.43, + "end_time": 512.43, + "confidence": 0.92477417, + "duration_sec": 1.9999999999999432, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Muchas gracias. Venga. Dios.", + "start_time": 512.75, + "end_time": 514.59, + "confidence": 0.8310547, + "duration_sec": 1.8400000000000318, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Buenas noches.", + "start_time": 515.39, + "end_time": 516.27, + "confidence": 0.9432373, + "duration_sec": 0.8799999999999955, + "word_count": 2 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 519.0, + "audio_file": "10122025_0082038C3CFBF918.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "f0b65822-5b39-4686-88e0-266d5240b632", + "model_version": null, + "created_at": "2026-01-19T13:38:54.387254", + "processing_time_sec": 11.376862, + "overall_confidence": 0.9384125, + "speaker_count": 2 + }, + "full_text": "Buenas noches. La tinjera No me motiva. ¿Cómo puede ayudarle? Hola, buenas noches. Mira, verás, es que a mi padre le ha llegado como una notificación diciéndole que la última factura de uno de los contratos que él tenía que no se ha abonado y ellos siempre lo han tenido, mis padres siempre la han tenido domiciliar por el banco y no sé el por qué no se la han cobrado por el banco. ¿Me puede facilitar la dirección del punto de suministro, por favor? La dirección del suministro sería. Esto es en Valverde del Camino, la población, pero es en un campo que está cerca de la población, el campo se llama Los Campillos, sin número. De acuerdo. Voy a consultar las facturas pendientes y que ha podido. Un segundo, sí. Le puedo comentar una cosilla. Mira, hace poco, bueno, cuestión de como dos meses por ahí, yo le solicité lo del bono social porque ellos son muy mayores y la verdad que no lo tenían, entonces yo se lo solicité y entonces eso se la, digamos, se la han puesto al contrato que tienen ellos de la vivienda donde están, donde viven en la población, en Valverde del Camino, ¿Sabes? Pero este contrato del que yo te estoy diciendo que le han mandado, ¿Como que no lo ha abonado? Este sí se queda en Tesa, el otro se lo pasaron a energía 21, no a lo del bono social. Sí, para poderle poner bono social me lo pasaron a energía 21, pero este del que yo te hablo, que es de la casita del campo, es otro contrato. Este sí sigue en Endesa, pero siempre se la han cobrado por el banco y no sé el por qué pasa lo que te estoy diciendo, que le han dicho que no la ha abonado, que si en cuestión de dos meses, en fin, la han mandado como un escrito junto con la factura. Bueno, el escrito venía en un sobreaparte. Y la factura en otro, si no tendría que ver. Estoy consultando aquí a ver qué ha podido suceder. Sí, Que eso es así, o sea, si le aplican el bono social, lo cambiaron de endesa a energía 21 para lo del bono social, pero en la otra casa del campo me dijeron que no, que se quedaban Endesa. Exacto. No afecta al resto. Está bien así, ¿No? Sí, sí. Pues yo, hijo, yo si quieres devuelvo otra vez el número de la cuenta bancaria, pero es que siempre se la han cobrado sin ningún problema. Y claro, cuando me enseñó hace un rato la carta que le habían mandado, dice mira lo que me han mandado, digo pues no sé, voy a llamar si te hace falta algún dato más. Su DNI no lo tengo aquí, me lo ha dado la máquina estoy intentando consultar porque no se ha pasado esto porque me parece bastante extraño porque se me consta domiciliado los 3 facturas pagadas correctamente pero ésta no me muestra aquí que se haya domiciliado por nuestra parte. No sé por qué, sí, exactamente que es que no se la han cobrado y encima la han mandado como una carta diciéndole que sí, que lo tienen que pagar o ir al banco a pagarlo allí o algo, pero mi padre dice, pero sí siempre me lo han descontado el banco y sin problemas Si. Me quiere confirmar el número de cuenta bancaria, por favor. La cuenta bancaria ¿Tú tienes ahí la que le estaba cobrando a él anteriormente? Sí, la tenemos, la que debería de. Haberse enviado A ver, dímela, dímela a. Ver si él la dice. No le puedo decir por protección de datos tiene que decir usted. Se la digo yo entonces. Sí, mira es. 41 34 85 89 12 73. Esta no es exactamente la que nos costaba aquí en el sistema, la verdad. Sí, sí, sí, sí, sí. Y esa cuenta no tiene problema porque tiene dinero, vamos que no, que no hay problema ninguno, es del Santander y no tiene problema ninguno, ellos tienen domiciliado todo por ahí en la única cuenta que te pudo dar, vamos que no han tenido nunca problemas y no sé por qué, claro, como ha coincidido con lo del bono social del otro contrato que se le. Claró, es que lo hacen así, me dijeron, dice pues esto hay que darlo de baja en Endesa, hay que pasarlo a. Digo, pues ya está, como yo no sabía eso como era la verdad fui a arreglárselo y me lo dijeron que era así Dice, pero el otro contrato que tiene, porque ellos después aparte tienen también otra casa, otra casa también en el pueblo que también es con Endesa, o sea lo del bono social se lo han aplicado a la que están viviendo Claro, solamente lo demás ha quedado, las otras dos han quedado en Endesa. Si, estoy viendo a ver aquí que ha podido suceder porque me consta la factura, la factura en sí me consta otro número de cuenta pero en el resto me consta. Correcto, la verdad. ¿Que te aparece a ti? ¿De cuánto es? 49 con 26 Exacto. Que es como si fuera agosto y septiembre, más o menos son esos dos meses. Exacto. El número del contrato acaba en 527. No encuentro ningún motivo por el cual hayan pasado esta factura, le hayan puesto incorrectamente el número de cuenta. No sabemos el por qué ha pasado. Entonces ¿Eso se lo volvéis a pasar otra vez para descontárselo por el banco o cómo lo tenemos que hacer? Yo lo podría intentar volver a pasarlo, pero no puedo intentarlo. En este caso imagino que ha estado un error del sistema que la ha pasado incorrectamente con todo el tema del cambio del bono social, etc. Ha habido un error puntual, pero parece que ya está solucionado. La próxima si llegaría correctamente. Ésta la puede pagar a través de tarjeta o en correos. O sea que esta ya no se puede domiciliar. Esta factura No, disculpe, ya no me deja el sistema. No te deja. Para la siguiente no habrá problema. Sí, para la siguiente lo he comprobado que esté todo correcto y si se la enviarán correctamente. ¿Y esta se puede pagar allí en el banco, en el Santander? Sí. Si quiere le envío una copia de la factura con validez para el cobro con el código de barras para que pueda pagarla en el cajero. Vale, vale, porque es que verá, yo. Tengo aquí o si no, en la carta que le ha llegado ahí también debería que te dé barras. Sí, sí, sí. En la carta que me ha llegado abajo pone lugar de pago y hay un código de barra. Sí, con el código de barra sin el cajero puede pagarla o en oficina. Vale, vale, vale. Porque pone cualquier oficina o cajero automático de Santander, Caja Rural Adherida, Cajamar, en fin, nombra unos cuantos de banco y es con el código de barra este que aparece aquí. Si hay con el código de barras lo puede pagar. Vale, vale, pues ya está. Vamos a tener que acercarnos. Sí, disculpe. Venga, pues ya para la próxima vez no habrá problema, digo yo, ¿No? Sí, lo he verificado y sí, la próxima llegará correctamente. Vale, vale. Venga, pues ya está, lo solucionamos así. Venga. Buenas noches. Disculpa molestias. Muchas gracias. Venga. Dios. Buenas noches.", + "total_turns": 47, + "total_words": 1243 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF955.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF955.json new file mode 100644 index 0000000..41f57b6 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF955.json @@ -0,0 +1,67 @@ +{ + "call_id": "10122025_0082038C3CFBF955", + "turns": [ + { + "speaker": "A", + "text": "No, no, venga ya si partir huyó ya desde aquí.", + "start_time": 0.96, + "end_time": 7.84, + "confidence": 0.8880412, + "duration_sec": 6.88, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Hola, buenas noches, habla Alejandra. Veo que te.", + "start_time": 11.12, + "end_time": 13.68, + "confidence": 0.9720154, + "duration_sec": 2.5600000000000005, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Mira. Hace un par de horas he dado de alta la luz, que es una obra nueva, es un piso de obra nueva. Y entonces cuando he tramitado el alta, he recibido dos correos por vuestra parte. Uno que me indicaba que enviara el Ritsic y el otro que enviara el CIE. Cuando yo hubiera estado tramitando el alta ya lo enviaba. Entonces he recibido un tercer correo diciéndome que no coincide la potencia de uno y el otro documento. ¿Me escucha bien?", + "start_time": 16.0, + "end_time": 46.64, + "confidence": 0.9447506, + "duration_sec": 30.64, + "word_count": 83 + }, + { + "speaker": "B", + "text": "Sí, es cierto, escuchando bien, solo que.", + "start_time": 46.88, + "end_time": 49.12, + "confidence": 0.8910087, + "duration_sec": 2.239999999999995, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Se cayó como que.", + "start_time": 49.52, + "end_time": 50.55, + "confidence": 0.9355876, + "duration_sec": 1.029999999999994, + "word_count": 4 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 51.0, + "audio_file": "10122025_0082038C3CFBF955.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "dc005ca5-6dec-4ee4-8552-a6467d5ff974", + "model_version": null, + "created_at": "2026-01-19T13:38:48.514815", + "processing_time_sec": 4.562695, + "overall_confidence": 0.9379486, + "speaker_count": 2 + }, + "full_text": "No, no, venga ya si partir huyó ya desde aquí. Hola, buenas noches, habla Alejandra. Veo que te. Mira. Hace un par de horas he dado de alta la luz, que es una obra nueva, es un piso de obra nueva. Y entonces cuando he tramitado el alta, he recibido dos correos por vuestra parte. Uno que me indicaba que enviara el Ritsic y el otro que enviara el CIE. Cuando yo hubiera estado tramitando el alta ya lo enviaba. Entonces he recibido un tercer correo diciéndome que no coincide la potencia de uno y el otro documento. ¿Me escucha bien? Sí, es cierto, escuchando bien, solo que. Se cayó como que.", + "total_turns": 5, + "total_words": 112 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF981.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF981.json new file mode 100644 index 0000000..ba7ea4c --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF981.json @@ -0,0 +1,193 @@ +{ + "call_id": "10122025_0082038C3CFBF981", + "turns": [ + { + "speaker": "A", + "text": "Muy Buenas noches, bienvenidos. ¿De que energía? Le saluda Juan Álvarez. Cuénteme por favor en qué le puedo ayudar.", + "start_time": 6.08, + "end_time": 10.8, + "confidence": 0.9348115, + "duration_sec": 4.720000000000001, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Hola. Mírate. Una preguntilla. ¿Sabe si por calle La Crónica ha habido algún corte de NU?", + "start_time": 11.68, + "end_time": 17.6, + "confidence": 0.91549176, + "duration_sec": 5.920000000000002, + "word_count": 16 + }, + { + "speaker": "A", + "text": "Dame un segundo. Lo validamos solamente nu. ¿Tiene servicio usted o todo el sector?", + "start_time": 18.8, + "end_time": 23.28, + "confidence": 0.92718214, + "duration_sec": 4.48, + "word_count": 14 + }, + { + "speaker": "B", + "text": "Perdón, no te he escuchado.", + "start_time": 25.28, + "end_time": 26.56, + "confidence": 0.88655597, + "duration_sec": 1.2799999999999976, + "word_count": 5 + }, + { + "speaker": "A", + "text": "¿Tienes una deficiencia en el servicio tú o todo el sector?", + "start_time": 27.38, + "end_time": 30.74, + "confidence": 0.898763, + "duration_sec": 3.3599999999999994, + "word_count": 11 + }, + { + "speaker": "B", + "text": "No lo sé, la verdad, porque hay gente que tiene luz enfrente, pero es que ha saltado la luz y cuando he levantado el plomillo no va la luz.", + "start_time": 32.18, + "end_time": 40.26, + "confidence": 0.9484622, + "duration_sec": 8.079999999999998, + "word_count": 29 + }, + { + "speaker": "A", + "text": "¿Y cuál es su DNI?", + "start_time": 40.74, + "end_time": 42.1, + "confidence": 0.938737, + "duration_sec": 1.3599999999999994, + "word_count": 5 + }, + { + "speaker": "B", + "text": "Pero yo no estoy con vosotros, pero como el punto de suministro es vuestro.", + "start_time": 43.62, + "end_time": 47.26, + "confidence": 0.9492333, + "duration_sec": 3.6400000000000006, + "word_count": 14 + }, + { + "speaker": "A", + "text": "Por eso pregunto, porque todavía no me sale, digamos que una novedad para ese sector. Pero sí ha habido situaciones de otras partes en particular. Entonces, si gusta, yo le puedo dar el número a la distribuidora para que usted se comunique y ellos le afirman si hay un daño.", + "start_time": 47.26, + "end_time": 66.3, + "confidence": 0.9195207, + "duration_sec": 19.04, + "word_count": 50 + }, + { + "speaker": "B", + "text": "Dime el número.", + "start_time": 68.62, + "end_time": 69.66, + "confidence": 0.98588055, + "duration_sec": 1.039999999999992, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Dígame primeramente la dirección de ese sector.", + "start_time": 71.02, + "end_time": 73.58, + "confidence": 0.86594933, + "duration_sec": 2.5600000000000023, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Diga la dirección del sector.", + "start_time": 75.34, + "end_time": 77.58, + "confidence": 0.90384114, + "duration_sec": 2.239999999999995, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Sí, señora.", + "start_time": 77.58, + "end_time": 78.3, + "confidence": 0.90702313, + "duration_sec": 0.7199999999999989, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Calle La Crónica. Sí, número 27.", + "start_time": 79.9, + "end_time": 84.31, + "confidence": 0.93356043, + "duration_sec": 4.409999999999997, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Listo. Distribución. Compañía Sevillana de Electricidad. ¿Quienes se encargan del servicio de la reparación en esa zona? El número es el siguiente. Es 990. 850. 850. 840.", + "start_time": 85.11, + "end_time": 104.822, + "confidence": 0.9194839, + "duration_sec": 19.712000000000003, + "word_count": 27 + }, + { + "speaker": "B", + "text": "840. Tú lo llamará ahora, ¿Verdad?", + "start_time": 105.238, + "end_time": 108.55, + "confidence": 0.9565029, + "duration_sec": 3.3119999999999976, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Exactamente, sí ellos funcionan las 24 horas como nosotros.", + "start_time": 109.2, + "end_time": 112.4, + "confidence": 0.94183993, + "duration_sec": 3.200000000000003, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Pues muchísimas gracias.", + "start_time": 113.44, + "end_time": 114.64, + "confidence": 0.9873454, + "duration_sec": 1.2000000000000028, + "word_count": 3 + }, + { + "speaker": "A", + "text": "OK. Una feliz noche. Que le saluda.", + "start_time": 114.88, + "end_time": 118.8, + "confidence": 0.9205613, + "duration_sec": 3.9200000000000017, + "word_count": 7 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 120.0, + "audio_file": "10122025_0082038C3CFBF981.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "c60d8c95-8c8f-4015-996c-33566527dea9", + "model_version": null, + "created_at": "2026-01-19T13:38:53.678785", + "processing_time_sec": 7.202282, + "overall_confidence": 0.9267853, + "speaker_count": 2 + }, + "full_text": "Muy Buenas noches, bienvenidos. ¿De que energía? Le saluda Juan Álvarez. Cuénteme por favor en qué le puedo ayudar. Hola. Mírate. Una preguntilla. ¿Sabe si por calle La Crónica ha habido algún corte de NU? Dame un segundo. Lo validamos solamente nu. ¿Tiene servicio usted o todo el sector? Perdón, no te he escuchado. ¿Tienes una deficiencia en el servicio tú o todo el sector? No lo sé, la verdad, porque hay gente que tiene luz enfrente, pero es que ha saltado la luz y cuando he levantado el plomillo no va la luz. ¿Y cuál es su DNI? Pero yo no estoy con vosotros, pero como el punto de suministro es vuestro. Por eso pregunto, porque todavía no me sale, digamos que una novedad para ese sector. Pero sí ha habido situaciones de otras partes en particular. Entonces, si gusta, yo le puedo dar el número a la distribuidora para que usted se comunique y ellos le afirman si hay un daño. Dime el número. Dígame primeramente la dirección de ese sector. Diga la dirección del sector. Sí, señora. Calle La Crónica. Sí, número 27. Listo. Distribución. Compañía Sevillana de Electricidad. ¿Quienes se encargan del servicio de la reparación en esa zona? El número es el siguiente. Es 990. 850. 850. 840. 840. Tú lo llamará ahora, ¿Verdad? Exactamente, sí ellos funcionan las 24 horas como nosotros. Pues muchísimas gracias. OK. Una feliz noche. Que le saluda.", + "total_turns": 19, + "total_words": 238 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF99B.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF99B.json new file mode 100644 index 0000000..a65b9bb --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF99B.json @@ -0,0 +1,508 @@ +{ + "call_id": "10122025_0082038C3CFBF99B", + "turns": [ + { + "speaker": "A", + "text": "Buenas noches, bienvenido Andrés Energía hablar con Daniel que le puede ayudar.", + "start_time": 4.96, + "end_time": 8.24, + "confidence": 0.91414386, + "duration_sec": 3.2800000000000002, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Hola, muy buenas. Mire que hoy he estado hablando con una compañera suya para que en mi contrato que hice una nueva tarifa el martes, creo que fue este martes pasado y entonces le dije, me mando un correo electrónico para que esto esté certificado para que me quitaran el servicio de protección Luz 360. Pero digo yo que el contrato sigue lo mismo, nada más que yo me he quitado de eso. Sí en el correo por la fecha del side el 11 del 25 tu contrato número no se ve unas cuantas letras de servicio protección luz 30. 360 ha sido dado de baja, que es lo que yo le he dicho a su compañera porque el otro día como hice el cambio de tarifa, pues el compañero no me dio eso. ¿Yo para qué quiero eso? Eso de protección luz, yo soy electricista, entonces lo que quiero saber es que eso sigue el contrato activo con la tarifa y todo eso, sí puedo informarme sobre eso.", + "start_time": 8.56, + "end_time": 73.77, + "confidence": 0.9217858, + "duration_sec": 65.21, + "word_count": 169 + }, + { + "speaker": "A", + "text": "Bueno Manuel, en este caso la tarifa si está actualizada, la tarifa libre y ya no tienes el mantenimiento estaba de baja.", + "start_time": 75.05, + "end_time": 84.19, + "confidence": 0.91249776, + "duration_sec": 9.14, + "word_count": 22 + }, + { + "speaker": "B", + "text": "Claro, el mantenimiento ese es que a mí el compañero no me dijo nada. Yo a mirar el contrato digo esto para qué quiero yo esto 260. 270. Pero que todo sigue lo mismo, es decir, la tarifa libre que yo ahora he contratado. Si puede usted decirme, porque yo es que no me fío mucho de. Con el compañero que estuvo yo hablando me hizo el otro día esto, decirme qué precio tiene tanto la energía como la potencia.", + "start_time": 84.67, + "end_time": 111.69, + "confidence": 0.92515343, + "duration_sec": 27.019999999999996, + "word_count": 80 + }, + { + "speaker": "A", + "text": "Claro, momento, por supuesto. Permítame un momento. Bueno, por contestar la tarifa libre para esta fecha actualmente el kilovatio está a 0,1373 céntimos.", + "start_time": 112.17, + "end_time": 127.93, + "confidence": 0.91858345, + "duration_sec": 15.760000000000005, + "word_count": 23 + }, + { + "speaker": "B", + "text": "0,1373 y determina.", + "start_time": 128.97, + "end_time": 132.65, + "confidence": 0.7632014, + "duration_sec": 3.680000000000007, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Puntaillano y Valle son iguales, Son las mismas zona 2 euros con 711 céntimos al mes, o sea.", + "start_time": 135.42, + "end_time": 145.1, + "confidence": 0.9413719, + "duration_sec": 9.680000000000007, + "word_count": 18 + }, + { + "speaker": "B", + "text": "Que al mes sería, haciendo ya la cuenta total en Euros, ¿Cuánto serían?", + "start_time": 145.1, + "end_time": 150.14, + "confidence": 0.92963743, + "duration_sec": 5.039999999999992, + "word_count": 13 + }, + { + "speaker": "A", + "text": "2,711 euros al mes. Eso es la potencia tampoco, ¿No? Si, es la potencia en euros al mes. ¿Tenga en cuenta que eso es en base al consumo que se le facturaría la potencia, no?", + "start_time": 152.54, + "end_time": 168.48, + "confidence": 0.930274, + "duration_sec": 15.939999999999998, + "word_count": 35 + }, + { + "speaker": "B", + "text": "Ya sé, alguna vez viene 30 días, otra vez 32. ¿Pero es decir que en 30 días aproximadamente la potencia, es decir, lo que yo voy a pagar de potencia es 2 coma qué me ha dicho usted?", + "start_time": 168.48, + "end_time": 178.92, + "confidence": 0.9195185, + "duration_sec": 10.439999999999998, + "word_count": 38 + }, + { + "speaker": "A", + "text": "2,711 o sea, 3 euros. No es la potencia que tiene registrada actualmente. Aunque si lo pasamos a días, pues esa conversión que le hice está en meses. Si la pasamos a días, término de potencia en punta y llano. En punta y llano sería de 0,08912 tanto para punta, llano y en valle.", + "start_time": 178.92, + "end_time": 206.05, + "confidence": 0.9305699, + "duration_sec": 27.130000000000024, + "word_count": 54 + }, + { + "speaker": "B", + "text": "O sea que el cómputo lo va en 30 días. Yo sé que si facturan más o menos, facturan menos, viene algo más, pero bueno. Es decir que en 30 días yo voy a pagar 3 euros. Qué cosa más rara, ¿No?", + "start_time": 207.09, + "end_time": 218.14, + "confidence": 0.94320095, + "duration_sec": 11.049999999999983, + "word_count": 42 + }, + { + "speaker": "A", + "text": "Ya le voy a hacer el cálculo. Exactamente. Mira, término de potencia se multiplica en base a los días que se le han facturado, ¿Vale? Sí.", + "start_time": 218.22, + "end_time": 227.939, + "confidence": 0.93352616, + "duration_sec": 9.718999999999994, + "word_count": 26 + }, + { + "speaker": "B", + "text": "Ya.", + "start_time": 227.939, + "end_time": 228.22, + "confidence": 0.9926758, + "duration_sec": 0.2810000000000059, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Entonces, en este caso, digamos que su periodo de facturación es mensual, son 30 días de consumo, ¿Cierto? En este caso se multiplican por el precio del kilovatio en días. Claro, Exactamente.", + "start_time": 228.86, + "end_time": 248.43, + "confidence": 0.95447665, + "duration_sec": 19.569999999999993, + "word_count": 32 + }, + { + "speaker": "B", + "text": "Yo sé hacerlo, pero no me acuerdo bien cómo se hace.", + "start_time": 249.31, + "end_time": 254.35, + "confidence": 0.9602495, + "duration_sec": 5.039999999999992, + "word_count": 11 + }, + { + "speaker": "A", + "text": "Muy bien, yo le confirmo. Un momento. Gracias por su permanencia en línea. En término de potencia y punte llano, más o menos. Eso se multiplica directamente la potencia que tiene contrata, que en este caso es de 2.2, y se multiplica también por el importe de la potencia, que en este caso sería 0,08 y se multiplica por todos los días facturados. Entonces iría de la siguiente manera. Sería 2.2. 2.200 kilovatios por, en este caso el precio de la potencia que acordamos que sería de 0,08912. Correcto.", + "start_time": 254.83, + "end_time": 408.91, + "confidence": 0.9413956, + "duration_sec": 154.08, + "word_count": 89 + }, + { + "speaker": "B", + "text": "0,0892. Y ahora la otra.", + "start_time": 410.11, + "end_time": 415.79, + "confidence": 0.929703, + "duration_sec": 5.680000000000007, + "word_count": 5 + }, + { + "speaker": "A", + "text": "No, eso después se multiplica por los días totales facturados. Entonces aproximamos, digamos que son 30 días.", + "start_time": 417.79, + "end_time": 423.38, + "confidence": 0.94837624, + "duration_sec": 5.589999999999975, + "word_count": 17 + }, + { + "speaker": "B", + "text": "Sí, vamos a poner 30 días.", + "start_time": 423.78, + "end_time": 425.7, + "confidence": 0.9280049, + "duration_sec": 1.920000000000016, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Exactamente. Aproximadamente, con todas las cuentas hechas. Si. Son 30 días de consumo y con la potencia que tiene contratada y más el precio de la potencia, se le facturaría en punta y llano. 5. Únicamente en punta llano. 5 euros con 88 céntimos. En este caso también teniendo en cuenta la de valle, se sumarían las dos. Entonces multiplicamos eso por dos, nos daría que la potencia aproximadamente se le cobraría 11 euros con 76 céntimos.", + "start_time": 429.54, + "end_time": 501.76, + "confidence": 0.92779, + "duration_sec": 72.21999999999997, + "word_count": 77 + }, + { + "speaker": "B", + "text": "11 euros con 76.", + "start_time": 502.56, + "end_time": 504.56, + "confidence": 0.9126536, + "duration_sec": 2.0, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Con 76. Sí. Y es lo que usted ha pagado en la última factura. Por ejemplo, en la factura. La última factura que le llegó, que fue del. 6 de septiembre al 8 de octubre, que fue de 32 días. Usted por potencia realizó, se le cobró únicamente euros con 98.", + "start_time": 504.8, + "end_time": 529.01, + "confidence": 0.9343443, + "duration_sec": 24.20999999999998, + "word_count": 51 + }, + { + "speaker": "B", + "text": "Si, eso es lo que yo suelo ir pagando todos los meses, más o menos nueve, diez euros, depende de los días facturados. Entonces el precio del kilovatio es que llama varias veces, unos compañeros me dicen que a cero, doce, otro compañero me dijo que a. Y ahora es.", + "start_time": 529.73, + "end_time": 547.89, + "confidence": 0.9472098, + "duration_sec": 18.159999999999968, + "word_count": 50 + }, + { + "speaker": "A", + "text": "Lo que pasa es que es sin el servicio de mantenimiento. Me dice usted que el mantenimiento no lo solicitó.", + "start_time": 549.89, + "end_time": 557.09, + "confidence": 0.95344645, + "duration_sec": 7.2000000000000455, + "word_count": 20 + }, + { + "speaker": "B", + "text": "No, no, mantenimiento lo tengo quitado, Claro.", + "start_time": 557.68, + "end_time": 560.32, + "confidence": 0.94989306, + "duration_sec": 2.6400000000001, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Sí, claro, cuando quitas el mantenimiento, ese mantenimiento venía con un descuento del 3%. Un 3% de descuento en este caso, en vista que se retira el mantenimiento.", + "start_time": 560.32, + "end_time": 572.48, + "confidence": 0.94030774, + "duration_sec": 12.159999999999968, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Que me da de baja.", + "start_time": 572.8, + "end_time": 573.92, + "confidence": 0.8851888, + "duration_sec": 1.1200000000000045, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Si, se da de baja, Claro, cuando se da de baja en el mantenimiento, tampoco. También se retira el descuento que venía relacionado con este, que es del 3%. Entonces el descuento que tenía anteriormente con el descuento del mantenimiento, el kilovatio estaría a 0,1332 y.", + "start_time": 574.24, + "end_time": 595.23, + "confidence": 0.91473, + "duration_sec": 20.99000000000001, + "word_count": 46 + }, + { + "speaker": "B", + "text": "Ahora está a 0,1373. Correcto. Vale. Bueno, pues ya más o menos sé yo que sí, que la potencia de pagar más baja, como antes ha dicho usted. Si, yo sale la cuenta esa, pero no me acuerdo. Yo lo único que necesito saber 2,2 por 0,089 por 30 días y lo que salen 10 euros más o menos. Ahora lo haré Yo lo que quería verificar es que yo sigo, porque aquí yo me he metido antes en la aplicación. Yo tengo la tarifa de hace tres o cuatro días, tarifa libre, que eso sigue activo. Yo lo único que me he dado de baja es el mantenimiento. Este servicio de protección de luz, no sé qué.", + "start_time": 597.31, + "end_time": 639.91, + "confidence": 0.9401678, + "duration_sec": 42.60000000000002, + "word_count": 118 + }, + { + "speaker": "A", + "text": "Sí, le confirmo. El servicio está activo. Sí, Manuel, el servicio está activo. Lo único que se llevó fue el mantenimiento.", + "start_time": 640.06, + "end_time": 646.22, + "confidence": 0.94147986, + "duration_sec": 6.160000000000082, + "word_count": 21 + }, + { + "speaker": "B", + "text": "¿Pero bueno, entonces lo que yo me he dado de baja entra de qué?", + "start_time": 648.22, + "end_time": 650.94, + "confidence": 0.9217413, + "duration_sec": 2.7200000000000273, + "word_count": 14 + }, + { + "speaker": "A", + "text": "¿Del mantenimiento? Sí, creo que sí. El mantenimiento se baja hoy a las 2 de la tarde, bueno, 3 de la tarde más o menos, ya se ha retirado. ¿Me sigue? Si.", + "start_time": 651.1, + "end_time": 666.63, + "confidence": 0.9402621, + "duration_sec": 15.529999999999973, + "word_count": 32 + }, + { + "speaker": "B", + "text": "Es que en el correo electrónico que me ha mandado la muchacha, su compañera me dice tu contrato, Taiw, del servicio protección luz 360 es lo mismo que mantenimiento. Así que yo ahora lo único que tengo es, como siempre, el kilovatio a 0.14 más o menos y la potencia a unos 10 euros, que ahora calcularé yo el tema. Y ya no quiero yo más nada, porque es que el compañero. Ves que me lo metió de matute el otro día. Mier. A mí no me comentó nada de sí tiene usted el kilovatio a tal precio y la potencia tanto. Pero no me dijo que metió esto del mantenimiento. ¿Para que el mantenimiento? Yo soy electricista. Mantenimiento.", + "start_time": 666.63, + "end_time": 710.52, + "confidence": 0.9362714, + "duration_sec": 43.889999999999986, + "word_count": 119 + }, + { + "speaker": "A", + "text": "Sí.", + "start_time": 711.08, + "end_time": 711.52, + "confidence": 0.9736328, + "duration_sec": 0.4399999999999409, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Pues ya está.", + "start_time": 711.52, + "end_time": 712.2, + "confidence": 0.98413086, + "duration_sec": 0.6800000000000637, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Ya.", + "start_time": 712.28, + "end_time": 712.6, + "confidence": 0.9819336, + "duration_sec": 0.32000000000005, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Ahora como en los próximos días emitirán la factura con unos cuantos días de esa nueva tarifa. Ya veré yo. Bueno, ya veré yo. La media ya va a ser un coñazo, pero bueno, o si no para la siguiente. Ya veré yo que lo que me ha disfrutado ya está. Es que cada vez que llamo me dicen una cosa diferente.", + "start_time": 712.6, + "end_time": 730.73, + "confidence": 0.92929834, + "duration_sec": 18.129999999999995, + "word_count": 62 + }, + { + "speaker": "A", + "text": "Sí, claro, entiendo su confusión, Manuel, pero. Ya.", + "start_time": 731.37, + "end_time": 733.69, + "confidence": 0.9055176, + "duration_sec": 2.32000000000005, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Una confusión total, vamos.", + "start_time": 734.25, + "end_time": 735.69, + "confidence": 0.96602374, + "duration_sec": 1.4400000000000546, + "word_count": 4 + }, + { + "speaker": "A", + "text": "Sí, pero ya hemos aclarado todo. Cierto. Ya.", + "start_time": 736.09, + "end_time": 738.49, + "confidence": 0.91744995, + "duration_sec": 2.3999999999999773, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Espero yo que ya si llamo otro día no vaya a haber ningún cambio. Es decir, 0. 3.73 el kilovatio.", + "start_time": 741.13, + "end_time": 748.65, + "confidence": 0.9596089, + "duration_sec": 7.519999999999982, + "word_count": 20 + }, + { + "speaker": "A", + "text": "Sí señor.", + "start_time": 748.65, + "end_time": 749.41, + "confidence": 0.9798991, + "duration_sec": 0.7599999999999909, + "word_count": 2 + }, + { + "speaker": "B", + "text": "Y potencia unos 10 euros. Ya que eso se queda así. Pues yo seguiré. Ah, y que no tengo permanencia.", + "start_time": 749.41, + "end_time": 756.33, + "confidence": 0.9104492, + "duration_sec": 6.920000000000073, + "word_count": 20 + }, + { + "speaker": "A", + "text": "Correcto, no tiene permanencia.", + "start_time": 756.65, + "end_time": 758.33, + "confidence": 0.9920247, + "duration_sec": 1.6800000000000637, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Vale, ya está. Pues ya está. ¿Usted no podría mandar un correo? Ya, yo no creo usted que pase eso. Un correo electrónico con esto que me ha dicho. El precio de eso no se puede.", + "start_time": 758.81, + "end_time": 773.01, + "confidence": 0.9431297, + "duration_sec": 14.200000000000045, + "word_count": 36 + }, + { + "speaker": "A", + "text": "Hacer, No, Pero sí, claro, la copia del contrato. El contrato que firmó. Ahí están las especificaciones de la tarifa. Ya.", + "start_time": 773.01, + "end_time": 780.01, + "confidence": 0.9628228, + "duration_sec": 7.0, + "word_count": 21 + }, + { + "speaker": "B", + "text": "Lo que pasa que es que yo no miro ahora. Yo supongo que el contrato el otro día lo leí, pero como ahora se ha anulado eso, yo no sé ahora sí estará el contrato cambiar Ni lo he leído, la verdad. No lo leí.", + "start_time": 780.01, + "end_time": 790.97, + "confidence": 0.91113734, + "duration_sec": 10.960000000000036, + "word_count": 45 + }, + { + "speaker": "A", + "text": "¿Pero que vendrá ahí? Sí, claro, ahí está la tarifa, el que lo batí, el nombre de la tarifa y el precio, el que lo abatió.", + "start_time": 790.97, + "end_time": 798.09, + "confidence": 0.9194555, + "duration_sec": 7.1200000000000045, + "word_count": 26 + }, + { + "speaker": "B", + "text": "El otro día me hinché de Milano y no lo ve por ningún lado. Pero vamos, eso será fallo mío, como son las letras tan chicas. Pero ya está. Si usted me verifica esto, esos precios de potencia tanto como de energía, pues ya está. Y yo ya espero a la siguiente factura. Si veo que hay algo anómalo, pues lo llamo otra vez y ya está. A darle la lata a mí.", + "start_time": 800.06, + "end_time": 822.06, + "confidence": 0.95066077, + "duration_sec": 22.0, + "word_count": 73 + }, + { + "speaker": "A", + "text": "Claro que sí, Manuel, no se preocupe. Pues muy bien.", + "start_time": 823.26, + "end_time": 827.37, + "confidence": 0.9636108, + "duration_sec": 4.110000000000014, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Pues ya está. No le entretengo más y muchísimas gracias.", + "start_time": 827.37, + "end_time": 830.45, + "confidence": 0.86502683, + "duration_sec": 3.080000000000041, + "word_count": 10 + }, + { + "speaker": "A", + "text": "Con mucho gusto, Manuel. Que tenga una excelente noche. Que esté muy bien. Hasta luego.", + "start_time": 830.45, + "end_time": 833.89, + "confidence": 0.96051216, + "duration_sec": 3.439999999999941, + "word_count": 15 + }, + { + "speaker": "B", + "text": "Igualmente. Hasta luego.", + "start_time": 834.37, + "end_time": 835.57, + "confidence": 0.96191406, + "duration_sec": 1.2000000000000455, + "word_count": 3 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 837.0, + "audio_file": "10122025_0082038C3CFBF99B.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "c4af2941-10a8-461e-bff0-11e876cb15b2", + "model_version": null, + "created_at": "2026-01-19T13:39:11.875777", + "processing_time_sec": 24.303308, + "overall_confidence": 0.9332993, + "speaker_count": 2 + }, + "full_text": "Buenas noches, bienvenido Andrés Energía hablar con Daniel que le puede ayudar. Hola, muy buenas. Mire que hoy he estado hablando con una compañera suya para que en mi contrato que hice una nueva tarifa el martes, creo que fue este martes pasado y entonces le dije, me mando un correo electrónico para que esto esté certificado para que me quitaran el servicio de protección Luz 360. Pero digo yo que el contrato sigue lo mismo, nada más que yo me he quitado de eso. Sí en el correo por la fecha del side el 11 del 25 tu contrato número no se ve unas cuantas letras de servicio protección luz 30. 360 ha sido dado de baja, que es lo que yo le he dicho a su compañera porque el otro día como hice el cambio de tarifa, pues el compañero no me dio eso. ¿Yo para qué quiero eso? Eso de protección luz, yo soy electricista, entonces lo que quiero saber es que eso sigue el contrato activo con la tarifa y todo eso, sí puedo informarme sobre eso. Bueno Manuel, en este caso la tarifa si está actualizada, la tarifa libre y ya no tienes el mantenimiento estaba de baja. Claro, el mantenimiento ese es que a mí el compañero no me dijo nada. Yo a mirar el contrato digo esto para qué quiero yo esto 260. 270. Pero que todo sigue lo mismo, es decir, la tarifa libre que yo ahora he contratado. Si puede usted decirme, porque yo es que no me fío mucho de. Con el compañero que estuvo yo hablando me hizo el otro día esto, decirme qué precio tiene tanto la energía como la potencia. Claro, momento, por supuesto. Permítame un momento. Bueno, por contestar la tarifa libre para esta fecha actualmente el kilovatio está a 0,1373 céntimos. 0,1373 y determina. Puntaillano y Valle son iguales, Son las mismas zona 2 euros con 711 céntimos al mes, o sea. Que al mes sería, haciendo ya la cuenta total en Euros, ¿Cuánto serían? 2,711 euros al mes. Eso es la potencia tampoco, ¿No? Si, es la potencia en euros al mes. ¿Tenga en cuenta que eso es en base al consumo que se le facturaría la potencia, no? Ya sé, alguna vez viene 30 días, otra vez 32. ¿Pero es decir que en 30 días aproximadamente la potencia, es decir, lo que yo voy a pagar de potencia es 2 coma qué me ha dicho usted? 2,711 o sea, 3 euros. No es la potencia que tiene registrada actualmente. Aunque si lo pasamos a días, pues esa conversión que le hice está en meses. Si la pasamos a días, término de potencia en punta y llano. En punta y llano sería de 0,08912 tanto para punta, llano y en valle. O sea que el cómputo lo va en 30 días. Yo sé que si facturan más o menos, facturan menos, viene algo más, pero bueno. Es decir que en 30 días yo voy a pagar 3 euros. Qué cosa más rara, ¿No? Ya le voy a hacer el cálculo. Exactamente. Mira, término de potencia se multiplica en base a los días que se le han facturado, ¿Vale? Sí. Ya. Entonces, en este caso, digamos que su periodo de facturación es mensual, son 30 días de consumo, ¿Cierto? En este caso se multiplican por el precio del kilovatio en días. Claro, Exactamente. Yo sé hacerlo, pero no me acuerdo bien cómo se hace. Muy bien, yo le confirmo. Un momento. Gracias por su permanencia en línea. En término de potencia y punte llano, más o menos. Eso se multiplica directamente la potencia que tiene contrata, que en este caso es de 2.2, y se multiplica también por el importe de la potencia, que en este caso sería 0,08 y se multiplica por todos los días facturados. Entonces iría de la siguiente manera. Sería 2.2. 2.200 kilovatios por, en este caso el precio de la potencia que acordamos que sería de 0,08912. Correcto. 0,0892. Y ahora la otra. No, eso después se multiplica por los días totales facturados. Entonces aproximamos, digamos que son 30 días. Sí, vamos a poner 30 días. Exactamente. Aproximadamente, con todas las cuentas hechas. Si. Son 30 días de consumo y con la potencia que tiene contratada y más el precio de la potencia, se le facturaría en punta y llano. 5. Únicamente en punta llano. 5 euros con 88 céntimos. En este caso también teniendo en cuenta la de valle, se sumarían las dos. Entonces multiplicamos eso por dos, nos daría que la potencia aproximadamente se le cobraría 11 euros con 76 céntimos. 11 euros con 76. Con 76. Sí. Y es lo que usted ha pagado en la última factura. Por ejemplo, en la factura. La última factura que le llegó, que fue del. 6 de septiembre al 8 de octubre, que fue de 32 días. Usted por potencia realizó, se le cobró únicamente euros con 98. Si, eso es lo que yo suelo ir pagando todos los meses, más o menos nueve, diez euros, depende de los días facturados. Entonces el precio del kilovatio es que llama varias veces, unos compañeros me dicen que a cero, doce, otro compañero me dijo que a. Y ahora es. Lo que pasa es que es sin el servicio de mantenimiento. Me dice usted que el mantenimiento no lo solicitó. No, no, mantenimiento lo tengo quitado, Claro. Sí, claro, cuando quitas el mantenimiento, ese mantenimiento venía con un descuento del 3%. Un 3% de descuento en este caso, en vista que se retira el mantenimiento. Que me da de baja. Si, se da de baja, Claro, cuando se da de baja en el mantenimiento, tampoco. También se retira el descuento que venía relacionado con este, que es del 3%. Entonces el descuento que tenía anteriormente con el descuento del mantenimiento, el kilovatio estaría a 0,1332 y. Ahora está a 0,1373. Correcto. Vale. Bueno, pues ya más o menos sé yo que sí, que la potencia de pagar más baja, como antes ha dicho usted. Si, yo sale la cuenta esa, pero no me acuerdo. Yo lo único que necesito saber 2,2 por 0,089 por 30 días y lo que salen 10 euros más o menos. Ahora lo haré Yo lo que quería verificar es que yo sigo, porque aquí yo me he metido antes en la aplicación. Yo tengo la tarifa de hace tres o cuatro días, tarifa libre, que eso sigue activo. Yo lo único que me he dado de baja es el mantenimiento. Este servicio de protección de luz, no sé qué. Sí, le confirmo. El servicio está activo. Sí, Manuel, el servicio está activo. Lo único que se llevó fue el mantenimiento. ¿Pero bueno, entonces lo que yo me he dado de baja entra de qué? ¿Del mantenimiento? Sí, creo que sí. El mantenimiento se baja hoy a las 2 de la tarde, bueno, 3 de la tarde más o menos, ya se ha retirado. ¿Me sigue? Si. Es que en el correo electrónico que me ha mandado la muchacha, su compañera me dice tu contrato, Taiw, del servicio protección luz 360 es lo mismo que mantenimiento. Así que yo ahora lo único que tengo es, como siempre, el kilovatio a 0.14 más o menos y la potencia a unos 10 euros, que ahora calcularé yo el tema. Y ya no quiero yo más nada, porque es que el compañero. Ves que me lo metió de matute el otro día. Mier. A mí no me comentó nada de sí tiene usted el kilovatio a tal precio y la potencia tanto. Pero no me dijo que metió esto del mantenimiento. ¿Para que el mantenimiento? Yo soy electricista. Mantenimiento. Sí. Pues ya está. Ya. Ahora como en los próximos días emitirán la factura con unos cuantos días de esa nueva tarifa. Ya veré yo. Bueno, ya veré yo. La media ya va a ser un coñazo, pero bueno, o si no para la siguiente. Ya veré yo que lo que me ha disfrutado ya está. Es que cada vez que llamo me dicen una cosa diferente. Sí, claro, entiendo su confusión, Manuel, pero. Ya. Una confusión total, vamos. Sí, pero ya hemos aclarado todo. Cierto. Ya. Espero yo que ya si llamo otro día no vaya a haber ningún cambio. Es decir, 0. 3.73 el kilovatio. Sí señor. Y potencia unos 10 euros. Ya que eso se queda así. Pues yo seguiré. Ah, y que no tengo permanencia. Correcto, no tiene permanencia. Vale, ya está. Pues ya está. ¿Usted no podría mandar un correo? Ya, yo no creo usted que pase eso. Un correo electrónico con esto que me ha dicho. El precio de eso no se puede. Hacer, No, Pero sí, claro, la copia del contrato. El contrato que firmó. Ahí están las especificaciones de la tarifa. Ya. Lo que pasa que es que yo no miro ahora. Yo supongo que el contrato el otro día lo leí, pero como ahora se ha anulado eso, yo no sé ahora sí estará el contrato cambiar Ni lo he leído, la verdad. No lo leí. ¿Pero que vendrá ahí? Sí, claro, ahí está la tarifa, el que lo batí, el nombre de la tarifa y el precio, el que lo abatió. El otro día me hinché de Milano y no lo ve por ningún lado. Pero vamos, eso será fallo mío, como son las letras tan chicas. Pero ya está. Si usted me verifica esto, esos precios de potencia tanto como de energía, pues ya está. Y yo ya espero a la siguiente factura. Si veo que hay algo anómalo, pues lo llamo otra vez y ya está. A darle la lata a mí. Claro que sí, Manuel, no se preocupe. Pues muy bien. Pues ya está. No le entretengo más y muchísimas gracias. Con mucho gusto, Manuel. Que tenga una excelente noche. Que esté muy bien. Hasta luego. Igualmente. Hasta luego.", + "total_turns": 54, + "total_words": 1660 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBF9A4.json b/data/production/test-07/transcripts/10122025_0082038C3CFBF9A4.json new file mode 100644 index 0000000..a955a48 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBF9A4.json @@ -0,0 +1,21 @@ +{ + "call_id": "10122025_0082038C3CFBF9A4", + "turns": [], + "words": null, + "metadata": { + "audio_duration_sec": 3.0, + "audio_file": "10122025_0082038C3CFBF9A4.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "988d0056-56c7-486a-8c4a-8f48b6e35e8c", + "model_version": null, + "created_at": "2026-01-19T13:38:52.026552", + "processing_time_sec": 4.136865, + "overall_confidence": 0.0, + "speaker_count": null + }, + "full_text": "", + "total_turns": 0, + "total_words": 0 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBFA33.json b/data/production/test-07/transcripts/10122025_0082038C3CFBFA33.json new file mode 100644 index 0000000..3bc836a --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBFA33.json @@ -0,0 +1,616 @@ +{ + "call_id": "10122025_0082038C3CFBFA33", + "turns": [ + { + "speaker": "A", + "text": "Hola, buenas noches. Yo soy Sebastián Ruiz. Veo que tu solicitud ingresa por un tema de factura.", + "start_time": 10.16, + "end_time": 14.88, + "confidence": 0.9502934, + "duration_sec": 4.720000000000001, + "word_count": 17 + }, + { + "speaker": "B", + "text": "Sí, hola, buenas noches. 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 sin que me hayan avisado. Iba a cambiar la tarifa.", + "start_time": 15.919, + "end_time": 38.92, + "confidence": 0.94544023, + "duration_sec": 23.001, + "word_count": 39 + }, + { + "speaker": "A", + "text": "¿Eres tú, María? ¿Remedios? ¿Eres tú, maría? Remedios Vale, María Remedios, verificando nuestra base de datos veo que tú tienes dos contratos activos actualmente con nosotros, ¿Correcto? Me imagino que lo que tú buscas, al igual que yo, porque también soy cliente, es tener un precio estable mes a mes y que pues normalmente no cambia. En este momento te voy a comentar por qué cambió el precio, ¿Vale? Eso te cambió en un suministro. ¿Por qué? Porque ese suministro te dimos el año pasado te dimos una serie de descuentos, dos descuentos que. Que te duraban un año. Esos descuentos ya finalizaron, por eso es que te ha incrementado el precio.", + "start_time": 39.4, + "end_time": 84.73, + "confidence": 0.9483199, + "duration_sec": 45.330000000000005, + "word_count": 112 + }, + { + "speaker": "B", + "text": "Ahora finalizaron en la factura de era hasta el 29 de junio, creo, hace cuatro meses. Desde hace cuatro meses yo ya estaba pagando a 0.12 y ahora en esta última factura me ha venido.", + "start_time": 85.37, + "end_time": 99.61, + "confidence": 0.9453172, + "duration_sec": 14.239999999999995, + "word_count": 35 + }, + { + "speaker": "A", + "text": "Te lo mantuvimos. Te lo mantuvimos un poco más de tiempo porque pues lo que nos interesa es toda estabilidad. Pero te lo pudimos mantener cuatro meses más, pero ya no lo pudimos mantener por más tiempo. María, te pido mis más sinceras disculpas. Lo que puedo hacer es hacer un cambio de tarifa, ¿Vale? Para que retome nuevamente un precio económico.", + "start_time": 99.93, + "end_time": 118.42, + "confidence": 0.95318365, + "duration_sec": 18.489999999999995, + "word_count": 62 + }, + { + "speaker": "B", + "text": "Claro, es que yo necesito bajarlo eso sí o sí. Si vosotros no otra tarifa más inferior, pues ya llamaré a otro.", + "start_time": 119.54, + "end_time": 127.54, + "confidence": 0.95064473, + "duration_sec": 8.0, + "word_count": 22 + }, + { + "speaker": "A", + "text": "Si yo te logro conseguir un descuento, ¿Tú te quedarías con Endes el día de hoy?", + "start_time": 127.54, + "end_time": 132.26, + "confidence": 0.9723918, + "duration_sec": 4.719999999999985, + "word_count": 16 + }, + { + "speaker": "B", + "text": "Pues no sé, porque ya barajo también mirar otras compañías a ver si otras me pueden ofrecer algo más económico.", + "start_time": 133.44, + "end_time": 141.36, + "confidence": 0.95916545, + "duration_sec": 7.920000000000016, + "word_count": 20 + }, + { + "speaker": "A", + "text": "Claro, tú puedes verificar con cualquier otra compañía el precio sin ningún problema, ¿Vale? Pero quiero que sepas que Endesa es líder en energía por más de 80 años con nosotros tienes la tranquilidad, el respaldo y la seguridad que necesitas a pesar de que sí tenemos actualmente un precio. ¿Que cambió, Sra? ¿Maria, y que le cambia a todas las personas que pues pierden los descuentos? Es completamente normal perder los descuentos, María, porque te los habilitamos por un año. Y yo te felicito por llamarnos.", + "start_time": 141.68, + "end_time": 172.28, + "confidence": 0.961852, + "duration_sec": 30.599999999999994, + "word_count": 87 + }, + { + "speaker": "B", + "text": "Yo sé que me iban a. Cuando cambiaron, llamé para ver si podía haber otra tarifa más económica o lo que sea. Me dijeron que no, que la más baja era la de 12 céntimos, la que tú tenías.", + "start_time": 173.08, + "end_time": 185.36, + "confidence": 0.9593736, + "duration_sec": 12.280000000000001, + "word_count": 39 + }, + { + "speaker": "A", + "text": "Claro. Y te mantuvimos esa por cuatro meses más, María. Cuando no, el descuento se finalizaba en el mes de junio, pero te lo mantuvimos por más tiempo.", + "start_time": 185.36, + "end_time": 195.36, + "confidence": 0.9736043, + "duration_sec": 10.0, + "word_count": 28 + }, + { + "speaker": "B", + "text": "Ya, pero me tienen que llamar y decir mira que ahora vamos a cambiar el precio a esto. María Por seguridad ya decido si quiero seguir o no.", + "start_time": 196.0, + "end_time": 206.0, + "confidence": 0.9536714, + "duration_sec": 10.0, + "word_count": 28 + }, + { + "speaker": "A", + "text": "María Por seguridad unos céntimos, pero que.", + "start_time": 206.4, + "end_time": 209.08, + "confidence": 0.9528169, + "duration_sec": 2.680000000000007, + "word_count": 7 + }, + { + "speaker": "B", + "text": "No me gustan estas cosas.", + "start_time": 209.08, + "end_time": 210.12, + "confidence": 0.9835287, + "duration_sec": 1.039999999999992, + "word_count": 5 + }, + { + "speaker": "A", + "text": "Ya está claro, María, A mí tampoco me gustan esas cosas. Por eso cuando usted renovó en el año 2024, le dijeron que los descuentos duraban un año 12 meses.", + "start_time": 210.12, + "end_time": 220.01, + "confidence": 0.97303987, + "duration_sec": 9.889999999999986, + "word_count": 30 + }, + { + "speaker": "B", + "text": "Ya digo que yo. Terminaron los descuentos, llamé por teléfono para ver si había otra tarifa más económica que me viniera bien. Entonces me dijeron que ya la que había era la de 12 céntimos, que era la tarifa de Toulouse. Que 12 céntimos. Digo, bueno, pues vamos a seguir. Pero a mí no me llaman para decirme mira que ahora en vez de a 12 son aquí.", + "start_time": 221.53, + "end_time": 245.65, + "confidence": 0.95533556, + "duration_sec": 24.120000000000005, + "word_count": 68 + }, + { + "speaker": "A", + "text": "María.", + "start_time": 245.65, + "end_time": 246.09, + "confidence": 0.7915039, + "duration_sec": 0.4399999999999977, + "word_count": 1 + }, + { + "speaker": "B", + "text": "Si ¿Me escucha?", + "start_time": 247.01, + "end_time": 248.21, + "confidence": 0.90652126, + "duration_sec": 1.200000000000017, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Sí, María, la escucho. María, a usted no la llamamos porque usted. Si yo la llamo de primera instancia, ¿Usted me creería que yo soy de Endesa? Sí, de primeras, si yo la llamo y hola, buenas noches, María, soy de Endesa. ¿Usted me cree?", + "start_time": 248.21, + "end_time": 259.57, + "confidence": 0.96349645, + "duration_sec": 11.359999999999985, + "word_count": 45 + }, + { + "speaker": "B", + "text": "Hombre, pues depende si tenemos una conversación, sí.", + "start_time": 260.37, + "end_time": 264.69, + "confidence": 0.7975362, + "duration_sec": 4.319999999999993, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Bueno, María, yo le recomiendo. Yo le recomiendo, cuando usted me dé la oportunidad, yo hablo. Señora María. Vale.", + "start_time": 265.81, + "end_time": 272.65, + "confidence": 0.8990714, + "duration_sec": 6.839999999999975, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Sí, sí, dígame.", + "start_time": 274.32, + "end_time": 275.36, + "confidence": 0.9482829, + "duration_sec": 1.0400000000000205, + "word_count": 3 + }, + { + "speaker": "A", + "text": "Vale. María, yo le recomiendo que no actúe de esa manera, no seas tan confiada, porque así fácilmente la van a engañar. Nosotros de parte de Endesa hemos creado una página porque a nivel nacional, no sé si está enterada de lo que está pasando, a nivel nacional están haciendo muchas llamadas fraudulentas y cambian a los clientes de compañía. Por eso Endesa y ninguna compañía tiene permisos para llamar, más sin embargo hay empresas que llaman. Entonces la recomendación es, si a usted la llaman y le dicen que son de Endesa, verifiquen la página de Endesa. Hay una página que se llama Compruebe quién lo llama. Endesa compruebe quién lo llama. Ahí le pedirán que agregue el número telefónico del cual la están llamando y le enviará un comunicado si es o no es un número autorizado por Endesa. Entonces yo le invito a que no confíes así de primera instancia de que si son o no son de Endesa. Lo primero que se debe hacer es lo que usted hizo, llamar. Eso es lo que se debe de hacer.", + "start_time": 276.32, + "end_time": 331.67, + "confidence": 0.96334195, + "duration_sec": 55.35000000000002, + "word_count": 182 + }, + { + "speaker": "B", + "text": "Si no, si yo soy bastante desconfiada, por eso antes cuando me ha preguntado que si usted me llamase yo confiaría, le he dicho que cuando ya mantuviéramos una conversación, pues yo ya sí le creería a usted. A otra persona a lo mejor no, si no es de Endesa, claro, porque.", + "start_time": 332.31, + "end_time": 350.11, + "confidence": 0.91788685, + "duration_sec": 17.80000000000001, + "word_count": 52 + }, + { + "speaker": "A", + "text": "Por eso no te llamamos de parte de Endesa.", + "start_time": 350.11, + "end_time": 352.09, + "confidence": 0.96934676, + "duration_sec": 1.9799999999999613, + "word_count": 9 + }, + { + "speaker": "B", + "text": "Bueno, entonces a ver qué tarifa puede ofrecerme.", + "start_time": 354.56, + "end_time": 357.76, + "confidence": 0.9909312, + "duration_sec": 3.1999999999999886, + "word_count": 8 + }, + { + "speaker": "A", + "text": "Permíteme un minuto la espera y ya te digo cuál. ¿Vale, María? Bueno, vamos a verificar acá qué promoción te puedo dar para verificarlo aquí desde el sistema, ¿De acuerdo? Vamos a hacerlo en vivo y en directo para que tú seas testificante de lo que te vamos a poder ofertar el día de hoy para los dos suministros, ¿De acuerdo? Porque la promoción va para los dos suministros.", + "start_time": 357.76, + "end_time": 460.04, + "confidence": 0.94338936, + "duration_sec": 102.28000000000003, + "word_count": 69 + }, + { + "speaker": "B", + "text": "Lo que pasa es que el otro suministro he vendido la casa y estoy a la espera de que el nuevo comprador cambie ya su nombre o en fin, que todavía no lo ha cambiado.", + "start_time": 461.24, + "end_time": 476.08, + "confidence": 0.95172524, + "duration_sec": 14.839999999999975, + "word_count": 35 + }, + { + "speaker": "A", + "text": "Pero que entonces confírme la dirección exacta donde quiera hacer el proceso.", + "start_time": 476.08, + "end_time": 480.04, + "confidence": 0.9383443, + "duration_sec": 3.9600000000000364, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Yo quiero cambiar en la que pone GR 3410, kilómetro 4 y medio, los billares 18260 y llora Granada.", + "start_time": 481.19, + "end_time": 491.43, + "confidence": 0.9286649, + "duration_sec": 10.240000000000009, + "word_count": 19 + }, + { + "speaker": "A", + "text": "Vale, María, ya voy a verificar aquí en la base de datos.", + "start_time": 501.11, + "end_time": 503.91, + "confidence": 0.97755265, + "duration_sec": 2.8000000000000114, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Porque una duda que tengo ahora. Si el nuevo, el comprador de la casa, imagínate, contrata con Iberdrola, ¿Automáticamente se da de banca la facturación con Endesa?", + "start_time": 527.76, + "end_time": 546.66, + "confidence": 0.94532543, + "duration_sec": 18.899999999999977, + "word_count": 27 + }, + { + "speaker": "A", + "text": "Perdón, no te entendí en realidad la pregunta exacta que me quieres hacer.", + "start_time": 546.98, + "end_time": 550.34, + "confidence": 0.9866568, + "duration_sec": 3.3600000000000136, + "word_count": 13 + }, + { + "speaker": "B", + "text": "Si el comprador de la casa, el nuevo inquilino de la avenida Andalucía, de la otra factura, si él contratase con otra compañía, vamos a poner Iberdrola, por ejemplo, ¿Automáticamente se da de baja este contrato con Endesa o tengo yo que llamar para darlo de baja?", + "start_time": 551.62, + "end_time": 573.99, + "confidence": 0.92698115, + "duration_sec": 22.370000000000005, + "word_count": 47 + }, + { + "speaker": "A", + "text": "Entiendo, María. No, pues ahí ya sería directamente aplicar la serie beneficios que tenemos para ti sobre ese suministro.", + "start_time": 578.87, + "end_time": 587.04, + "confidence": 0.94871545, + "duration_sec": 8.169999999999959, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Perdone, es que Yo creo que ¿Se ha cortado algo? No, le he escuchado la mitad de la conversación. ¿Me ha escuchado mi pregunta?", + "start_time": 589.2, + "end_time": 596.88, + "confidence": 0.948878, + "duration_sec": 7.67999999999995, + "word_count": 24 + }, + { + "speaker": "A", + "text": "Sí, sobre la factura.", + "start_time": 597.76, + "end_time": 598.96, + "confidence": 0.95528156, + "duration_sec": 1.2000000000000455, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Estoy preguntando si yo ya he vendido la otra casa. Vale. Yo ya le pasé una copia de la factura de Endesa para que tuviese los datos de CUPS y demás, para que ella cambiase la facturación a su nombre.", + "start_time": 600.4, + "end_time": 616.4, + "confidence": 0.9686645, + "duration_sec": 16.0, + "word_count": 40 + }, + { + "speaker": "A", + "text": "Eso tienen que hacerlo la mayor brevedad posible. Permíteme un minuto a la esperanza. Vale. ¿Estás conmigo?", + "start_time": 619.12, + "end_time": 664.74, + "confidence": 0.92254186, + "duration_sec": 45.620000000000005, + "word_count": 17 + }, + { + "speaker": "B", + "text": "Sí.", + "start_time": 665.46, + "end_time": 665.94, + "confidence": 0.8779297, + "duration_sec": 0.4800000000000182, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Vale. Eso tiene que hacerlo esa persona a la cual usted le pasó directamente esa solicitud, porque aquí todavía no registra que hayan hecho ningún cambio.", + "start_time": 666.74, + "end_time": 675.46, + "confidence": 0.96813023, + "duration_sec": 8.720000000000027, + "word_count": 26 + }, + { + "speaker": "B", + "text": "Ya, ya, Si me acaba de venir la factura del último mes. ¿Yo hace como tres semanas, o sí que vendí la casa, pero mi duda era si el comprador contrata con otra compañía, por ejemplo Iberdrola, si automáticamente se da de baja el contrato con Endesa o tengo yo que llamar para darlo de baja?", + "start_time": 676.5, + "end_time": 698.06, + "confidence": 0.9619754, + "duration_sec": 21.559999999999945, + "word_count": 56 + }, + { + "speaker": "A", + "text": "No, tiene que ser el titular quien da de baja, perdón, tiene que ser el nuevo propietario quien hace el cambio de titularidad. Si tú das de baja el contador lo van a retirar.", + "start_time": 698.14, + "end_time": 707.02, + "confidence": 0.9814826, + "duration_sec": 8.879999999999995, + "word_count": 34 + }, + { + "speaker": "B", + "text": "Ya, ya, pero digo que él al contratar con otra compañía directamente se da de baja. Sí, que yo no tengo que hacer nada. Vale, gracias. Darle con él, a ver lo que está.", + "start_time": 708.3, + "end_time": 725.07, + "confidence": 0.95188755, + "duration_sec": 16.770000000000095, + "word_count": 34 + }, + { + "speaker": "A", + "text": "Vale. Te puedo activar de un 5 a un 10% que estaría por definirse sobre tu contrato actual. ¿Estás de acuerdo con eso?", + "start_time": 725.71, + "end_time": 733.47, + "confidence": 0.9447535, + "duration_sec": 7.759999999999991, + "word_count": 23 + }, + { + "speaker": "B", + "text": "No sé si hace un día.", + "start_time": 735.23, + "end_time": 736.95, + "confidence": 0.97249347, + "duration_sec": 1.7200000000000273, + "word_count": 6 + }, + { + "speaker": "A", + "text": "Sí, eso se va a definir en la próxima factura, lo podrás ver. El porcentaje actualmente no me registra. Me registra la variación puede ser de un cinco a un diez.", + "start_time": 736.95, + "end_time": 749.34, + "confidence": 0.97372836, + "duration_sec": 12.389999999999986, + "word_count": 31 + }, + { + "speaker": "B", + "text": "¿Pero con permanencia o sin permanencia?", + "start_time": 750.62, + "end_time": 753.1, + "confidence": 0.96240234, + "duration_sec": 2.480000000000018, + "word_count": 6 + }, + { + "speaker": "A", + "text": "No, sin permanencia. Yo solamente te estoy obsequiando un descuento.", + "start_time": 753.42, + "end_time": 757.5, + "confidence": 0.9900098, + "duration_sec": 4.080000000000041, + "word_count": 10 + }, + { + "speaker": "B", + "text": "Vale. Que no sé si, como por ejemplo el año pasado me dijeron, te hacemos este descuento, pero te obligamos a tener un año de permanencia. Entonces que si no me dicen exactamente el descuento, no me obligan a tener una permanencia de un año.", + "start_time": 758.3, + "end_time": 771.82, + "confidence": 0.9568793, + "duration_sec": 13.520000000000095, + "word_count": 45 + }, + { + "speaker": "A", + "text": "No es un descuento por permanencia, es un obser. ¿Lo aceptas o no lo aceptas?", + "start_time": 771.9, + "end_time": 777.4, + "confidence": 0.9399848, + "duration_sec": 5.5, + "word_count": 15 + }, + { + "speaker": "B", + "text": "Sí, claro. Bueno, esperaré un mes a ver qué viene. ¿Ya después entonces vuelvo a llamar o no?", + "start_time": 778.44, + "end_time": 784.6, + "confidence": 0.9319345, + "duration_sec": 6.159999999999968, + "word_count": 18 + }, + { + "speaker": "A", + "text": "Vale. Dame un minuto la espera, por favor. Vale. María, sí ya se realizó la solicitud, ya solamente quedaría estar atentos a la próxima factura.", + "start_time": 785.56, + "end_time": 847.9, + "confidence": 0.9063525, + "duration_sec": 62.34000000000003, + "word_count": 25 + }, + { + "speaker": "B", + "text": "Vale, o sea que me vendió el descuento aplicado a 0.15, ¿No?", + "start_time": 848.86, + "end_time": 853.18, + "confidence": 0.9073863, + "duration_sec": 4.319999999999936, + "word_count": 12 + }, + { + "speaker": "A", + "text": "Si, esperemos de que sea el máximo.", + "start_time": 853.72, + "end_time": 855.68, + "confidence": 0.8825742, + "duration_sec": 1.9599999999999227, + "word_count": 7 + }, + { + "speaker": "B", + "text": "De un 10% porque ya el importe, o sea el precio más bajo que tenéis de 0 13 y no me pueden porque 0 15. ¿Cuánto sería un porcentaje de con el.", + "start_time": 855.68, + "end_time": 876.56, + "confidence": 0.95018053, + "duration_sec": 20.879999999999995, + "word_count": 32 + }, + { + "speaker": "A", + "text": "10% descuento te queden.", + "start_time": 876.56, + "end_time": 878.12, + "confidence": 0.8901762, + "duration_sec": 1.5600000000000591, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Eso? ¿Sí me dan el máximo, no?", + "start_time": 881.66, + "end_time": 883.26, + "confidence": 0.9432373, + "duration_sec": 1.6000000000000227, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Si no me llamas, si no me llamas y miramos a ver si hay alguna otra tarifa, porque actualmente no tengo algo mejor para darte. Si lo hubiera, te lo hubiera mencionado.", + "start_time": 885.98, + "end_time": 896.22, + "confidence": 0.96645355, + "duration_sec": 10.240000000000009, + "word_count": 32 + }, + { + "speaker": "B", + "text": "No se puede contratar directamente el.", + "start_time": 896.54, + "end_time": 898.54, + "confidence": 0.9774034, + "duration_sec": 2.0, + "word_count": 6 + }, + { + "speaker": "A", + "text": "No, no con descuento se contrata el.", + "start_time": 899.18, + "end_time": 902.22, + "confidence": 0.91237676, + "duration_sec": 3.0400000000000773, + "word_count": 7 + }, + { + "speaker": "B", + "text": "Vale, bueno, pues ya está. Entonces esperaremos el mes que viene a ver la sorpresita.", + "start_time": 903.98, + "end_time": 907.9, + "confidence": 0.8971164, + "duration_sec": 3.919999999999959, + "word_count": 15 + }, + { + "speaker": "A", + "text": "De acuerdo. ¿Aparte de eso, tienes alguna otra duda, alguna otra pregunta en la cual yo te puedo ayudar?", + "start_time": 908.54, + "end_time": 912.46, + "confidence": 0.96236163, + "duration_sec": 3.9200000000000728, + "word_count": 19 + }, + { + "speaker": "B", + "text": "Nada más, muchas gracias y buenas noches.", + "start_time": 913.02, + "end_time": 915.26, + "confidence": 0.8374721, + "duration_sec": 2.240000000000009, + "word_count": 7 + }, + { + "speaker": "A", + "text": "Igual María, recuerda que por la contratación de un nuevo suministro te podemos habilitar más bonos y más beneficios. Vale, señora María, un excelentísimo día.", + "start_time": 916.54, + "end_time": 928.86, + "confidence": 0.95695966, + "duration_sec": 12.32000000000005, + "word_count": 25 + }, + { + "speaker": "B", + "text": "Venga, igualmente ayuda.", + "start_time": 929.66, + "end_time": 931.18, + "confidence": 0.8246528, + "duration_sec": 1.5199999999999818, + "word_count": 3 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 934.0, + "audio_file": "10122025_0082038C3CFBFA33.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "c7c0b795-8b48-4415-84eb-fd2b9ef85479", + "model_version": null, + "created_at": "2026-01-19T13:39:10.180782", + "processing_time_sec": 21.665551, + "overall_confidence": 0.9509562, + "speaker_count": 2 + }, + "full_text": "Hola, buenas noches. Yo soy Sebastián Ruiz. Veo que tu solicitud ingresa por un tema de factura. Sí, hola, buenas noches. 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 sin que me hayan avisado. Iba a cambiar la tarifa. ¿Eres tú, María? ¿Remedios? ¿Eres tú, maría? Remedios Vale, María Remedios, verificando nuestra base de datos veo que tú tienes dos contratos activos actualmente con nosotros, ¿Correcto? Me imagino que lo que tú buscas, al igual que yo, porque también soy cliente, es tener un precio estable mes a mes y que pues normalmente no cambia. En este momento te voy a comentar por qué cambió el precio, ¿Vale? Eso te cambió en un suministro. ¿Por qué? Porque ese suministro te dimos el año pasado te dimos una serie de descuentos, dos descuentos que. Que te duraban un año. Esos descuentos ya finalizaron, por eso es que te ha incrementado el precio. Ahora finalizaron en la factura de era hasta el 29 de junio, creo, hace cuatro meses. Desde hace cuatro meses yo ya estaba pagando a 0.12 y ahora en esta última factura me ha venido. Te lo mantuvimos. Te lo mantuvimos un poco más de tiempo porque pues lo que nos interesa es toda estabilidad. Pero te lo pudimos mantener cuatro meses más, pero ya no lo pudimos mantener por más tiempo. María, te pido mis más sinceras disculpas. Lo que puedo hacer es hacer un cambio de tarifa, ¿Vale? Para que retome nuevamente un precio económico. Claro, es que yo necesito bajarlo eso sí o sí. Si vosotros no otra tarifa más inferior, pues ya llamaré a otro. Si yo te logro conseguir un descuento, ¿Tú te quedarías con Endes el día de hoy? Pues no sé, porque ya barajo también mirar otras compañías a ver si otras me pueden ofrecer algo más económico. Claro, tú puedes verificar con cualquier otra compañía el precio sin ningún problema, ¿Vale? Pero quiero que sepas que Endesa es líder en energía por más de 80 años con nosotros tienes la tranquilidad, el respaldo y la seguridad que necesitas a pesar de que sí tenemos actualmente un precio. ¿Que cambió, Sra? ¿Maria, y que le cambia a todas las personas que pues pierden los descuentos? Es completamente normal perder los descuentos, María, porque te los habilitamos por un año. Y yo te felicito por llamarnos. Yo sé que me iban a. Cuando cambiaron, llamé para ver si podía haber otra tarifa más económica o lo que sea. Me dijeron que no, que la más baja era la de 12 céntimos, la que tú tenías. Claro. Y te mantuvimos esa por cuatro meses más, María. Cuando no, el descuento se finalizaba en el mes de junio, pero te lo mantuvimos por más tiempo. Ya, pero me tienen que llamar y decir mira que ahora vamos a cambiar el precio a esto. María Por seguridad ya decido si quiero seguir o no. María Por seguridad unos céntimos, pero que. No me gustan estas cosas. Ya está claro, María, A mí tampoco me gustan esas cosas. Por eso cuando usted renovó en el año 2024, le dijeron que los descuentos duraban un año 12 meses. Ya digo que yo. Terminaron los descuentos, llamé por teléfono para ver si había otra tarifa más económica que me viniera bien. Entonces me dijeron que ya la que había era la de 12 céntimos, que era la tarifa de Toulouse. Que 12 céntimos. Digo, bueno, pues vamos a seguir. Pero a mí no me llaman para decirme mira que ahora en vez de a 12 son aquí. María. Si ¿Me escucha? Sí, María, la escucho. María, a usted no la llamamos porque usted. Si yo la llamo de primera instancia, ¿Usted me creería que yo soy de Endesa? Sí, de primeras, si yo la llamo y hola, buenas noches, María, soy de Endesa. ¿Usted me cree? Hombre, pues depende si tenemos una conversación, sí. Bueno, María, yo le recomiendo. Yo le recomiendo, cuando usted me dé la oportunidad, yo hablo. Señora María. Vale. Sí, sí, dígame. Vale. María, yo le recomiendo que no actúe de esa manera, no seas tan confiada, porque así fácilmente la van a engañar. Nosotros de parte de Endesa hemos creado una página porque a nivel nacional, no sé si está enterada de lo que está pasando, a nivel nacional están haciendo muchas llamadas fraudulentas y cambian a los clientes de compañía. Por eso Endesa y ninguna compañía tiene permisos para llamar, más sin embargo hay empresas que llaman. Entonces la recomendación es, si a usted la llaman y le dicen que son de Endesa, verifiquen la página de Endesa. Hay una página que se llama Compruebe quién lo llama. Endesa compruebe quién lo llama. Ahí le pedirán que agregue el número telefónico del cual la están llamando y le enviará un comunicado si es o no es un número autorizado por Endesa. Entonces yo le invito a que no confíes así de primera instancia de que si son o no son de Endesa. Lo primero que se debe hacer es lo que usted hizo, llamar. Eso es lo que se debe de hacer. Si no, si yo soy bastante desconfiada, por eso antes cuando me ha preguntado que si usted me llamase yo confiaría, le he dicho que cuando ya mantuviéramos una conversación, pues yo ya sí le creería a usted. A otra persona a lo mejor no, si no es de Endesa, claro, porque. Por eso no te llamamos de parte de Endesa. Bueno, entonces a ver qué tarifa puede ofrecerme. Permíteme un minuto la espera y ya te digo cuál. ¿Vale, María? Bueno, vamos a verificar acá qué promoción te puedo dar para verificarlo aquí desde el sistema, ¿De acuerdo? Vamos a hacerlo en vivo y en directo para que tú seas testificante de lo que te vamos a poder ofertar el día de hoy para los dos suministros, ¿De acuerdo? Porque la promoción va para los dos suministros. Lo que pasa es que el otro suministro he vendido la casa y estoy a la espera de que el nuevo comprador cambie ya su nombre o en fin, que todavía no lo ha cambiado. Pero que entonces confírme la dirección exacta donde quiera hacer el proceso. Yo quiero cambiar en la que pone GR 3410, kilómetro 4 y medio, los billares 18260 y llora Granada. Vale, María, ya voy a verificar aquí en la base de datos. Porque una duda que tengo ahora. Si el nuevo, el comprador de la casa, imagínate, contrata con Iberdrola, ¿Automáticamente se da de banca la facturación con Endesa? Perdón, no te entendí en realidad la pregunta exacta que me quieres hacer. Si el comprador de la casa, el nuevo inquilino de la avenida Andalucía, de la otra factura, si él contratase con otra compañía, vamos a poner Iberdrola, por ejemplo, ¿Automáticamente se da de baja este contrato con Endesa o tengo yo que llamar para darlo de baja? Entiendo, María. No, pues ahí ya sería directamente aplicar la serie beneficios que tenemos para ti sobre ese suministro. Perdone, es que Yo creo que ¿Se ha cortado algo? No, le he escuchado la mitad de la conversación. ¿Me ha escuchado mi pregunta? Sí, sobre la factura. Estoy preguntando si yo ya he vendido la otra casa. Vale. Yo ya le pasé una copia de la factura de Endesa para que tuviese los datos de CUPS y demás, para que ella cambiase la facturación a su nombre. Eso tienen que hacerlo la mayor brevedad posible. Permíteme un minuto a la esperanza. Vale. ¿Estás conmigo? Sí. Vale. Eso tiene que hacerlo esa persona a la cual usted le pasó directamente esa solicitud, porque aquí todavía no registra que hayan hecho ningún cambio. Ya, ya, Si me acaba de venir la factura del último mes. ¿Yo hace como tres semanas, o sí que vendí la casa, pero mi duda era si el comprador contrata con otra compañía, por ejemplo Iberdrola, si automáticamente se da de baja el contrato con Endesa o tengo yo que llamar para darlo de baja? No, tiene que ser el titular quien da de baja, perdón, tiene que ser el nuevo propietario quien hace el cambio de titularidad. Si tú das de baja el contador lo van a retirar. Ya, ya, pero digo que él al contratar con otra compañía directamente se da de baja. Sí, que yo no tengo que hacer nada. Vale, gracias. Darle con él, a ver lo que está. Vale. Te puedo activar de un 5 a un 10% que estaría por definirse sobre tu contrato actual. ¿Estás de acuerdo con eso? No sé si hace un día. Sí, eso se va a definir en la próxima factura, lo podrás ver. El porcentaje actualmente no me registra. Me registra la variación puede ser de un cinco a un diez. ¿Pero con permanencia o sin permanencia? No, sin permanencia. Yo solamente te estoy obsequiando un descuento. Vale. Que no sé si, como por ejemplo el año pasado me dijeron, te hacemos este descuento, pero te obligamos a tener un año de permanencia. Entonces que si no me dicen exactamente el descuento, no me obligan a tener una permanencia de un año. No es un descuento por permanencia, es un obser. ¿Lo aceptas o no lo aceptas? Sí, claro. Bueno, esperaré un mes a ver qué viene. ¿Ya después entonces vuelvo a llamar o no? Vale. Dame un minuto la espera, por favor. Vale. María, sí ya se realizó la solicitud, ya solamente quedaría estar atentos a la próxima factura. Vale, o sea que me vendió el descuento aplicado a 0.15, ¿No? Si, esperemos de que sea el máximo. De un 10% porque ya el importe, o sea el precio más bajo que tenéis de 0 13 y no me pueden porque 0 15. ¿Cuánto sería un porcentaje de con el. 10% descuento te queden. Eso? ¿Sí me dan el máximo, no? Si no me llamas, si no me llamas y miramos a ver si hay alguna otra tarifa, porque actualmente no tengo algo mejor para darte. Si lo hubiera, te lo hubiera mencionado. No se puede contratar directamente el. No, no con descuento se contrata el. Vale, bueno, pues ya está. Entonces esperaremos el mes que viene a ver la sorpresita. De acuerdo. ¿Aparte de eso, tienes alguna otra duda, alguna otra pregunta en la cual yo te puedo ayudar? Nada más, muchas gracias y buenas noches. Igual María, recuerda que por la contratación de un nuevo suministro te podemos habilitar más bonos y más beneficios. Vale, señora María, un excelentísimo día. Venga, igualmente ayuda.", + "total_turns": 66, + "total_words": 1789 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBFAC5.json b/data/production/test-07/transcripts/10122025_0082038C3CFBFAC5.json new file mode 100644 index 0000000..d567e66 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBFAC5.json @@ -0,0 +1,76 @@ +{ + "call_id": "10122025_0082038C3CFBFAC5", + "turns": [ + { + "speaker": "A", + "text": "Hola, buenas noches, habla Alejandra, que te comunicas para hablar con operador.", + "start_time": 7.28, + "end_time": 11.84, + "confidence": 0.9088881, + "duration_sec": 4.56, + "word_count": 12 + }, + { + "speaker": "B", + "text": "Hola, buenas noches, he estado hablando antes con un compañero de usted y me ha dirigido a la distribuidora, me ha dicho que volviera, es que no la siento bien, se escucha mucho jaleo, ¿Sabe usted?", + "start_time": 12.96, + "end_time": 30.78, + "confidence": 0.9106999, + "duration_sec": 17.82, + "word_count": 36 + }, + { + "speaker": "A", + "text": "Sí es que de verdad pues están ahí, pero yo sí te estoy escuchando. Entonces, que te habían enviado, o sea, dirigido a la distribuidora. Vale, y luego, ¿Y que te dijeron.", + "start_time": 31.66, + "end_time": 42.02, + "confidence": 0.9341609, + "duration_sec": 10.360000000000003, + "word_count": 32 + }, + { + "speaker": "B", + "text": "En la distribuidora redirigido, porque te voy a contar caso para que lo sepas? Yo estaba antes, sobre las ocho de la tarde y me ha llamado una mujer y me ha dicho que me iban a actualizar el tema de la lectura porque supuestamente me estaba haciendo la lectura estimada porque había un problema que se había generado de enero por el tema de la facturación con la zona, que me facturaban desde la zona de Madrid y me tenían que facturar de la zona de Andalucía. Entonces la chica me ha mandado también como una actualización de un papel de protección de datos mediante un SMS que yo entra en un enlace y lo firmaron. Luego tu compañero me ha dicho este que lo mismo es un cable.", + "start_time": 42.02, + "end_time": 81.65, + "confidence": 0.9351433, + "duration_sec": 39.63, + "word_count": 130 + }, + { + "speaker": "A", + "text": "Sí, te estoy escuchando.", + "start_time": 84.89, + "end_time": 86.09, + "confidence": 0.98824054, + "duration_sec": 1.2000000000000028, + "word_count": 4 + }, + { + "speaker": "B", + "text": "Luego la chica ha intentado, bueno, me ha dicho que me iba a actualizar también el descuento de la luz y en el tema de vergas también durante 12 meses y eso.", + "start_time": 88.97, + "end_time": 103.24, + "confidence": 0.9100801, + "duration_sec": 14.269999999999996, + "word_count": 32 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 104.0, + "audio_file": "10122025_0082038C3CFBFAC5.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "78f8c76d-f890-4ced-947d-3fb82db8a03a", + "model_version": null, + "created_at": "2026-01-19T13:38:59.482993", + "processing_time_sec": 7.456207, + "overall_confidence": 0.9277608, + "speaker_count": 2 + }, + "full_text": "Hola, buenas noches, habla Alejandra, que te comunicas para hablar con operador. Hola, buenas noches, he estado hablando antes con un compañero de usted y me ha dirigido a la distribuidora, me ha dicho que volviera, es que no la siento bien, se escucha mucho jaleo, ¿Sabe usted? Sí es que de verdad pues están ahí, pero yo sí te estoy escuchando. Entonces, que te habían enviado, o sea, dirigido a la distribuidora. Vale, y luego, ¿Y que te dijeron. En la distribuidora redirigido, porque te voy a contar caso para que lo sepas? Yo estaba antes, sobre las ocho de la tarde y me ha llamado una mujer y me ha dicho que me iban a actualizar el tema de la lectura porque supuestamente me estaba haciendo la lectura estimada porque había un problema que se había generado de enero por el tema de la facturación con la zona, que me facturaban desde la zona de Madrid y me tenían que facturar de la zona de Andalucía. Entonces la chica me ha mandado también como una actualización de un papel de protección de datos mediante un SMS que yo entra en un enlace y lo firmaron. Luego tu compañero me ha dicho este que lo mismo es un cable. Sí, te estoy escuchando. Luego la chica ha intentado, bueno, me ha dicho que me iba a actualizar también el descuento de la luz y en el tema de vergas también durante 12 meses y eso.", + "total_turns": 6, + "total_words": 246 +} \ No newline at end of file diff --git a/data/production/test-07/transcripts/10122025_0082038C3CFBFB08.json b/data/production/test-07/transcripts/10122025_0082038C3CFBFB08.json new file mode 100644 index 0000000..90a69f1 --- /dev/null +++ b/data/production/test-07/transcripts/10122025_0082038C3CFBFB08.json @@ -0,0 +1,139 @@ +{ + "call_id": "10122025_0082038C3CFBFB08", + "turns": [ + { + "speaker": "A", + "text": "Noches, habla Ángel Endesan, ¿Que te puedo ayudar?", + "start_time": 3.44, + "end_time": 5.84, + "confidence": 0.9470825, + "duration_sec": 2.4, + "word_count": 8 + }, + { + "speaker": "B", + "text": "Hola, mira, buenas noches. Me cortaron la luz con una factura impagada y la pagué y he llamado a las seis de la tarde. El chico me dijo que iba a mandar la orden para que la reactivaran y llamo a la distribuidora y me dice que no hay ninguna orden para que la pongan.", + "start_time": 6.24, + "end_time": 23.76, + "confidence": 0.94644284, + "duration_sec": 17.520000000000003, + "word_count": 55 + }, + { + "speaker": "A", + "text": "¿A dónde? ¿Quién está el contrato? Perdona, ¿A nombre de quién está el contrato?", + "start_time": 24.08, + "end_time": 29.28, + "confidence": 0.94406855, + "duration_sec": 5.200000000000003, + "word_count": 14 + }, + { + "speaker": "B", + "text": "A nombre de empresa Coedo Monteserín Febe.", + "start_time": 30.24, + "end_time": 32.96, + "confidence": 0.93435407, + "duration_sec": 2.7200000000000024, + "word_count": 7 + }, + { + "speaker": "A", + "text": "OK, hay una solicitud de reenganche, evidentemente hoy 6 de noviembre a las 7 y media de la tarde. A esa hora se envió lo que es la solicitud de reenganche.", + "start_time": 33.52, + "end_time": 43.6, + "confidence": 0.9568028, + "duration_sec": 10.079999999999998, + "word_count": 31 + }, + { + "speaker": "B", + "text": "Sí, pero la distribuidora me dice que a ellos no les llegó nada.", + "start_time": 44.8, + "end_time": 47.84, + "confidence": 0.9309207, + "duration_sec": 3.0400000000000063, + "word_count": 13 + }, + { + "speaker": "A", + "text": "La verdad, acá consta en este caso en Chitem. Yo te digo la hora exacta que se hizo la solicitud de reenganche. No sé qué habrá pasado que ellos te habrán dicho que no. Pero la solicitud de reenganche ya está puesta desde las siete y media.", + "start_time": 48.16, + "end_time": 61.15, + "confidence": 0.9734623, + "duration_sec": 12.990000000000002, + "word_count": 47 + }, + { + "speaker": "B", + "text": "Eso le dije yo, porque llamé y el chico me dijo que mandaba la solicitud para que lo reenganchara.", + "start_time": 62.03, + "end_time": 67.47, + "confidence": 0.9749092, + "duration_sec": 5.439999999999998, + "word_count": 19 + }, + { + "speaker": "A", + "text": "Es que el chico sí lo ha hecho. Tú pagaste la factura hoy y después llamaste. Vale. ¿Y se envió lo que es la solicitud de reenganche? Sí señora, eso se hizo las siete y media.", + "start_time": 67.87, + "end_time": 81.37, + "confidence": 0.93161577, + "duration_sec": 13.5, + "word_count": 36 + }, + { + "speaker": "B", + "text": "Es que llama la vecina, me dice que no hay. Que ellos no recibieron orden de reenganchar.", + "start_time": 83.85, + "end_time": 90.57, + "confidence": 0.900911, + "duration_sec": 6.719999999999999, + "word_count": 17 + }, + { + "speaker": "A", + "text": "De pronto te lo dijeron, no sé por qué cosa, pero igual, como siempre, después que se hace la solicitud son 24 horas para que te vuelvan la luz de pronto. Te lo han dicho por eso, no sé.", + "start_time": 91.13, + "end_time": 102.09, + "confidence": 0.9238595, + "duration_sec": 10.960000000000008, + "word_count": 39 + }, + { + "speaker": "B", + "text": "Gracias.", + "start_time": 104.65, + "end_time": 105.13, + "confidence": 0.9255371, + "duration_sec": 0.47999999999998977, + "word_count": 1 + }, + { + "speaker": "A", + "text": "Vale, buenas noches.", + "start_time": 105.77, + "end_time": 106.89, + "confidence": 0.83691406, + "duration_sec": 1.1200000000000045, + "word_count": 3 + } + ], + "words": null, + "metadata": { + "audio_duration_sec": 108.0, + "audio_file": "10122025_0082038C3CFBFB08.wav", + "language": "es", + "language_confidence": null, + "provider": "assemblyai", + "job_id": "5823a0b9-4679-48c0-b033-1cadc65e4fb6", + "model_version": null, + "created_at": "2026-01-19T13:39:00.341402", + "processing_time_sec": 7.513245, + "overall_confidence": 0.9439578, + "speaker_count": 2 + }, + "full_text": "Noches, habla Ángel Endesan, ¿Que te puedo ayudar? Hola, mira, buenas noches. Me cortaron la luz con una factura impagada y la pagué y he llamado a las seis de la tarde. El chico me dijo que iba a mandar la orden para que la reactivaran y llamo a la distribuidora y me dice que no hay ninguna orden para que la pongan. ¿A dónde? ¿Quién está el contrato? Perdona, ¿A nombre de quién está el contrato? A nombre de empresa Coedo Monteserín Febe. OK, hay una solicitud de reenganche, evidentemente hoy 6 de noviembre a las 7 y media de la tarde. A esa hora se envió lo que es la solicitud de reenganche. Sí, pero la distribuidora me dice que a ellos no les llegó nada. La verdad, acá consta en este caso en Chitem. Yo te digo la hora exacta que se hizo la solicitud de reenganche. No sé qué habrá pasado que ellos te habrán dicho que no. Pero la solicitud de reenganche ya está puesta desde las siete y media. Eso le dije yo, porque llamé y el chico me dijo que mandaba la solicitud para que lo reenganchara. Es que el chico sí lo ha hecho. Tú pagaste la factura hoy y después llamaste. Vale. ¿Y se envió lo que es la solicitud de reenganche? Sí señora, eso se hizo las siete y media. Es que llama la vecina, me dice que no hay. Que ellos no recibieron orden de reenganchar. De pronto te lo dijeron, no sé por qué cosa, pero igual, como siempre, después que se hace la solicitud son 24 horas para que te vuelvan la luz de pronto. Te lo han dicho por eso, no sé. Gracias. Vale, buenas noches.", + "total_turns": 13, + "total_words": 290 +} \ No newline at end of file diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md index 89bca01..434d008 100644 --- a/docs/DEPLOYMENT.md +++ b/docs/DEPLOYMENT.md @@ -887,3 +887,154 @@ make logs make status make dashboard BATCH=batch_01 ``` + +--- + +## Render.com (Dashboard Cloud) + +Para publicar el dashboard en una URL publica usando Render.com. + +### Prerrequisitos + +1. Cuenta en [Render.com](https://render.com) (plan Free disponible) +2. Repositorio Git subido (ej: `https://git.beyondcx.org/susana/BeyondCX_Insights.git`) +3. Datos de produccion en `data/production/` (ya incluido) + +--- + +### Paso 1: Crear cuenta en Render + +1. Ve a [https://render.com](https://render.com) +2. Click en **Get Started for Free** +3. Registrate con GitHub, GitLab, o email + +--- + +### Paso 2: Conectar repositorio Git + +1. En el Dashboard de Render, click **New +** > **Web Service** +2. Selecciona **Build and deploy from a Git repository** +3. Click **Next** + +**Configurar acceso al repositorio:** + +- **Repositorio publico**: Pega la URL directamente +- **Repositorio privado**: + 1. Click **Connect account** para GitHub/GitLab + 2. O usa **Public Git repository** con URL + +Para `git.beyondcx.org`: +- URL: `https://git.beyondcx.org/susana/BeyondCX_Insights.git` +- Render pedira credenciales si es privado + +--- + +### Paso 3: Configurar el servicio + +Completa los campos: + +| Campo | Valor | +|-------|-------| +| **Name** | `cxinsights-dashboard` | +| **Region** | `Frankfurt (EU Central)` | +| **Branch** | `master` | +| **Runtime** | `Python 3` | +| **Build Command** | `pip install -r requirements-dashboard.txt` | +| **Start Command** | `streamlit run dashboard/app.py --server.port $PORT --server.address 0.0.0.0 --server.headless true` | + +**Plan:** +- **Free**: Para demos y pruebas (se apaga tras 15 min inactividad) +- **Starter ($7/mes)**: Para produccion (siempre activo) + +--- + +### Paso 4: Variables de entorno + +Click en **Advanced** y añade: + +| Key | Value | +|-----|-------| +| `PYTHON_VERSION` | `3.11.0` | +| `RENDER` | `true` | +| `STREAMLIT_SERVER_HEADLESS` | `true` | +| `STREAMLIT_BROWSER_GATHER_USAGE_STATS` | `false` | + +--- + +### Paso 5: Deploy + +1. Click **Create Web Service** +2. Render clonara el repo y ejecutara el build +3. Espera ~3-5 minutos para el primer deploy + +**Ver logs:** En la pagina del servicio, click en **Logs** + +--- + +### Paso 6: Acceder al dashboard + +Una vez desplegado: + +- URL publica: `https://cxinsights-dashboard.onrender.com` +- (El subdominio exacto depende de disponibilidad) + +--- + +### Actualizaciones automaticas + +Por defecto, Render hace auto-deploy cuando: +- Push a la branch `master` +- Merge de PR + +Para desactivar: **Settings** > **Build & Deploy** > **Auto-Deploy** > Off + +--- + +### Actualizar datos de produccion + +Para cambiar los datos mostrados en el dashboard: + +```bash +# 1. Copiar nuevo batch a produccion +cp -r data/output/nuevo-batch/* data/production/nuevo-batch/ + +# 2. Commit y push +git add data/production/ +git commit -m "Update production data with nuevo-batch" +git push origin master + +# 3. Render auto-deploys (o manual redeploy) +``` + +--- + +### Troubleshooting Render + +**Error: "No batch data found"** +- Verifica que `data/production/` tiene datos +- Ejecuta `git status` para confirmar que no esta gitignored + +**Error: Build failed** +- Revisa logs de build en Render +- Verifica `requirements-dashboard.txt` tiene todas las dependencias + +**Dashboard muy lento** +- Plan Free tiene recursos limitados (512 MB RAM) +- Considera upgrade a Starter ($7/mes) + +**Se apaga tras inactividad (Free plan)** +- Comportamiento normal del plan Free +- El primer request despues de apagarse toma ~30 segundos +- Upgrade a Starter para siempre activo + +--- + +### Costes estimados Render + +| Plan | Precio | RAM | Uso recomendado | +|------|--------|-----|-----------------| +| Free | $0/mes | 512 MB | Demos, pruebas | +| Starter | $7/mes | 512 MB | Produccion ligera | +| Standard | $25/mes | 2 GB | Produccion con SLA | + +--- diff --git a/render.yaml b/render.yaml new file mode 100644 index 0000000..26de46c --- /dev/null +++ b/render.yaml @@ -0,0 +1,22 @@ +# ============================================ +# Render.com Deployment Configuration +# ============================================ +# CXInsights Streamlit Dashboard +# ============================================ + +services: + - type: web + name: cxinsights-dashboard + runtime: python + region: frankfurt # EU region, change to oregon for US + plan: free # or starter for production + buildCommand: pip install -r requirements-dashboard.txt + startCommand: streamlit run dashboard/app.py --server.port $PORT --server.address 0.0.0.0 --server.headless true + envVars: + - key: PYTHON_VERSION + value: "3.11.0" + - key: STREAMLIT_SERVER_HEADLESS + value: "true" + - key: STREAMLIT_BROWSER_GATHER_USAGE_STATS + value: "false" + # healthCheckPath: /_stcore/health # Streamlit health endpoint diff --git a/requirements-dashboard.txt b/requirements-dashboard.txt new file mode 100644 index 0000000..22d62e7 --- /dev/null +++ b/requirements-dashboard.txt @@ -0,0 +1,16 @@ +# ============================================ +# CXInsights Dashboard - Minimal Requirements +# ============================================ +# For Render.com deployment (lightweight) +# ============================================ + +# === Dashboard Core === +streamlit>=1.29.0,<2.0.0 +plotly>=5.18.0,<6.0.0 +pandas>=2.1.0,<3.0.0 + +# === Exports === +openpyxl>=3.1.0,<4.0.0 + +# === Data Handling === +orjson>=3.9.0,<4.0.0