Skip to content

Analytics System

Top G & AI Velocity Feature

Analytics is available in Top G and AI Velocity tiers only.
See tier comparison

Multi-tier analytics system with article metrics, growth trends, and performance insights.

Quick Start

Bash
1
2
3
4
5
6
# Start backend
task run-backend

# Access analytics
# Frontend: http://localhost:5173/dashboard/analytics
# API: http://localhost:8020/api/analytics/basic

Analytics Tiers

Basic Analytics

Permission: BASIC_ANALYTICS (Starter+ plan required)

Includes:

  • Total articles created
  • Published vs draft count
  • Recent activity (last 30 days)
  • Simple metrics

API Endpoint: GET /api/analytics/basic

Advanced Analytics

Permission: ADVANCED_ANALYTICS (Pro+ plan required)

Includes:

  • Monthly breakdown
  • Growth trends
  • Publishing frequency
  • Content categories analysis
  • Comparative metrics

API Endpoint: GET /api/analytics/advanced

Premium Reporting

Permission: ADVANCED_REPORTING (Premium subscription)

Includes:

  • Custom report generation
  • Benchmarking data
  • Export options (CSV, Excel, PDF, JSON)
  • Advanced filtering

API Endpoint: GET /api/analytics/reporting

Team Analytics

Permission: TEAM_MANAGEMENT (Enterprise subscription)

Includes:

  • Team performance metrics
  • Collaboration insights
  • Resource utilization
  • Team productivity reports

API Endpoint: GET /api/analytics/team

Usage Examples

Frontend Integration

TypeScript
import { useBasicAnalytics } from '@/hooks/api/useAnalytics';

const AnalyticsPage = () => {
  const { data: analytics, isLoading } = useBasicAnalytics();

  if (isLoading) return <Loading />;

  return (
    <div>
      <h2>Total Articles: {analytics.metrics.total_articles}</h2>
      <p>Published: {analytics.metrics.published_articles}</p>
      <p>Drafts: {analytics.metrics.draft_articles}</p>
    </div>
  );
};

API Integration

Bash
1
2
3
4
5
6
7
# Get basic analytics
curl -H "Authorization: Bearer $TOKEN" \
  http://localhost:8020/api/analytics/basic

# Get advanced analytics
curl -H "Authorization: Bearer $TOKEN" \
  http://localhost:8020/api/analytics/advanced

Permission Checking

Analytics endpoints automatically check user permissions:

Python
1
2
3
4
5
# Backend automatically validates
@analytics_router.get("/advanced")
async def get_advanced_analytics(...):
    # PlanChecker validates ADVANCED_ANALYTICS permission
    return await analytics_service.get_advanced_analytics()

Users without permission get 403 error with upgrade prompt.

Metrics Explained

Publishing Frequency

  • Weekly: Articles published <= 7 days apart
  • Monthly: Articles published <= 30 days apart
  • Quarterly: Articles published <= 90 days apart
  • Sporadic: Irregular publishing pattern

Compares first half vs second half of publishing history:

  • Increasing: > 10% growth rate
  • Stable: -10% to +10% growth rate
  • Decreasing: < -10% growth rate

Content Categories

Keyword-based categorization:

  • Technical
  • Business
  • Tutorial
  • News
  • Personal

Common Issues

Problem: Analytics returns 403 error
Solution: User needs appropriate plan. Check RBAC documentation

Problem: Analytics shows "insufficient data"
Solution: Publish at least 2 articles for trend analysis

Problem: Team analytics empty
Solution: Team features require team members (Enterprise feature)

Files Reference

  • app/services/analytics_service.py - Analytics logic
  • app/controllers/analytics.py - API endpoints
  • frontend/src/hooks/api/useAnalytics.ts - React hooks
  • frontend/src/pages/Analytics.tsx - Analytics dashboard UI