364 lines
9.1 KiB
Markdown
364 lines
9.1 KiB
Markdown
|
|
# Platform Analytics Template (analytics.gbai)
|
||
|
|
|
||
|
|
A General Bots template for platform metrics, performance monitoring, and custom report generation.
|
||
|
|
|
||
|
|
## Overview
|
||
|
|
|
||
|
|
The Analytics template provides comprehensive platform analytics capabilities, allowing administrators and stakeholders to monitor usage, track performance, analyze trends, and generate custom reports through conversational AI.
|
||
|
|
|
||
|
|
## Features
|
||
|
|
|
||
|
|
- **Platform Overview** - Key metrics summary with trend analysis
|
||
|
|
- **Message Analytics** - Conversation statistics by channel and bot
|
||
|
|
- **User Analytics** - Active users, sessions, and engagement
|
||
|
|
- **Performance Metrics** - Response times and throughput monitoring
|
||
|
|
- **LLM Usage Tracking** - Token consumption and cost analysis
|
||
|
|
- **Storage Analytics** - Disk usage and file statistics
|
||
|
|
- **Error Analysis** - Error patterns and troubleshooting insights
|
||
|
|
- **Custom Report Generator** - Build and schedule personalized reports
|
||
|
|
- **AI-Powered Insights** - Automatic trend analysis and recommendations
|
||
|
|
|
||
|
|
## Package Structure
|
||
|
|
|
||
|
|
```
|
||
|
|
analytics.gbai/
|
||
|
|
├── README.md
|
||
|
|
├── analytics.gbdialog/
|
||
|
|
│ ├── start.bas # Main menu and navigation
|
||
|
|
│ ├── platform-overview.bas # Key metrics dashboard
|
||
|
|
│ └── custom-report.bas # Custom report builder
|
||
|
|
└── analytics.gbot/
|
||
|
|
└── config.csv # Bot configuration
|
||
|
|
```
|
||
|
|
|
||
|
|
## Scripts
|
||
|
|
|
||
|
|
| File | Description |
|
||
|
|
|------|-------------|
|
||
|
|
| `start.bas` | Main entry point with analytics menu options |
|
||
|
|
| `platform-overview.bas` | Platform-wide metrics with trends and export |
|
||
|
|
| `custom-report.bas` | Interactive custom report generator with scheduling |
|
||
|
|
|
||
|
|
## Available Analytics
|
||
|
|
|
||
|
|
### 1. Platform Overview
|
||
|
|
|
||
|
|
High-level metrics summary including:
|
||
|
|
- Total messages and trend percentage
|
||
|
|
- Average active sessions
|
||
|
|
- Response time performance
|
||
|
|
- Error rates
|
||
|
|
- LLM token consumption
|
||
|
|
|
||
|
|
### 2. Message Analytics
|
||
|
|
|
||
|
|
- Message volume by time period
|
||
|
|
- Breakdown by channel (WhatsApp, Web, API)
|
||
|
|
- Bot-specific conversation stats
|
||
|
|
- Peak usage times
|
||
|
|
|
||
|
|
### 3. User Analytics
|
||
|
|
|
||
|
|
- Active users (daily, weekly, monthly)
|
||
|
|
- Session duration analysis
|
||
|
|
- User retention rates
|
||
|
|
- Geographic distribution
|
||
|
|
|
||
|
|
### 4. Performance Metrics
|
||
|
|
|
||
|
|
- Average response time
|
||
|
|
- Response time distribution
|
||
|
|
- Throughput (messages per second)
|
||
|
|
- Latency percentiles (p50, p95, p99)
|
||
|
|
|
||
|
|
### 5. LLM Usage
|
||
|
|
|
||
|
|
- Token consumption by model
|
||
|
|
- Cost analysis
|
||
|
|
- Usage patterns
|
||
|
|
- Optimization recommendations
|
||
|
|
|
||
|
|
### 6. Storage Analytics
|
||
|
|
|
||
|
|
- Disk usage trends
|
||
|
|
- File count and types
|
||
|
|
- Storage by bot/package
|
||
|
|
- Cleanup recommendations
|
||
|
|
|
||
|
|
### 7. Error Analysis
|
||
|
|
|
||
|
|
- Error frequency and patterns
|
||
|
|
- Error categorization
|
||
|
|
- Root cause analysis
|
||
|
|
- Resolution suggestions
|
||
|
|
|
||
|
|
### 8. Custom Reports
|
||
|
|
|
||
|
|
- Select metrics to include
|
||
|
|
- Choose time ranges
|
||
|
|
- Set grouping intervals
|
||
|
|
- Export in multiple formats
|
||
|
|
- Schedule automatic delivery
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
|
||
|
|
### Starting Analytics
|
||
|
|
|
||
|
|
```
|
||
|
|
User: Show me analytics
|
||
|
|
Bot: Welcome to the Analytics Center. I can help you understand your platform metrics and generate reports.
|
||
|
|
|
||
|
|
What would you like to analyze?
|
||
|
|
1. Platform Overview - Key metrics summary
|
||
|
|
2. Message Analytics - Conversation statistics
|
||
|
|
3. User Analytics - Active users and sessions
|
||
|
|
4. Performance Metrics - Response times and throughput
|
||
|
|
5. LLM Usage - Token consumption and costs
|
||
|
|
6. Storage Analytics - Disk usage and file statistics
|
||
|
|
7. Error Analysis - Error patterns and trends
|
||
|
|
8. Generate Custom Report
|
||
|
|
```
|
||
|
|
|
||
|
|
### Platform Overview
|
||
|
|
|
||
|
|
```
|
||
|
|
User: 1
|
||
|
|
Bot: Generating platform overview...
|
||
|
|
Select time range (1h, 6h, 24h, 7d, 30d): 24h
|
||
|
|
|
||
|
|
Platform Overview for 24h
|
||
|
|
|
||
|
|
📊 Messages
|
||
|
|
Total: 15,432
|
||
|
|
Trend: +12.5%
|
||
|
|
|
||
|
|
👥 Sessions
|
||
|
|
Average Active: 234
|
||
|
|
Trend: +5.2%
|
||
|
|
|
||
|
|
⚡ Performance
|
||
|
|
Avg Response Time: 145 ms
|
||
|
|
|
||
|
|
❌ Errors
|
||
|
|
Total: 23
|
||
|
|
Error Rate: 0.15%
|
||
|
|
|
||
|
|
🤖 LLM Usage
|
||
|
|
Total Tokens: 1,245,678
|
||
|
|
```
|
||
|
|
|
||
|
|
### Custom Report Generation
|
||
|
|
|
||
|
|
```
|
||
|
|
User: I need a custom report
|
||
|
|
Bot: Custom Report Generator
|
||
|
|
What would you like to name this report?
|
||
|
|
|
||
|
|
User: Weekly Performance Summary
|
||
|
|
|
||
|
|
Bot: Select the time range for your report:
|
||
|
|
1. Last Hour
|
||
|
|
2. Last 24 Hours
|
||
|
|
3. Last 7 Days
|
||
|
|
4. Last 30 Days
|
||
|
|
5. Last 90 Days
|
||
|
|
6. Custom Range
|
||
|
|
|
||
|
|
User: 3
|
||
|
|
|
||
|
|
Bot: Select metrics to include (enter numbers separated by commas):
|
||
|
|
1. Message Volume
|
||
|
|
2. Active Sessions
|
||
|
|
3. Response Time
|
||
|
|
4. LLM Token Usage
|
||
|
|
5. Error Rate
|
||
|
|
...
|
||
|
|
|
||
|
|
User: 1,3,4,5
|
||
|
|
|
||
|
|
Bot: Select grouping interval:
|
||
|
|
1. Hourly
|
||
|
|
2. Daily
|
||
|
|
3. Weekly
|
||
|
|
4. Monthly
|
||
|
|
|
||
|
|
User: 2
|
||
|
|
|
||
|
|
Bot: Generating your custom report...
|
||
|
|
|
||
|
|
Report generated successfully.
|
||
|
|
Report Name: Weekly Performance Summary
|
||
|
|
Time Range: Last 7 Days
|
||
|
|
Download: https://example.com/reports/report_xxx.pdf
|
||
|
|
|
||
|
|
Would you like to receive this report via email?
|
||
|
|
```
|
||
|
|
|
||
|
|
## Metrics Query System
|
||
|
|
|
||
|
|
The template uses a metrics query system:
|
||
|
|
|
||
|
|
```basic
|
||
|
|
' Query metrics for a time range
|
||
|
|
messages = QUERY METRICS "messages" FOR "24h"
|
||
|
|
totalMessages = SUM(messages, "count")
|
||
|
|
|
||
|
|
' Query with grouping
|
||
|
|
hourlyMessages = QUERY METRICS "messages" FOR "24h" BY "1h"
|
||
|
|
|
||
|
|
' Query with offset for comparison
|
||
|
|
prevMessages = QUERY METRICS "messages" FOR "24h" OFFSET 1
|
||
|
|
trend = ((totalMessages - SUM(prevMessages, "count")) / SUM(prevMessages, "count")) * 100
|
||
|
|
```
|
||
|
|
|
||
|
|
## Export Formats
|
||
|
|
|
||
|
|
Reports can be exported in multiple formats:
|
||
|
|
|
||
|
|
| Format | Description |
|
||
|
|
|--------|-------------|
|
||
|
|
| PDF | Formatted report with charts |
|
||
|
|
| XLSX | Excel spreadsheet |
|
||
|
|
| CSV | Raw data export |
|
||
|
|
| JSON | Structured data format |
|
||
|
|
|
||
|
|
## Scheduled Reports
|
||
|
|
|
||
|
|
Configure automatic report delivery:
|
||
|
|
|
||
|
|
| Schedule | Cron Expression | Description |
|
||
|
|
|----------|-----------------|-------------|
|
||
|
|
| Daily | `0 8 * * *` | Every day at 8 AM |
|
||
|
|
| Weekly | `0 8 * * 1` | Monday at 8 AM |
|
||
|
|
| Monthly | `0 8 1 * *` | 1st of month at 8 AM |
|
||
|
|
|
||
|
|
```basic
|
||
|
|
SET SCHEDULE "0 8 * * 1", "generate-scheduled-report.bas"
|
||
|
|
```
|
||
|
|
|
||
|
|
## Configuration
|
||
|
|
|
||
|
|
Configure in `analytics.gbot/config.csv`:
|
||
|
|
|
||
|
|
| Parameter | Description | Example |
|
||
|
|
|-----------|-------------|---------|
|
||
|
|
| `Default Time Range` | Default period for queries | `7d` |
|
||
|
|
| `Data Retention Days` | How long to keep metrics | `90` |
|
||
|
|
| `Admin Email` | Email for scheduled reports | `admin@company.com` |
|
||
|
|
| `Enable AI Insights` | Auto-generate insights | `true` |
|
||
|
|
| `Export Path` | Report storage location | `/reports/` |
|
||
|
|
|
||
|
|
## Customization
|
||
|
|
|
||
|
|
### Adding Custom Metrics
|
||
|
|
|
||
|
|
```basic
|
||
|
|
' Track custom events
|
||
|
|
INSERT INTO "custom_metrics" VALUES {
|
||
|
|
"name": "feature_usage",
|
||
|
|
"value": 1,
|
||
|
|
"tags": {"feature": "chat", "plan": "pro"},
|
||
|
|
"timestamp": NOW()
|
||
|
|
}
|
||
|
|
|
||
|
|
' Query custom metrics
|
||
|
|
usage = QUERY METRICS "feature_usage" FOR "30d" WHERE tags.feature = "chat"
|
||
|
|
```
|
||
|
|
|
||
|
|
### Custom Dashboard Widgets
|
||
|
|
|
||
|
|
```basic
|
||
|
|
' Add to start.bas
|
||
|
|
TALK "Custom Metrics:"
|
||
|
|
TALK "9. Feature Usage"
|
||
|
|
TALK "10. Revenue Analytics"
|
||
|
|
TALK "11. Customer Health Score"
|
||
|
|
|
||
|
|
' Handle custom options
|
||
|
|
CASE 9
|
||
|
|
CALL "feature-usage.bas"
|
||
|
|
CASE 10
|
||
|
|
CALL "revenue-analytics.bas"
|
||
|
|
```
|
||
|
|
|
||
|
|
### AI-Powered Insights
|
||
|
|
|
||
|
|
```basic
|
||
|
|
' Generate AI insights from metrics
|
||
|
|
SET CONTEXT "You are an analytics expert. Generate executive insights from this data."
|
||
|
|
|
||
|
|
insights = LLM "Analyze this platform data and provide 3-5 key insights: " + JSON(report_data)
|
||
|
|
```
|
||
|
|
|
||
|
|
## Integration
|
||
|
|
|
||
|
|
### With Alerting
|
||
|
|
|
||
|
|
```basic
|
||
|
|
' Set up alerts based on metrics
|
||
|
|
errorRate = SUM(errors, "count") / SUM(messages, "count") * 100
|
||
|
|
|
||
|
|
IF errorRate > 5 THEN
|
||
|
|
SEND EMAIL admin_email, "High Error Rate Alert",
|
||
|
|
"Error rate is " + errorRate + "%, above 5% threshold."
|
||
|
|
END IF
|
||
|
|
```
|
||
|
|
|
||
|
|
### With External BI Tools
|
||
|
|
|
||
|
|
```basic
|
||
|
|
' Export data for external tools
|
||
|
|
data = QUERY METRICS "messages" FOR "30d" BY "1d"
|
||
|
|
WRITE "analytics_export.csv", CSV(data)
|
||
|
|
|
||
|
|
' Or send to webhook
|
||
|
|
POST "https://bi-tool.example.com/webhook", data
|
||
|
|
```
|
||
|
|
|
||
|
|
## Best Practices
|
||
|
|
|
||
|
|
1. **Set appropriate time ranges** - Don't query more data than needed
|
||
|
|
2. **Use caching** - Cache expensive queries
|
||
|
|
3. **Schedule off-peak** - Run heavy reports during low traffic
|
||
|
|
4. **Monitor the monitor** - Track analytics query performance
|
||
|
|
5. **Archive old data** - Move historical data to cold storage
|
||
|
|
6. **Validate insights** - Review AI-generated insights for accuracy
|
||
|
|
|
||
|
|
## Troubleshooting
|
||
|
|
|
||
|
|
| Issue | Cause | Solution |
|
||
|
|
|-------|-------|----------|
|
||
|
|
| Slow queries | Large time range | Reduce time range or add filters |
|
||
|
|
| Missing data | Metrics not being collected | Verify instrumentation |
|
||
|
|
| Export fails | Large report size | Export in chunks or use CSV |
|
||
|
|
| Stale data | Cache not refreshed | Clear cache or reduce TTL |
|
||
|
|
| Incorrect trends | Insufficient historical data | Wait for more data collection |
|
||
|
|
|
||
|
|
## Related Templates
|
||
|
|
|
||
|
|
- `bi.gbai` - Business Intelligence reporting
|
||
|
|
- `talk-to-data.gbai` - Natural language data queries
|
||
|
|
- `crm.gbai` - CRM analytics and pipeline reports
|
||
|
|
|
||
|
|
## Use Cases
|
||
|
|
|
||
|
|
- **Operations Teams** - Monitor platform health and performance
|
||
|
|
- **Product Managers** - Track feature usage and engagement
|
||
|
|
- **Executives** - High-level KPI dashboards
|
||
|
|
- **Support Teams** - Identify error patterns
|
||
|
|
- **Finance** - LLM cost tracking and optimization
|
||
|
|
|
||
|
|
## Data Privacy
|
||
|
|
|
||
|
|
- Analytics data is aggregated and anonymized
|
||
|
|
- User-level data requires appropriate permissions
|
||
|
|
- Respect data retention policies
|
||
|
|
- Comply with GDPR/CCPA as applicable
|
||
|
|
|
||
|
|
## License
|
||
|
|
|
||
|
|
AGPL-3.0 - Part of General Bots Open Source Platform.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Pragmatismo** - General Bots
|