Long Inactivity
Last updated
Last updated
Unizin Homepage
unizin.orgHosted Services
My Learning AnalyticsCopyright © 2023, Unizin, Ltd.
The mart_course_offering.long_inactivity mart surfaces students actively enrolled in courses in the current term with extended time without activity in the LMS. The mart_course_section.long_inactivity mart also includes this information, but at the course section level.
Extended time without activity is defined as either:
A person is actively enrolled in a course, but no Caliper events have been generated.
A person is actively enrolled in a course, but the latest Caliper event is at least 5-days in the past.
mart_course_offering
mart_course_section
The following visualization shows the construction of this data mart defined in the UDP marts repository. More information on the repository and diagram can be found on this marts page.
Type | Description | |
---|---|---|
udp_course_offering_id | INTEGER | The UDP ID of the Course offering. |
lms_course_offering_id | STRING | The LMS ID of the Course offering. |
udp_person_id | INTEGER | The UDP ID of the person. |
lms_person_id | STRING | The LMS ID of the person. |
academic_organization_array | ARRAY<STRING> | Array of string values for the academic organization(s) |
academic_organization_display | STRING | The name of the academic organization(s) as a string with comma separation. |
academic_term_name | STRING | The name of the academic term, i.e. Fall 2020. |
term_begin_date | DATE | The start date for the academic term. |
term_end_date | DATE | The end date for the academic term. |
course_offering_title | STRING | The title of the Course offering, i.e. Linear Algebra. |
course_start_date | DATE | The start date of the Course offering. |
course_end_date | DATE | The end date of the Course offering. |
instructor_display | STRING | An array of all the instructors' names for a Course offering written as a string. |
instructor_name_array | ARRAY<STRING> | An array of all instructors’ names for a Course offering. |
instructor_email_address_array | ARRAY<STRING> | An array of all instructors' emails for a Course offering |
instructor_email_address_display | STRING | An array of all instructors' emails for a Course offering written as a string. |
person_name | STRING | The name of the person. |
last_activity | DATETIME | The time of the person’s last activity in the Course offering. |
has_no_activity | INTEGER | Indicates if the user has no recorded activity in the course. 1 = no activity; 0 = any activity |
days_since_last_activity | INTEGER | The number of days between the last recorded activity and the current datetime. |
is_5_days | INTEGER | Indicates if the days since last activity is greater than or equal to 5 days. 1 = 5 days or greater. 0 = otherwise. |
is_7_days | INTEGER | Indicates if the days since last activity is greater than or equal to 7 days. 1 = 7 days or greater. 0 = otherwise. |
is_10_days | INTEGER | Indicates if the days since last activity is greater than or equal to 10 days. 1 = 10 days or greater. 0 = otherwise. |
is_14_days | INTEGER | Indicates if the days since last activity is greater than or equal to 14 days. 1 = 14 days or greater. 0 = otherwise. |
The course section mart includes all the fields found in the course offering mart, as well as two more fields, which are presented in the table below.
Field Name | Type | Description |
---|---|---|
udp_course_section_id | INTEGER | The UDP ID of the Course section. |
lms_course_section_id | STRING | The LMS ID of the Course section. |
This field is pulled from the mart_course_offering.last_activity datamart. Per person, per course we pull the most recent event timestamp, regardless of event type. This signifies the latest activity of any type for a student in a course.
For instances of active enrollment in the current term, an absence of Caliper events is checked here. If no Caliper events generated by the enrolled student can be found, we set this flag to 1. Otherwise, 0.
This is calculated using the DATE_DIFF function, and an integer representing the number of days between the current date and the last_activity for the person-course_offering/section:
A COALESCE to null is used for instances where has_no_activity applies.
These fields also adhere to a DATE_DIFF calculation with the current date. For the is_5_days field, the following logic is applied:
Again, we respect nulls first in cases of no activity. The only change for the 7, 10, and 14-day thresholds is in the >= check.
For the active academic term, we look for all rows in the academic_term entity whose term_begin_date is before the current date and whose term_end_date is after the current date. We filter out all courses and terms with dates outside of these bounds or terms with null values for begin and/or end dates.
For the "actively enrolled" students, we look at the role_status and enrollment_status values in course_section_enrollment.
Excluded role_status values:
Dropped
Wait Listed
Not Enrolled
No Data
None
Completed
Excluded enrollment_status values:
Inactive
Not Enrolled
No Data
None
Completed
OR logic is used here; if either a role_status or enrollment_status in the exclusion lists above surfaces for a student, that enrollment is filtered out of the final results.