Files
BeyondCX_Insights/docs/CHANGELOG.md
sujucu70 75e7b9da3d feat: Add Streamlit dashboard with Blueprint compliance (v2.1.0)
Dashboard Features:
- 8 navigation sections: Overview, Outcomes, Poor CX, FCR, Churn, Agent, Call Explorer, Export
- Beyond Brand Identity styling (colors #6D84E3, Outfit font)
- RCA Sankey diagram (Driver → Outcome → Churn Risk flow)
- Correlation heatmaps (driver co-occurrence, driver-outcome)
- Outcome Deep Dive (root causes, correlation, duration analysis)
- Export functionality (Excel, HTML, JSON)

Blueprint Compliance:
- FCR: 4 categories (Primera Llamada/Rellamada × Sin/Con Riesgo de Fuga)
- Churn: Binary view (Sin Riesgo de Fuga / En Riesgo de Fuga)
- Agent: Talento Para Replicar / Oportunidades de Mejora
- Fixed FCR rate calculation (only FIRST_CALL counts as success)

Technical:
- Streamlit + Plotly for interactive visualizations
- Light theme configuration (.streamlit/config.toml)
- Fixed Plotly colorbar titlefont deprecation

Documentation:
- Updated PROJECT_CONTEXT.md, TODO.md, CHANGELOG.md
- Added 4 new technical decisions (TD-014 to TD-017)
- Created TROUBLESHOOTING.md with 10 common issues

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 16:27:30 +01:00

7.0 KiB

CHANGELOG

Registro de cambios del proyecto CXInsights


[2.1.0] - 2026-01-19 - Streamlit Dashboard + Blueprint Compliance

Added

Streamlit Dashboard (dashboard/)

  • Main Application (app.py)

    • 8 navigation sections: Overview, Outcomes, Poor CX, FCR, Churn, Agent, Call Explorer, Export
    • Automatic batch detection and selection
    • Beyond brand header with logo and metadata
  • Brand Configuration (config.py)

    • Beyond Brand Identity colors: Black #000000, Blue #6D84E3, Grey #B1B1B0
    • Custom CSS with Outfit font (Google Fonts)
    • McKinsey-style chart formatting
  • Data Loading (data_loader.py)

    • load_batch_data() - Load summary and individual analyses
    • calculate_kpis() - Dashboard KPI calculations
    • aggregate_drivers() - Cross-analysis driver aggregation
  • Visualization Components (components.py)

    • render_kpi_cards() - Metric cards with deltas
    • render_outcome_chart() - Horizontal bar chart
    • render_driver_analysis() - Driver frequency bars
    • render_fcr_analysis() - FCR 4-category view per blueprint
    • render_churn_risk_analysis() - Binary churn risk view per blueprint
    • render_agent_performance() - Talento Para Replicar / Oportunidades de Mejora
    • render_rca_sankey() - RCA flow: Driver → Outcome → Churn Risk
    • render_driver_correlation_heatmap() - Jaccard similarity co-occurrence
    • render_driver_outcome_heatmap() - Driver distribution by outcome
    • render_outcome_deep_dive() - Root causes, correlation, duration analysis
    • render_call_explorer() - Filterable call detail table
  • Export Functionality (exports.py)

    • create_excel_export() - 8-sheet workbook with all analysis data
    • create_executive_summary_html() - Branded HTML report
    • create_json_export() - Raw JSON data package
  • Theme Configuration (.streamlit/config.toml)

    • Light theme base
    • Brand primary color
    • Port 8510 configuration

Changed

Blueprint Terminology Compliance

  • FCR Analysis: Updated from simple distribution to 4 categories

    • Primera Llamada Sin Riesgo de Fuga
    • Primera Llamada Con Riesgo de Fuga
    • Rellamada Sin Riesgo de Fuga
    • Rellamada Con Riesgo de Fuga
  • Churn Risk Analysis: Updated to binary categories

    • Sin Riesgo de Fuga (LOW, MEDIUM)
    • En Riesgo de Fuga (AT_RISK, HIGH)
  • Agent Performance: Updated labels to blueprint terminology

    • Talento Para Replicar (positive skills)
    • Oportunidades de Mejora (improvement areas)

FCR Rate Calculation Fix

  • Before: FIRST_CALL + RESOLVED counted as success
  • After: Only FIRST_CALL counts as FCR success (per blueprint)
  • Updated in data_loader.py and exports.py

Fixed

  • Plotly colorbar titlefont deprecated property → title.font
  • Streamlit dark theme issue → Light theme in config.toml
  • Port conflicts → Using port 8510

[2.0.0] - 2026-01-19 - Blueprint Alignment

Added

New Analysis Dimensions (High Priority Gaps)

  • FCR Detection Module

    • FCRStatus enum: FIRST_CALL, REPEAT_CALL, UNKNOWN
    • fcr_status field in CallAnalysis
    • fcr_failure_drivers field for tracking repeat call causes
  • Churn Risk Classification

    • ChurnRisk enum: NO_RISK, AT_RISK, UNKNOWN
    • churn_risk field in CallAnalysis
    • churn_risk_drivers field for churn indicators
  • Agent Skill Assessment

    • AgentClassification enum: GOOD_PERFORMER, NEEDS_IMPROVEMENT, MIXED, UNKNOWN
    • AgentSkillIndicator model with skill_code, skill_type, evidence, coaching recommendations
    • agent_positive_skills and agent_improvement_areas fields in CallAnalysis
  • Enhanced RCALabel Structure

    • DriverOrigin enum: AGENT, CUSTOMER, COMPANY, PROCESS, UNKNOWN
    • origin field in RCALabel for responsibility attribution
    • corrective_action field for actionable recommendations
    • replicable_practice field for positive behaviors to replicate

New Taxonomy Categories

  • churn_risk drivers: PRICE_DISSATISFACTION, SERVICE_QUALITY_ISSUES, REPEATED_PROBLEMS, COMPETITOR_MENTION, CONTRACT_ISSUES, BILLING_PROBLEMS
  • fcr_failure drivers: INCOMPLETE_RESOLUTION, PENDING_ACTION_REQUIRED, MISSING_INFORMATION, UNCLEAR_NEXT_STEPS, SYSTEM_LIMITATIONS, PROMISED_CALLBACK
  • agent_skills.positive: EFFECTIVE_CLOSING, GOOD_RAPPORT, OBJECTION_MASTERY, PRODUCT_KNOWLEDGE, ACTIVE_LISTENING, EMPATHY_SHOWN, SOLUTION_ORIENTED, CLEAR_COMMUNICATION
  • agent_skills.improvement_needed: POOR_CLOSING, MISSED_OPPORTUNITIES, OBJECTION_FAILURES, KNOWLEDGE_GAPS, PASSIVE_LISTENING, LOW_EMPATHY, PROBLEM_FOCUSED, UNCLEAR_COMMUNICATION

New Files

  • config/prompts/call_analysis/v2.0/system.txt - System prompt for v2.0
  • config/prompts/call_analysis/v2.0/user.txt - User prompt with all taxonomy sections
  • config/prompts/call_analysis/v2.0/schema.json - JSON schema for v2.0 response
  • docs/GAP_ANALYSIS.md - Comprehensive gap analysis vs BeyondCX blueprints

Changed

Models (src/models/call_analysis.py)

  • Added 4 new enums: FCRStatus, ChurnRisk, AgentClassification, DriverOrigin
  • Extended RCALabel with origin, corrective_action, replicable_practice fields
  • Added AgentSkillIndicator model
  • Extended CallAnalysis with 7 new fields

Inference (src/inference/)

  • prompt_manager.py: Added TaxonomyTexts dataclass, updated load_taxonomy_for_prompt() to return all sections
  • analyzer.py: Updated to parse all v2.0 fields, added _parse_agent_skills() method
  • Default prompt_version changed from v1.0 to v2.0

Aggregation (src/aggregation/)

  • models.py: Added DriverCategory type, extended RCATree and BatchAggregation with v2.0 fields
  • statistics.py: Updated calculate_frequencies() to return dict with 6 categories, added FCR/churn/agent metrics to calculate_outcome_rates()

Configuration

  • config/prompts/versions.yaml: Changed active version from v1.0 to v2.0
  • config/rca_taxonomy.yaml: Added 3 new top-level sections

Tests Updated

  • tests/unit/test_inference.py: Updated active version assertion to v2.0
  • tests/unit/test_aggregation.py: Updated sample_analyses fixture with v2.0 fields, updated frequency tests

Documentation

  • Updated docs/PROJECT_CONTEXT.md with v2.0 status
  • Updated docs/TODO.md with completed and new tasks
  • Created docs/CHANGELOG.md (this file)

[1.0.0] - 2026-01-19 - MVP Complete

Added

  • Complete pipeline: transcription → features → inference → aggregation → exports
  • CP1-CP8 checkpoints completed
  • AssemblyAI transcription with diarization
  • GPT-4o-mini inference with JSON strict mode
  • Transcript compression (>60% token reduction)
  • RCA tree building with severity scoring
  • Export formats: JSON, Excel, PDF/HTML
  • CLI interface with resume support
  • Comprehensive test suite

Features

  • CallAnalysis model with observed vs inferred separation
  • RCALabel with mandatory evidence_spans[]
  • Versioned prompts system
  • Checkpoint/resume mechanism
  • Batch processing with rate limiting

Última actualización: 2026-01-19