Currently, creating a new learning analytics model in Moodle requires PHP coding, even to create a variant of an existing model with different indicators. It should be possible to create many models out of the reusable parts in the learning analytics system from the web UI. In this proposal, the current list of analytics models would be slightly simplified (removing the indicator display and truncating the width of the "insights" drop-down), and the ability to add, duplicate, edit, and delete simple models using only Events would be implemented. It would be possible to export, share, and import models, perhaps as xml or JSON files, including training data.
The new Edit Model page should offer the following parameters:
- Model name (must be unique)
- Construct a model by defining Targets and Indicators using Events. The date of the Event is used for all time-splitting and sample definitions. New Targets and Indicators are created by programming new Events. (Static indicators, not expected to change while the model is making predictions, may also be included.)
- Set default indicators from available list (they can be edited later).
- Set default time-splitting method (predictions per sample). These should be generalized to "n equal proportions", "n equal proportions cumulative" (for fixed-length courses), "once per n time", "once per n time cumulative" (for both fixed-length and open-enrollment courses), and any specialized time-splitting methods implemented on the site. Select the appropriate timestamp column from the report specified to use in time-splitting methods.
- Create notifications with the following parameters (this is similar to Event monitoring rules, and might be an enhancement of that feature to support administration of role-based subscriptions at the site level and Actions to take upon notification) See also MDL-61806:
- Recipient (by role)
- Sensitivity (e.g. send the notification if the model predicts >=80% likelihood of target, <=5% likelihood, etc.)
- Text of notification (using placeholders similar to Event monitoring rules)
- Select actions to offer with this notification from available list (e.g. "send message to <role>") See MDL-62097
- Generate and register model
- Export model settings to sharable format (optionally with training data)
We need some new events to serve as targets, e.g. "student completed course," "student achieved passing final grade in course (at course end date)", "student took any action in last [timespan] before course end date". The last two require that events checking student status be triggered from a "Course ends" event.