Analytics Guide
Track student performance, identify trends, and make data-informed decisions
Overview
Kai’s analytics system provides comprehensive insights into student learning, engagement patterns, and class-wide trends. From individual student dashboards to sophisticated performance metrics, these tools help you understand what’s working and where students need support.
Why Analytics Matter
Benefits for Instructors: - Identify struggling students early - Track learning progress over time - Measure intervention effectiveness - Optimize teaching strategies with data - Allocate support resources efficiently - Demonstrate learning outcomes
Benefits for Students: - Visualize their own progress - Understand strengths and weaknesses - Set data-informed goals - Track improvement over time - Stay motivated with tangible metrics
Quick Start
Accessing Analytics
- Navigate: Dashboard → Analytics
- Select scope: Individual, class, or course-level
- Choose timeframe: Week, month, semester, or custom range
- View insights: Pre-configured dashboards or custom reports
Begin with the Course Overview dashboard to get a high-level understanding before diving into detailed analytics.
Student Performance Analytics
Individual Student Dashboards
Comprehensive view of each student’s learning journey.
Key Metrics:
student_analytics = {
"student_id": "student_123",
"course_id": "course_abc",
"performance_summary": {
"current_grade": 87.5,
"grade_trend": "improving", # improving, stable, declining
"percentile_in_class": 72, # Optional: compare to peers
"by_assessment_type": {
"quizzes": {"avg": 85.2, "count": 12, "trend": "stable"},
"assignments": {"avg": 88.3, "count": 8, "trend": "improving"},
"exams": {"avg": 82.0, "count": 2, "trend": "improving"},
"participation": {"avg": 92.0, "trend": "stable"}
},
"by_topic": {
"descriptive_statistics": {
"mastery_level": 0.92,
"status": "mastered",
"attempts": 15,
"time_to_mastery_hours": 4.5
},
"inferential_statistics": {
"mastery_level": 0.78,
"status": "proficient",
"attempts": 20,
"recent_performance": "improving"
},
"regression_analysis": {
"mastery_level": 0.55,
"status": "developing",
"attempts": 8,
"needs_attention": True
}
}
},
"engagement_metrics": {
"participation_rate": 0.88, # % of assignments completed
"avg_time_per_assignment_minutes": 45,
"resource_usage": "high", # high, medium, low
"help_seeking_frequency": 3.2, # times per week
"peer_interaction_score": 0.75,
"login_frequency_per_week": 5.2,
"total_time_on_platform_hours": 32.5
},
"learning_patterns": {
"optimal_study_time": "evening", # morning, afternoon, evening, night
"preferred_learning_mode": "visual",
"common_error_types": [
"rushing_through_problems",
"skipping_assumption_checks"
],
"strength_areas": [
"calculation_accuracy",
"following_procedures"
],
"growth_areas": [
"conceptual_interpretation",
"assumption_verification"
]
},
"trajectory": {
"predicted_final_grade": 88.5,
"confidence_interval": [85.0, 92.0],
"risk_level": "low", # low, medium, high
"intervention_recommended": False,
"growth_velocity": 0.8 # grade points per week
}
}
# Access student analytics
analytics = kai.analytics.student.get(
student_id="student_123",
course_id="course_abc",
timeframe="semester"
)
print(f"Current Grade: {analytics.current_grade}")
print(f"Trend: {analytics.grade_trend}")
print(f"At-Risk: {analytics.at_risk}")Dashboard Visualization:
STUDENT PERFORMANCE DASHBOARD: Jane Smith
Course: Statistics 101 | Period: Fall 2024
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OVERALL PERFORMANCE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Current Grade: 87.5% (B+) Trend: ↗ Improving (+2.3 pts this month)
Predicted Final: 88.5% Risk Level: ● Low
Grade History:
Week 1-4: ████████░░ 80.2%
Week 5-8: █████████░ 85.1%
Week 9-12: █████████░ 87.5%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ASSESSMENT BREAKDOWN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Quizzes: 85.2% (12 completed) ━━━━━━━━━━━━━━━━━░░░░
Assignments: 88.3% (8 completed) ━━━━━━━━━━━━━━━━━░░░░
Exams: 82.0% (2 completed) ━━━━━━━━━━━━━━━░░░░░░
Participation: 92.0% ━━━━━━━━━━━━━━━━━━░░
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOPIC MASTERY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ Descriptive Statistics ██████████████████ 92% Mastered
○ Inferential Statistics ██████████████░░░░ 78% Proficient
◇ Regression Analysis ███████░░░░░░░░░░░ 55% Developing ⚠
Hypothesis Testing ████████████░░░░░░ 68% Proficient
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ENGAGEMENT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Participation Rate: 88% ████████████████░░░░
Time on Platform: 32.5h ████████████████░░░░
Resource Usage: High ██████████████████░░
Help Seeking: 3.2/wk ███████████████░░░░░
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INSIGHTS & RECOMMENDATIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Strengths:
• Strong calculation accuracy
• Excellent participation and engagement
• Consistent upward trajectory
Areas for Growth:
⚠ Regression analysis needs attention (55% mastery)
→ Recommended: Review Module 6, Practice Set 3
→ Suggested: Office hours this week
• Interpretation skills developing
→ Focus on connecting calculations to context
Class-Level Performance Analytics
Aggregate metrics for entire class sections.
Class Overview:
class_analytics = {
"course_id": "course_abc",
"section": "Section 001",
"enrollment": 32,
"timeframe": "current_semester",
"performance_summary": {
"class_average": 82.3,
"median": 84.0,
"std_dev": 8.5,
"distribution": {
"A (90-100)": 8, # 25%
"B (80-89)": 14, # 44%
"C (70-79)": 7, # 22%
"D (60-69)": 2, # 6%
"F (0-59)": 1 # 3%
},
"trend": "improving", # +1.2 points vs. last period
"by_assessment_type": {
"quizzes": {"avg": 85.5, "completion": 0.94},
"assignments": {"avg": 83.2, "completion": 0.89},
"exams": {"avg": 78.9, "completion": 0.97},
"participation": {"avg": 88.5, "completion": 0.85}
}
},
"engagement_summary": {
"avg_participation_rate": 0.85,
"active_users_this_week": 29, # out of 32
"avg_time_per_student_hours": 28.3,
"resource_access_rate": 0.92,
"help_requests_per_week": 45,
"peer_interaction_level": "high"
},
"topic_mastery_distribution": {
"descriptive_statistics": {
"avg_mastery": 0.87,
"students_mastered": 28, # 88%
"students_struggling": 1 # 3%
},
"inferential_statistics": {
"avg_mastery": 0.75,
"students_mastered": 20, # 63%
"students_struggling": 4 # 13%
},
"regression_analysis": {
"avg_mastery": 0.68,
"students_mastered": 15, # 47%
"students_struggling": 8 # 25% ⚠
}
},
"at_risk_students": [
{
"student_id": "student_456",
"risk_level": "high",
"current_grade": 58.5,
"primary_issues": ["low_engagement", "multiple_topic_gaps"],
"last_login": "8_days_ago",
"intervention_suggested": "immediate_outreach"
},
{
"student_id": "student_789",
"risk_level": "medium",
"current_grade": 72.3,
"primary_issues": ["declining_performance", "reduced_participation"],
"recent_trend": "declining",
"intervention_suggested": "check_in_meeting"
}
],
"high_achievers": [
{
"student_id": "student_101",
"current_grade": 98.2,
"mastery_across_topics": 0.96,
"engagement_level": "very_high",
"recommendation": "enrichment_opportunities"
}
]
}
# Access class analytics
analytics = kai.analytics.class_summary.get(
course_id="course_abc",
section="Section 001",
timeframe="semester"
)
# Export class report
report = kai.analytics.reports.generate(
type="class_performance",
course_id="course_abc",
format="pdf", # or "csv", "xlsx"
include_charts=True
)Cohort Comparison Analytics
Compare performance across sections, semesters, or years.
cohort_comparison = kai.analytics.cohorts.compare(
courses=["course_abc_section_001", "course_abc_section_002"],
metrics=[
"average_grade",
"mastery_rates",
"engagement_levels",
"completion_rates"
],
timeframe="semester"
)
"""
COHORT COMPARISON REPORT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Section 001 Section 002 Difference
Average Grade 82.3% 79.8% +2.5%
Median Grade 84.0% 81.5% +2.5%
Std Dev 8.5 11.2 -2.7 (more consistent)
Completion Rate 89% 84% +5%
Participation Rate 85% 78% +7%
Topic Mastery:
- Descriptive 87% 82% +5%
- Inferential 75% 71% +4%
- Regression 68% 65% +3%
At-Risk Students 2 (6%) 5 (16%) -10%
High Achievers 8 (25%) 6 (19%) +6%
Key Differences:
• Section 001 shows higher engagement across all metrics
• Section 001 has more consistent performance (lower std dev)
• Both sections struggle similarly with regression analysis
"""Learning Trend Analysis
Progress Over Time
Track how students develop throughout the course.
Longitudinal Analysis:
trend_analysis = {
"course_id": "course_abc",
"analysis_type": "longitudinal",
"timeframe": "full_semester",
"class_wide_trends": {
"grade_trajectory": {
"week_1_4": {"avg": 78.5, "std_dev": 12.3},
"week_5_8": {"avg": 81.2, "std_dev": 10.8},
"week_9_12": {"avg": 83.7, "std_dev": 9.2},
"week_13_16": {"avg": 84.5, "std_dev": 8.5},
"overall_improvement": 6.0, # points
"trend_consistency": 0.88 # how smooth the improvement
},
"mastery_progression": {
"early_concepts": {
"time_to_mastery_avg_days": 12,
"mastery_rate": 0.94
},
"mid_concepts": {
"time_to_mastery_avg_days": 15,
"mastery_rate": 0.81
},
"advanced_concepts": {
"time_to_mastery_avg_days": 18,
"mastery_rate": 0.72
}
},
"engagement_trends": {
"early_semester": {"participation": 0.92, "time_per_week_hrs": 5.2},
"mid_semester": {"participation": 0.85, "time_per_week_hrs": 4.8},
"late_semester": {"participation": 0.78, "time_per_week_hrs": 4.5},
"trend": "declining_engagement", # Common pattern
"intervention_points": ["week_10", "week_14"]
}
},
"student_trajectories": {
"steady_improvers": {
"count": 18, # 56%
"pattern": "consistent_upward_trajectory",
"avg_gain": 8.5, # points
"success_rate": 0.94
},
"quick_starters": {
"count": 7, # 22%
"pattern": "high_early_maintain",
"avg_starting_grade": 88.5,
"avg_final_grade": 90.2
},
"late_bloomers": {
"count": 4, # 13%
"pattern": "struggle_then_improve",
"avg_starting_grade": 68.2,
"avg_final_grade": 82.5,
"turning_point": "week_7"
},
"concerning_patterns": {
"count": 3, # 9%
"pattern": "declining_performance",
"needs_intervention": True
}
},
"topic_difficulty_profile": {
"easiest_topics": [
{"topic": "descriptive_statistics", "avg_mastery": 0.92, "time_to_master": 10},
{"topic": "data_visualization", "avg_mastery": 0.89, "time_to_master": 8}
],
"moderate_topics": [
{"topic": "probability", "avg_mastery": 0.78, "time_to_master": 14},
{"topic": "sampling", "avg_mastery": 0.75, "time_to_master": 13}
],
"challenging_topics": [
{"topic": "hypothesis_testing", "avg_mastery": 0.70, "time_to_master": 18},
{"topic": "regression_analysis", "avg_mastery": 0.68, "time_to_master": 20}
]
}
}
# Visualize trends
trends = kai.analytics.trends.analyze(
course_id="course_abc",
dimension="grade_over_time",
group_by="student_trajectory_type"
)
# Generate insight report
insights = kai.analytics.insights.generate(
course_id="course_abc",
focus_areas=["struggling_students", "topic_difficulties", "engagement_patterns"]
)Predictive Analytics
Identify students who may need support before they fall behind.
predictive_model = {
"model_type": "early_warning_system",
"prediction_window": "4_weeks_ahead",
"risk_factors": [
{
"factor": "declining_quiz_scores",
"weight": 0.25,
"threshold": "3_consecutive_declines"
},
{
"factor": "reduced_engagement",
"weight": 0.20,
"threshold": "below_60%_participation_2_weeks"
},
{
"factor": "incomplete_assignments",
"weight": 0.20,
"threshold": "2_missed_in_row"
},
{
"factor": "low_resource_usage",
"weight": 0.15,
"threshold": "below_25th_percentile"
},
{
"factor": "help_seeking_absence",
"weight": 0.10,
"threshold": "no_help_requests_3_weeks"
},
{
"factor": "peer_interaction_low",
"weight": 0.10,
"threshold": "minimal_collaboration"
}
],
"predictions": [
{
"student_id": "student_456",
"current_grade": 75.2,
"predicted_grade_4_weeks": 68.5,
"risk_level": "high",
"confidence": 0.87,
"primary_risk_factors": [
"declining_quiz_scores",
"reduced_engagement"
],
"recommended_actions": [
"immediate_outreach",
"suggest_tutoring",
"adjust_workload_if_needed"
]
},
{
"student_id": "student_789",
"current_grade": 82.0,
"predicted_grade_4_weeks": 79.3,
"risk_level": "medium",
"confidence": 0.72,
"primary_risk_factors": [
"incomplete_assignments"
],
"recommended_actions": [
"check_in_email",
"review_assignment_schedule"
]
}
],
"model_performance": {
"accuracy": 0.83, # % of predictions within 5 points
"precision": 0.79, # % of flagged students who actually needed help
"recall": 0.88, # % of struggling students successfully identified
"false_positive_rate": 0.12
}
}
# Get predictions for your class
predictions = kai.analytics.predictions.get(
course_id="course_abc",
risk_levels=["high", "medium"],
confidence_threshold=0.70
)
# Configure alerts
kai.analytics.predictions.configure_alerts(
course_id="course_abc",
alert_when="high_risk_detected",
notification_method="email",
frequency="daily_digest"
)Engagement Metrics
Participation Analytics
Track how students interact with course materials and activities.
engagement_analytics = {
"course_id": "course_abc",
"timeframe": "current_semester",
"overall_engagement": {
"active_users_today": 28,
"active_users_this_week": 31,
"active_users_this_month": 32,
"avg_sessions_per_week": 4.2,
"avg_session_duration_minutes": 38.5,
"avg_time_on_platform_per_week_hours": 3.2,
"peak_usage_times": {
"day_of_week": "Tuesday",
"time_of_day": "7-9 PM",
"secondary_peak": "Sunday 2-4 PM"
}
},
"activity_breakdown": {
"quiz_completion_rate": 0.94,
"assignment_submission_rate": 0.89,
"resource_access_rate": 0.87,
"discussion_participation_rate": 0.72,
"office_hours_attendance_rate": 0.45,
"by_activity_type": {
"watching_videos": {"avg_time_min": 45, "completion_rate": 0.88},
"reading_materials": {"avg_time_min": 32, "completion_rate": 0.82},
"practice_problems": {"avg_time_min": 55, "completion_rate": 0.91},
"interactive_tutorials": {"avg_time_min": 28, "completion_rate": 0.85}
}
},
"engagement_segments": {
"highly_engaged": {
"count": 12, # 38%
"characteristics": {
"participation_rate": 0.95,
"time_per_week_hours": 5.2,
"resource_usage": "comprehensive",
"avg_grade": 89.5
}
},
"moderately_engaged": {
"count": 16, # 50%
"characteristics": {
"participation_rate": 0.85,
"time_per_week_hours": 3.8,
"resource_usage": "selective",
"avg_grade": 82.3
}
},
"low_engagement": {
"count": 4, # 13%
"characteristics": {
"participation_rate": 0.58,
"time_per_week_hours": 1.9,
"resource_usage": "minimal",
"avg_grade": 71.2
},
"needs_attention": True
}
},
"engagement_correlation": {
"participation_vs_grade": {
"correlation": 0.68,
"p_value": 0.001,
"interpretation": "strong_positive_relationship"
},
"time_on_platform_vs_grade": {
"correlation": 0.52,
"p_value": 0.012,
"interpretation": "moderate_positive_relationship"
},
"resource_usage_vs_grade": {
"correlation": 0.61,
"p_value": 0.003,
"interpretation": "moderate_positive_relationship"
}
}
}
# Generate engagement report
engagement_report = kai.analytics.engagement.report(
course_id="course_abc",
include_recommendations=True
)Resource Usage Analytics
Understand which resources students find most valuable.
resource_analytics = {
"resource_usage": {
"lecture_videos": {
"total_views": 1234,
"unique_viewers": 30,
"avg_watch_time_pct": 0.87, # 87% of video watched on average
"completion_rate": 0.82,
"most_rewatched_sections": [
{"timestamp": "12:30", "topic": "p_value_interpretation", "rewatch_count": 45},
{"timestamp": "18:15", "topic": "confidence_intervals", "rewatch_count": 38}
]
},
"readings": {
"total_opens": 892,
"unique_readers": 29,
"avg_time_spent_minutes": 18.5,
"completion_rate": 0.78,
"most_highlighted": [
{"page": 42, "topic": "hypothesis_testing", "highlights": 52},
{"page": 67, "topic": "type_I_II_errors", "highlights": 48}
]
},
"practice_problems": {
"total_attempts": 2156,
"unique_users": 32,
"avg_attempts_per_problem": 2.3,
"avg_completion_time_minutes": 12.5,
"most_attempted": [
{"problem_id": "prob_45", "topic": "regression", "attempts": 78},
{"problem_id": "prob_32", "topic": "hypothesis_test", "attempts": 65}
]
},
"supplementary_materials": {
"access_rate": 0.67,
"most_accessed": [
{"resource": "formula_sheet", "accesses": 245, "users": 31},
{"resource": "worked_examples", "accesses": 189, "users": 28},
{"resource": "tutorial_videos", "accesses": 156, "users": 24}
]
}
},
"resource_effectiveness": {
"high_impact": [
{
"resource": "worked_examples_regression",
"usage_by_struggling_students": 0.95,
"avg_improvement_after_use": 12.5, # grade points
"effectiveness_score": 0.89
},
{
"resource": "interactive_hypothesis_testing_simulator",
"usage_rate": 0.78,
"avg_improvement_after_use": 8.3,
"effectiveness_score": 0.82
}
],
"moderate_impact": [
{
"resource": "textbook_chapter_summaries",
"usage_rate": 0.72,
"avg_improvement_after_use": 4.5,
"effectiveness_score": 0.68
}
],
"low_impact": [
{
"resource": "additional_reading_articles",
"usage_rate": 0.23,
"avg_improvement_after_use": 1.2,
"effectiveness_score": 0.34,
"recommendation": "consider_removing_or_replacing"
}
]
}
}
# Find most effective resources
effective_resources = kai.analytics.resources.effectiveness(
course_id="course_abc",
metric="improvement_after_use",
min_usage_threshold=10 # Must be used by at least 10 students
)Individual Student Dashboards
Student-Facing Analytics
Empower students to track their own progress.
Student View Configuration:
student_dashboard_config = {
"visible_to_students": True,
"components": [
{
"component": "progress_overview",
"display": {
"current_grade": True,
"grade_trend": True,
"goal_comparison": True,
"class_percentile": False # Avoid social comparison
}
},
{
"component": "topic_mastery",
"display": {
"mastery_levels": True,
"progress_bars": True,
"recommended_focus": True,
"time_to_mastery_estimates": True
}
},
{
"component": "engagement_insights",
"display": {
"participation_rate": True,
"time_on_platform": True,
"resource_usage": True,
"study_pattern_insights": True
}
},
{
"component": "personalized_recommendations",
"display": {
"next_steps": True,
"resource_suggestions": True,
"study_plan": True,
"predicted_performance": False # Optional: some students find stressful
}
},
{
"component": "achievements",
"display": {
"milestones_reached": True,
"improvement_highlights": True,
"consistency_badges": True
}
}
],
"privacy_controls": {
"student_can_hide_components": True,
"student_can_export_data": True,
"data_retention_visible": True
},
"motivational_features": {
"show_improvement_over_time": True,
"celebrate_milestones": True,
"growth_mindset_framing": True,
"avoid_peer_comparison": True
}
}
# Enable student dashboards
kai.analytics.student_dashboards.enable(
course_id="course_abc",
config=student_dashboard_config
)
"""
STUDENT VIEW EXAMPLE
Your Progress Dashboard
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Current Grade: 87.5% (B+)
Trend: ↗ Up 2.3 points this month - Great progress!
Your Goals:
• Target for course: 90% (A-)
• Gap to close: 2.5 points
• On track: Yes ✓
• Estimated weeks to goal: 3 weeks at current pace
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What You've Mastered
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ Descriptive Statistics 92% Excellent!
✓ Data Visualization 88% Strong
○ Inferential Statistics 78% Good - keep practicing
◇ Regression Analysis 55% Developing - focus here
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Recommended Next Steps
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Focus on Regression Analysis (55% mastery)
→ Review Module 6: Linear Regression
→ Complete Practice Set 3 (15 problems)
→ Estimated time: 45 minutes
2. Strengthen Interpretation Skills
→ Watch: "Connecting Calculations to Context" (8 min)
→ Try: Interpretation Quiz (10 questions)
3. Prepare for Upcoming Exam
→ Your exam is in 6 days
→ Personalized study plan ready
→ View study plan →
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Recent Achievements
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏆 Perfect Quiz Score - Quiz 12
📈 3-Week Improvement Streak
🎯 All Assignments On Time This Month
"""Growth Tracking
Help students visualize learning progress.
growth_tracking = {
"student_id": "student_123",
"timeframe": "semester",
"grade_trajectory": [
{"week": 1, "grade": 75.2, "milestone": ""},
{"week": 2, "grade": 76.8, "milestone": ""},
{"week": 3, "grade": 78.5, "milestone": ""},
{"week": 4, "grade": 80.1, "milestone": "First quiz mastery"},
{"week": 5, "grade": 81.3, "milestone": ""},
{"week": 6, "grade": 82.8, "milestone": ""},
{"week": 7, "grade": 84.2, "milestone": "Midterm success"},
{"week": 8, "grade": 85.0, "milestone": ""},
{"week": 9, "grade": 86.3, "milestone": ""},
{"week": 10, "grade": 87.5, "milestone": "Current"},
],
"growth_metrics": {
"total_improvement": 12.3, # grade points
"avg_weekly_growth": 1.4,
"growth_consistency": 0.91, # How steady the improvement
"best_growth_period": "weeks_6_8",
"growth_velocity": "accelerating"
},
"skill_development": {
"calculation_skills": {
"start": 0.68,
"current": 0.92,
"growth": 0.24,
"status": "mastered"
},
"interpretation_skills": {
"start": 0.45,
"current": 0.78,
"growth": 0.33,
"status": "significant_improvement"
},
"application_skills": {
"start": 0.52,
"current": 0.71,
"growth": 0.19,
"status": "steady_progress"
}
}
}Data Export Capabilities
Export Formats
Generate reports in various formats for different needs.
# Export student performance data
student_export = kai.analytics.export(
type="student_performance",
course_id="course_abc",
format="csv", # csv, xlsx, json, pdf
students="all", # or list of student IDs
fields=[
"student_id",
"current_grade",
"quiz_avg",
"assignment_avg",
"participation_rate",
"mastery_by_topic"
],
timeframe="semester"
)
# Export class summary
class_export = kai.analytics.export(
type="class_summary",
course_id="course_abc",
format="pdf",
include_charts=True,
sections=[
"performance_overview",
"grade_distribution",
"topic_mastery",
"engagement_metrics",
"at_risk_students"
]
)
# Export for LMS integration
lms_export = kai.analytics.export(
type="gradebook",
course_id="course_abc",
format="csv",
lms_compatible="canvas", # canvas, blackboard, moodle, etc.
include_categories=True
)
# Export detailed analytics
detailed_export = kai.analytics.export(
type="comprehensive",
course_id="course_abc",
format="xlsx",
sheets=[
"student_roster",
"grade_history",
"assignment_details",
"quiz_results",
"engagement_logs",
"resource_usage",
"topic_mastery"
],
timeframe="semester"
)
# Custom query export
custom_export = kai.analytics.export(
type="custom_query",
query={
"metrics": ["grade", "participation", "time_on_platform"],
"filters": {
"grade_below": 75,
"participation_below": 0.70
},
"group_by": "week",
"aggregation": "average"
},
format="json"
)Scheduled Reports
Automate regular analytics delivery.
scheduled_report = kai.analytics.schedules.create(
name="Weekly Performance Summary",
report_type="class_performance",
course_id="course_abc",
schedule={
"frequency": "weekly",
"day": "Monday",
"time": "08:00",
"timezone": "America/New_York"
},
delivery={
"method": "email",
"recipients": ["instructor@university.edu"],
"subject": "Weekly Analytics: Statistics 101",
"include_attachments": True
},
content={
"sections": [
"class_average_trend",
"at_risk_students",
"topic_difficulties",
"engagement_summary"
],
"format": "pdf",
"include_visualizations": True
},
alerts={
"highlight_if": {
"at_risk_count_above": 3,
"class_average_below": 75,
"participation_below": 0.70
}
}
)
# List active schedules
schedules = kai.analytics.schedules.list(course_id="course_abc")
# Pause schedule temporarily
kai.analytics.schedules.pause(schedule_id="schedule_123")Integration with LMS Analytics
LMS Sync
Combine Kai analytics with your institution’s LMS data.
lms_integration = {
"lms_type": "canvas", # canvas, blackboard, moodle, etc.
"sync_enabled": True,
"data_flow": {
"from_lms_to_kai": [
"student_roster",
"assignment_due_dates",
"external_grades",
"course_structure"
],
"from_kai_to_lms": [
"kai_assignment_grades",
"quiz_scores",
"participation_scores"
]
},
"sync_frequency": "daily",
"grade_mapping": {
"kai_quizzes": {
"lms_category": "Quizzes",
"weight": 0.30
},
"kai_assignments": {
"lms_category": "Assignments",
"weight": 0.40
},
"kai_participation": {
"lms_category": "Participation",
"weight": 0.10
}
},
"analytics_integration": {
"combine_kai_and_lms_data": True,
"unified_dashboard": True,
"cross_platform_insights": True
}
}
# Configure LMS integration
kai.integrations.lms.configure(
course_id="course_abc",
lms_course_id="canvas_12345",
config=lms_integration
)
# Fetch combined analytics
combined_analytics = kai.analytics.integrated.get(
course_id="course_abc",
include_lms_data=True,
timeframe="semester"
)Cross-Platform Reports
Generate reports that combine multiple data sources.
unified_report = kai.analytics.unified.generate(
course_id="course_abc",
data_sources=[
"kai_analytics",
"lms_gradebook",
"attendance_system",
"library_usage"
],
report_sections=[
{
"section": "comprehensive_performance",
"includes": {
"kai_quiz_scores": True,
"lms_assignment_scores": True,
"attendance_rate": True,
"combined_average": True
}
},
{
"section": "engagement_composite",
"includes": {
"kai_participation": True,
"lms_discussion_posts": True,
"attendance": True,
"library_resource_usage": True
}
}
],
format="pdf",
include_recommendations=True
)Privacy and Data Handling
Data Privacy Compliance
Ensure analytics comply with privacy regulations.
All analytics features comply with FERPA, GDPR, and institutional privacy policies. Student data is never shared without proper consent.
Privacy Configuration:
privacy_settings = {
"data_collection": {
"collect_performance_data": True,
"collect_engagement_data": True,
"collect_behavioral_data": True,
"student_consent_required": True,
"allow_opt_out": True
},
"data_retention": {
"active_course_data": "duration_of_course_plus_1_year",
"historical_data": "5_years",
"anonymize_after": "course_completion",
"student_can_request_deletion": True
},
"data_sharing": {
"share_with_instructor": True,
"share_with_institution": "aggregated_only",
"share_with_third_parties": False,
"student_controls_visibility": True
},
"access_controls": {
"instructor_access": "own_courses_only",
"admin_access": "aggregated_reports_only",
"student_access": "own_data_only",
"audit_logging": True
},
"transparency": {
"privacy_policy_visible": True,
"data_usage_explained": True,
"student_dashboard_shows_what_data_collected": True,
"student_can_export_own_data": True
}
}
# Apply privacy settings
kai.privacy.configure(
course_id="course_abc",
settings=privacy_settings
)
# Generate privacy compliance report
compliance = kai.privacy.audit(
course_id="course_abc",
frameworks=["FERPA", "GDPR"]
)Student Data Rights
Support student rights to access and control their data.
# Student data export (self-service)
student_data = kai.privacy.export_student_data(
student_id="student_123",
format="json",
include=[
"profile_data",
"performance_history",
"engagement_logs",
"resource_usage",
"system_interactions"
]
)
# Student data deletion request
kai.privacy.delete_student_data(
student_id="student_123",
course_id="course_abc",
retention_override="delete_immediately",
keep_anonymized_aggregate=True # For institutional research
)
# Student consent management
consent = kai.privacy.consent.update(
student_id="student_123",
consents={
"basic_analytics": True,
"predictive_analytics": True,
"research_participation": False
}
)Best Practices
Effective Analytics Use
Begin with specific questions you want to answer, then find the relevant analytics. Avoid drowning in data without clear purpose.
Recommended Workflow:
- Identify Questions:
- “Which students are struggling?”
- “Which topics are most challenging?”
- “Is engagement declining over time?”
- “Are interventions working?”
- Select Relevant Metrics:
- Match analytics to questions
- Focus on actionable insights
- Avoid vanity metrics
- Set Regular Review Times:
- Weekly: At-risk student check
- Biweekly: Topic difficulty review
- Monthly: Overall trend analysis
- End-of-semester: Comprehensive evaluation
- Act on Insights:
- Don’t just observe - intervene
- Document what works
- Adjust strategies based on data
- Close the feedback loop
Interpreting Analytics Wisely
Guidelines:
- ✅ Context Matters: Consider external factors (holidays, exam weeks, etc.)
- ✅ Trends Over Snapshots: Look for patterns, not single data points
- ✅ Combine Quantitative and Qualitative: Numbers + student feedback
- ✅ Respect Privacy: Never publicly compare students
- ❌ Avoid: Over-relying on predictions without human judgment
- ❌ Avoid: Labeling students based on early data
- ❌ Avoid: Using analytics punitively
Data-Informed, Not Data-Driven
Analytics inform decisions but don’t replace professional judgment:
decision_framework = {
"analytics_indicates": "Student X predicted to fail",
"appropriate_response": [
"Reach out with support offer",
"Discuss challenges and barriers",
"Provide resources and options",
"Collaborate on success plan"
],
"inappropriate_response": [
"Give up on student",
"Reduce expectations",
"Label as 'lost cause'",
"Share prediction with student publicly"
]
}Troubleshooting
Problem: Analytics showing incomplete or missing data
Common Causes: - Recent course setup (insufficient data collected) - Student privacy settings blocking data collection - Integration issues with LMS - Students not engaging with platform
Solutions:
# Diagnose missing data
diagnosis = kai.analytics.diagnose(course_id="course_abc")
# Check data completeness
completeness = kai.analytics.data_quality.check(
course_id="course_abc",
expected_students=32,
expected_activities=15
)
# Verify integrations
kai.integrations.status(course_id="course_abc")Problem: Predictive analytics not matching reality
Solutions: - Allow 3-4 weeks for model calibration - Ensure sufficient historical data - Review and adjust risk factor weights - Validate predictions against outcomes - Consider class-specific factors
Problem: Too many metrics to track effectively
Solutions:
# Create focused dashboard
kai.analytics.dashboards.create_custom(
name="Essential Metrics Only",
course_id="course_abc",
widgets=[
"at_risk_students",
"class_average_trend",
"topic_difficulties_top_3"
]
)Problem: Students or institution worried about data collection
Solutions: - Share privacy policy clearly - Enable student data dashboards (transparency) - Allow opt-out options - Use aggregated data when possible - Conduct privacy audit
Support Resources
- Analytics Training: Schedule workshop
- Research Library: Evidence base for analytics
- Email Support: analytics@chi2labs.com
- Community: Analytics best practices forum
Next Steps: - Set up personalization features informed by analytics - Configure grading to track performance metrics - Review best practices for data-informed teaching - Explore integration options to combine analytics sources