Analyze Customer Feedback
Upload your CSV, Excel, PDF, DOCX or TXT file containing customer feedback to get AI-powered insights, categorization, and sentiment analysis.
๐
Click to upload or drag & drop
Supports CSV, Excel, PDF, DOCX or TXT files
Leave empty to use source from file
Key Problem Areas & Feature Requests
Classify Text Content
Classify any text (reviews, emails, meeting notes, etc.) into multiple categories with sentiment analysis.
๐
Click to upload or drag & drop
Supports PDF, DOCX, TXT, and other text files. Selected file will be shown below.
Classification Results
API Documentation & Testing
Complete API reference with live testing capability
๐ Quick Start
Base URL
${window.location.origin}
Key Features
- AI-powered feedback categorization using GPT-4
- Automatic classification of issues vs feature requests
- Sentiment analysis with scores from -1 to 1
- Automatic key problem area identification
- Support for CSV, Excel, PDF, DOCX, and TXT files
- Single review classification with type detection
- Insight summaries (what users love, feature requests, pain points)
๐ Feedback Analysis
Analyzes customer feedback from various file formats. Automatically identifies key problem areas and feature requests, classifies feedback into appropriate categories, calculates sentiment scores, and generates comprehensive insight summaries.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
file |
file | Required | CSV, Excel, PDF, DOCX, or TXT file containing feedback |
return_raw_feedback |
boolean | Optional | Include individual feedback items (default: false) |
source |
string | Optional | Override source column value |
๐งช Live Test
curl -X POST "${window.location.origin}/analyze-feedback" \
-F "file=@customer_feedback.csv" \
-F "return_raw_feedback=true" \
-F "source=App Store"
{ "analysis_results": [ { "key_area": "App Performance", "customer_problem": "App crashes frequently during extended usage sessions", "number_of_users": 45, "raw_feedbacks": [ { "Customer Feedback": "The app keeps crashing when I try to view reports", "sentiment_score": -0.8, "Received": "2024-01-15", "Name": "John Doe", "Source": "App Store" } ] } ], "summary": { "total_feedback_items": 250, "total_key_areas": 8 }, "insight_summary": { "user_loves": "Users appreciate the intuitive interface and real-time data updates", "feature_request": "Most requested feature is offline mode for accessing reports", "pain_point": "App performance issues and frequent crashes are the biggest concerns", "overall_summary": "The feedback shows a mix of appreciation for the interface and frustration with stability issues" } }
๐ท๏ธ Single Review Classification
Classifies any text (customer review, meeting notes, email, chat logs, etc.) into multiple distinct categories using GPT-4. Returns an array of classifications (typically 2-8 items) with sentiment scores and category types. Each distinct issue or feature request is classified separately. Supports text extraction from uploaded documents.
Response Fields
Field | Type | Description |
---|---|---|
key_area |
string | 2-4 words describing the category (e.g., "App Performance", "User Interface") |
customer_problem |
string | Comprehensive sentence describing all related issues/requests in this category |
sentiment_score |
float | Sentiment value from -1.0 (very negative) to 1.0 (very positive) |
area_type |
string | Classification type: exactly "issue" or "feature" (lowercase) |
* Either review text or file must be provided
๐งช Live Test
curl -X POST "${window.location.origin}/classify-single-review" \
-F "review=The app crashes every time I try to upload photos. Also need dark mode and better search." \
-F 'existing_json=[{"key_area":"App Performance","customer_problem":"App crashes frequently"}]'
curl -X POST "${window.location.origin}/classify-single-review" \
-F "file=@meeting_notes.pdf" \
-F 'existing_json=[{"key_area":"Feature Requests","customer_problem":"Users want new capabilities"}]'
[ { "key_area": "App Performance", "customer_problem": "App crashes during photo upload operations causing data loss", "sentiment_score": -0.85, "area_type": "issue" }, { "key_area": "User Interface", "customer_problem": "Users want dark mode for better nighttime usage and reduced eye strain", "sentiment_score": 0.3, "area_type": "feature" }, { "key_area": "Data Security", "customer_problem": "Concerns about data encryption during transmission between app and servers", "sentiment_score": -0.4, "area_type": "issue" } ]
๐ Best Practices
Data Preparation
- Column Detection: The API automatically detects feedback, rating, date, name, and source columns
- 5-Star Filter: Reviews with 5-star ratings are automatically excluded from problem analysis
- Excel Support: Multi-sheet Excel files are processed, analyzing all sheets
- File Formats: Supports CSV, Excel, PDF, DOCX, and TXT files
- Encoding: UTF-8 encoding is preferred, but the API handles various encodings
Response Handling
- Sentiment Scores: Range from -1 (very negative) to 1 (very positive)
- Key Areas: Automatically identified and categorized as features or issues
- Type Classification: Each area is internally classified as "feature" or "issue"
- Timeout: Large files may take up to 180 seconds to process
- Rate Limits: Based on Azure OpenAI service quotas
Error Handling
Status Code | Meaning | Common Causes |
---|---|---|
400 | Bad Request | Invalid file format, missing required parameters |
413 | Payload Too Large | File exceeds 50MB limit |
422 | Unprocessable Entity | File contains no valid feedback data or cannot be converted |
500 | Internal Server Error | Processing error, retry recommended |
504 | Gateway Timeout | Processing exceeded 180 seconds |