This tool generates TAC cases interactive report with charts and insights from csv or excel report exported from Rightnow .
- Insights: Monthly trends, severity analysis, case status, product and otehr metrics
- Flexible Input Support: Processes both CSV and Excel files with intelligent column mapping
- Interactive Visualizations: Charts with Plotly
- Multiple Output Formats: HTML reports with embedded charts and optional PDF generation
- Bug Analysis: Identifies cases that ended up as a bug and breakdown by product
- Customer Analytics: TAC Engineer assignment patterns
- Python 3.8 or higher
- pip package manager
pip install -r requirements.txtFor PDF generation:
# Playwright is required for JavaScript chart rendering
pip install playwright
playwright install chromiumPlace your TAC case files in the input_data/ directory:
- CSV files:
.csvextension - Excel files:
.xlsxor.xlsextension
Basic usage (processes all files in input_data/):
python tac_analyzer.pyAdvanced usage:
# Specify custom directories
python tac_analyzer.py --input-dir /path/to/files --output-dir /path/to/reports
# Generate only HTML reports
python tac_analyzer.py --format html
# Generate only PDF reports
python tac_analyzer.py --format pdf
# Enable verbose logging
python tac_analyzer.py --verbose
# Help
python tac_analyzer.py --helpReports are generated in the reports/ directory:
{filename}_executive_report.html- Interactive HTML report{filename}_executive_report.pdf- PDF version for sharingtac_batch_summary_{timestamp}.html- Summary when processing multiple files
TAC_Executive_Report/
βββ tac_analyzer.py # Main orchestrator script
βββ tac_data_processor.py # CSV/Excel parsing and analytics
βββ tac_report_generator.py # HTML/PDF generation
βββ tac_visualizations.py # Chart creation logic
βββ tac_utils.py # Helper functions
βββ tac_config.py # Configuration constants
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ input_data/ # Input directory (place files here)
βββ reports/ # Output directory
The tool expects TAC case data with the following columns (flexible naming):
- Reference/Case #: Unique case identifier
- Status: Case status (Open, Closed, etc.)
- Date Created: Case creation timestamp
- Subject: Case description
- Severity/Priority: Case priority level
- Product Hierarchy: Product line information
- Product Version: Specific product version
- Experienced Bug: Bug identification field
- Internal Case: Internal vs external flag
- End Customer: Customer organization
- Full Name: Engineer/contact name
- Assigned Account: Assigned engineer
- Queue: Support queue/team
- Date Last Responded: Response timestamp
The tool automatically maps common column name variations:
Reference #βReference,Case #,Case Number,Ticket #Date CreatedβCreated Date,Created,Open DateProduct HierarchyβProduct,Product Line- And many more...
Edit OUTPUT_FORMATS in tac_config.py:
OUTPUT_FORMATS = ['html'] # HTML only
OUTPUT_FORMATS = ['pdf'] # PDF only
OUTPUT_FORMATS = ['html', 'pdf'] # Both formatsCustomize colors and branding in tac_config.py:
# Choose from available color palettes
ACTIVE_COLOR_PALETTE = 'professional_blue' # Options: 'radware_corporate', 'professional_blue', etc.
# Available palettes
COLOR_PALETTES = {
'radware_corporate': [
'#003f7f', '#6cb2eb', '#ff6b35', '#28a745', '#ffc107',
# ... more colors
],
'professional_blue': [
'#1f4e79', '#2e75b6', '#5b9bd5', '#9fc5e8',
# ... more colors
]
# ... more palettes
}"No TAC case files found"
- Ensure files are in the correct input directory
- Check file extensions (.csv, .xlsx, .xls)
- Verify files are not empty
"Missing essential columns"
- Check that your data includes at minimum: Reference, Status, Date Created
- The tool will attempt to find alternative column names automatically
"PDF generation failed"
- Install Playwright (see Installation section) - this is required for JavaScript chart rendering
- HTML reports will still be generated successfully
Memory issues with large files
- The tool processes data in chunks to handle large files
- Check the log file
tac_report.logfor detailed error messages - Run with
--verboseflag for more detailed output - Ensure all dependencies are installed correctly
The generated reports include:
- Executive Summary: High-level findings and recommendations
- Key Metrics Dashboard: Visual KPI cards
- Monthly Trends: Time-series analysis with trend lines
- Severity Analysis: Priority distribution with color coding
- Product Impact: Product hierarchy breakdown
- Bug Analysis: Bug identification and categorization
- Team Performance: Engineer workload and queue distribution
- Customer Analytics: Internal vs external case analysis
V0.2.7 Enhanced bugs identification. Now bug detection checks two columns "Experienced bug" and "Jira bug". Enhanced the logic of bug type identification by product Added End Customer to Bug Cases Details
V0.2.6 Cosmetics - cleaned Case distibution by Severity chart - renamed categories instead of 1- Critical, 2- High to Critical, High etc. V0.2.5 Added Case Escalation Distribution chart Added TopN and TTR as Key Performance Metrics Added cases by Category chart Added cases by Resolution chart V0.2.4 Removed WeasyPrint support (incompatible with JS charts), cleaned up PDF generation to use Playwright only Added detailed bug cases table under Bug Analysis chart with case details (Case Number, Subject, Status, Product, Product Version, Bug ID) Added interactive table of contents with clickable navigation links in both HTML and PDF reports V0.2.3 Improved coloring scheme, improved Bugs chart layout for PDF V0.2.2 Fixed PDF export to properly export charts and fit them to PDF page V0.2.1 Updated README.md V0.2.0 Added 2 new charts - by status and by owner Cosmetic improvements V0.1.2 Added support for MIS generated csv reports Added chart style control functionality to user, added to tac_config.py Enhance visualization of pie charts/donuts types of charts Removed Report Details section V0.1.1 Bugfixes adjustments V0.1.0 First push
Project Maintainer: Egor Egorov (@egori4 | @rdwr-egore) Email: egore@radware.com
To update the tool:
- Pull latest changes
- Update dependencies:
pip install -r requirements.txt --upgrade - Test with sample data
This tool is designed for internal use with TAC case data analysis and executive reporting.