Students at risk of dropping out

Revision as of 21:06, 10 November 2017 by Elizabeth Dalton (talk | contribs) (Limitations: formatting)

Jump to: navigation, search
New feature
in Moodle 3.7!


Beginning in version 3.4, Moodle core now implements open source, transparent next-generation learning analytics using machine learning backends that go beyond simple descriptive analytics to provide predictions of learner success, and ultimately diagnosis and prescriptions (advisements) to learners and teachers.

In Moodle 3.4, this system ships with a built-in model called "Students at risk of dropping out." This documentation describes this model in detail.

This model predicts students who are at risk of non-completion (dropping out) of a Moodle course, based on low student engagement. In this model, the definition of "dropping out" is "no student activity in the last week of the course." This prediction model uses the Community of Inquiry model of student engagement, consisting of three parts:

  • Cognitive presence
  • Social presence
  • Teacher presence


  1. This prediction model is able to analyze and draw conclusions from a wide variety of courses, and apply those conclusions to make predictions about new courses. The model is not limited to making predictions about student success only in exact duplicates of courses offered in the past.


  1. This prediction model assumes that courses have fixed start and end dates, and is not designed to be used with rolling enrollment courses. Models that support a wider range of course types will be included in future versions of Moodle.
    1. Because of this model design assumption, it is very important to properly set course start and end dates for each course to use this model. If both past courses and ongoing courses start and end dates are not properly set predictions cannot be accurate.
    2. Courses will not be included in training or predictions if the end date is before the start date.
  2. This model requires the use of sections within the courses, in order to split activities into time ranges.
  3. Courses with start and end dates further than one year apart will not be used.
  4. This model requires a certain amount of in-Moodle data with which to make predictions. At the present time, only core Moodle activities are included in the indicator set (see below). Courses which do not include several core Moodle activities per “time slice” will have poor predictive support in this model. This prediction model will be most effective with fully online or “hybrid” or “blended” courses with substantial online components.

Because the course end date field was only introduced in Moodle 3.2 and some courses may not have set a course start date in the past, we include a command line interface script:

$ admin/tool/analytics/cli/guess_course_start_and_end.php 

This script attempts to estimate past course start and end dates by looking at the student enrolments and students' activity logs. After running this script, please check that the estimated start and end dates script results are reasonably correct.


Students show no activity in the final week of the course (negative target)





Student enrolments

Valid samples

  • For prediction = ongoing courses
  • For training = finished courses with activity


Currently: per student enrolled in course: "at risk"

Recommended Time Splitting Methods

This depends on the typical length of courses and the length of the add/drop period (if relevant). If you wish to see predictions within the first two weeks of a 16 week course, you will need to use "tenths." (16 weeks = 112 days, so predictions will be calculated approximately every 11 days.) However, if you wish to see predictions every two weeks in an 8 week course, "quarters" will suffice. Remember, the evaluation process will iterate through all enabled time-spitting methods, so the more time-splitting methods enabled, the slower the evaluation process will be each time it runs (and the longer the model will take to train).