How to set up and manage Open edX analytics and reports?

Setting Up and Managing Open edX Analytics and Reports

Open edX provides powerful analytics tools to track learner engagement, course performance, and student progress. Below is a step-by-step guide on setting up and managing analytics and reports in Open edX.


1. Enable Open edX Insights (Analytics Service)

Open edX includes Insights, a dedicated analytics service that provides course performance data.

Steps to Enable Insights

  1. Ensure Open edX Insights is Installed
    • If not installed, deploy it using the official Open edX Analytics Pipeline (edx-analytics-pipeline).
  2. Configure Insights in LMS (lms.env.json)
    • Add the following: "ENABLE_EDX_INSIGHTS": true, "INSIGHTS_URL": "http://your-insights-server"
    • Restart Open edX: sudo /edx/bin/supervisorctl restart all
  3. Access Open edX Insights
    • Visit http://your-insights-server and log in.

2. Use the Instructor Dashboard for Reports

Instructors can download reports directly from the Instructor Dashboard in the LMS.

Steps to Download Reports

  1. Go to Instructor Dashboard → Data Download.
  2. Available reports:
    • Enrollment Report (student registration details).
    • Grade Report (student scores and completions).
    • Activity Report (login frequency, course interactions).
    • Discussion Report (forum engagement data).
  3. Click “Download Report” to generate the CSV file.

3. Track Learner Progress via API

Use Open edX APIs to retrieve real-time analytics.

Example: Fetching Student Progress

curl -X GET "https://your-openedx-instance/api/grades/v1/course_grade/course-v1:edX+DemoX+2023" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

This API returns student grades and progress.


4. Enable Google Analytics or Matomo for Deeper Tracking

To monitor real-time user behavior, integrate Open edX with Google Analytics.

Steps to Enable Google Analytics

  1. Edit LMS Configuration (lms.env.json): "GA_TRACKING_ID": "UA-XXXXXXXXX-X"
  2. Restart Open edX: sudo /edx/bin/supervisorctl restart all
  3. Access real-time reports in Google Analytics.

5. Use External BI Tools (Power BI, Tableau, etc.)

If you need advanced reporting, connect Open edX to Tableau, Power BI, or Metabase.

Steps to Connect Power BI to Open edX Database

  1. Install PostgreSQL Connector in Power BI.
  2. Connect to Open edX database:
    • Database: edxapp
    • Host: your-openedx-server
    • User: edxapp
    • Password: yourpassword
  3. Query Data for Reports.

6. Automate Report Generation

Use cron jobs to auto-generate reports.

Example: Auto-Download Enrollment Reports

  1. Open crontab: crontab -e
  2. Add: 0 2 * * * curl -o /reports/enrollment.csv "https://your-openedx-instance/api/enrollment/v1/enrollment" --header "Authorization: Bearer YOUR_ACCESS_TOKEN"
  3. This runs daily at 2 AM and saves reports.

7. Enable Real-Time Dashboards for Admins

  1. Install Grafana and connect it to Open edX logs.
  2. Set up real-time dashboards for:
    • Course completion rates
    • User engagement heatmaps
    • Dropout analysis

Conclusion

By combining Insights, API-based tracking, Google Analytics, and BI tools, Open edX enables powerful learner analytics. 🚀