[WIP] User Group Strategy
Background: Community Needs Driving the Project
We’ve heard many use cases that demonstrate the need for thoughtfully expanding user grouping capabilities on the platform. Although the ways course delivery teams want to be able to define and utilize user groups on the platform vary, course teams share a common need to be able to tailor the learning experience for subsets of users in a course, within an organization, or across the platform.
Value and Impact
Not all users are the same. Because of this, there is tremendous opportunity in allowing course delivery teams and administrators to segment users in a course, in an organization, and across the platform.
We recognize that there are already a few different ways to group learners on the platform. Cohorts, teams, and track groups all exist for different purposes. These grouping mechanisms allow course delivery teams to randomly assign users to a group, group users based on enrollment track, username, or email address. The Teams feature even allows users to assign themselves to a team.
The broader strategic goal for user grouping on the platform is to (1) simplify user grouping by bringing all user group creation and management together into one place and to (2) expand user grouping functionality by giving users the ability to segment users by their characteristics and/or the things they do (or don’t do) on the platform.
With simplified, more robust user grouping capabilities, we expect that user grouping will be easier to do and understand for users and will encourage platform administrators and course delivery teams to use these powerful capabilities more often.
With a centralized and powerful user grouping feature, the Open edX platform will equip course delivery teams and administrators to deliver tailored content to learners and to provide support to learners based on their engagement or performance.
Use Cases
Groups
As a course delivery team member, groups I want to be able to create at the course level are…:
Coursewide Enrollment-related groups:
Learners enrolled in the course in X enrollment track ← Note: This is type of group currently exists on the platform by way of course/track groups.
Coursewide Engagement-related groups:
Learners enrolled in the course, but haven’t logged into the course
Learners enrolled in the course, but haven’t logged into the course in N or more days
Learners enrolled in the course who have engaged with at least one page in the course, but have not engaged with course material in N or more days (this group where N is 7 is used to generate the Aspects At-Risk Learner Group dashboard)
Learners enrolled in the course on X enrollment track who have engaged with course material within the past N days
Assignment-related groups:
Learners enrolled in the course who haven’t completed an (specific) assignment
Learners enrolled in the course who have started an (specific) assignment, but have not yet completed it
Learners enrolled in the course who have N grade or lower (or higher) on a specific assignment
Coursewide Performance-related groups:
Learners enrolled in the course who have N grade or higher (or lower) in the course
Learners enrolled in the course who have N grade or higher and are active in the forums
Learners enrolled in the course who have earned a certificate
Component engagement-related groups:
Learners enrolled in the course who watched a (specific) video (s)
Learners enrolled in the course who attempted (specific) problem(s)
Learners enrolled in the course who attempted specific problem(s) and their final attempt was correct (incorrect)
Learners enrolled in the course who answered X on a specific problem or survey
Learners enrolled in the course who submitted an ORA response
Use cases for creating a group made up of a list of learners:
I have a list of learners that my organization considers “at risk”
I have a list of learners that have certain accessibility needs
Specific course staff members
Use cases for excluding users from a group:
I want to exclude residential learners from this group (same domain name)
I want to exclude course staff from this group
Other:
Course staff
Utilizing Groups
As a course delivery team member, I want to do the following with the groups I’ve created:
I want to be able to communicate with a subset of learners (via email or notification depending on the use case and learner notification preferences). See Example Communications for example use cases that came up in discovery.
Event-triggered communications (to a subset of learners) ← Note: Event-triggered notifications to all applicable learners in my course is another popular need, but does not rely on user grouping.
I want to be able to tailor the course content for learners in a particular group and/or deliver the same course plus supplemental content and problems to a subset of learners in my course based on what the learner does in the course, learner characteristics, etc.
Specific examples:
For learners who answered the survey at the beginning of my course with X as their primary area of interest, I want to tailor the problems and examples given throughout the course course to their interests to help keep them engaged.
For learners who did not get a problem correct (on their final attempt) or scored N or less on the initial/preliminary assessment, I want to deliver supplemental content to those learners about the topic they struggled with and re-test these concepts later on in the course.
I want to be able to easily compile and download a list of learners that meet certain criteria based on their characteristics, their course engagement, and/or their course performance.
I want to be able to view course enrollment, engagement, and performance data for a list of learners that meet certain criteria based on their characteristics, their course engagement, and/or their course performance.
I want to be able to automatically reset attempts for (specific) problem(s) for a subset of learners who are not performing well on an assignment or those that got their final problem attempt(s) wrong for (specific) problem(s) in order to keep them engaged with coursework.
Example Communications
Manual and/or scheduled communications
Engaging/ re-engaging learners in a course
I want to reach out to…
Learners enrolled in the course, but haven’t logged into the course
Learners enrolled in the course, but haven’t logged into the course in N or more days
Learners enrolled in the course who have engaged with at least one page in the course, but have not engaged with course material in N or more days (this group where N is 7 is used to generate the Aspects At-Risk Learner Group dashboard)
… and get them excited about what course material is coming up next OR the exciting things they’ll learn or that other learners before them have done in the course, so that I can get them excited about the course OR what’s next in the course as a way of compelling them to reengage with course material.
--
I want to reach out to…
Learners enrolled in the course who have N grade or lower (or between M and N grades) in the course when there are N days left before the course closes, so that I can remind learners of the upcoming course close date and encourage them to complete course material.
Assignment-specific communications
I want to reach out to…
Learners enrolled in the course who haven’t completed an (specific) assignment, so that I can encourage them to attempt the assignment; Provide tips on how to best prepare (what to review) and/or let them know if they’ll get multiple attempts on problems that this assignment is about giving it a try and learning as they go rather than perfection.
Learners enrolled in the course who haven’t completed a specific assignment N days before the assignment due date, so that I can encourage them to attempt the assignment and remind them of the assignment due date
Learners enrolled in the course who have started an (specific) assignment, but have not yet completed it to nudge the learner to complete what they’ve started.
Learners enrolled in the course who have N grade or lower on a specific assignment with a custom message specific to assessment material and how to best prepare for the assignment; OR to let them know that I’ve opened the problems in this assignment up for another attempt (if that’s the case); OR redirect the learner to a different course (when applicable).
Convert or recruit learners
I want to reach out to…
Learners enrolled in the course on a non-certificate enrollment track who have engaged with course material within the past N days, so that I can acknowledge their engagement with course material and encourage them to sign up to earn a certificate in the course ahead of the course verification deadline.
Learners enrolled in the course who have N grade or lower in the course, so that I can redirect learner to a different, more entry-level course on that topic.
I want to reach out to…
Learners enrolled in the course who have earned a certificate in the course
Learners enrolled in the course who have a grade of N or higher
… to suggest another related course / the next course in a program or series.
Event-triggered communications
When a learner enrolls in the course via X enrollment track, I want to send them a nudge get them excited about what they’ll learn in the course.
When a learner enrolled in the course via X enrollment track engages with the last problem or video before an assignment, I want to send them a nudge to encourage them that they are ready and let them know it’s time to complete the assignment.
When a learner enrolled in the course with N grade or lower engages with X component (the component in the course where I lose the most learners), I want to send them a nudge to get them excited about the content that follows.
When a learner creates a discussion post, I want select staff in my course to get an email or a notification letting them know.
When a learner enrolled in my course submits their final attempt at a problem and the answer is X (or the answer is incorrect), I want to let them know if I’ll reset the problem attempts for them, so that they can take another attempt at the assignment, what resources they should re-review to better prepare, or even suggest a beginner-level course on the assignment topic.
When a learner enrolled in my course submits their final attempt at a problem and the answer is correct, I want to send them a message of encouragement to keep going.
When a learner enrolled in my course completes an assignment and their grade is N or lower, I want to let them know if they get another attempt at the assignment, what resources they should re-review, or even suggest a beginner-level course on the assignment topic.
When a learner enrolled in my course completes an assignment and their grade is N or higher, I want to congratulate them on a job well done and encourage them to keep going.
What We Propose to Build
Our goal is to create a single user grouping mechanism that allows administrators and course delivery teams to create and manage subsets of users in a course, in an organization, or across the platform. In addition to being able to randomly assign users to a group, group users based on enrollment track, username, or email address, or to allow users to assign themselves to a team, we want to introduce a way to group users by their characteristics or their platform activity.
The idea would be that once user groups are created, administrators and course delivery teams would be able to utilize these groups in a number of different ways.
How We Propose to Build It
Currently in discovery
How will we manage transition?
Currently in discovery
Key Capabilities
Define, name, save, and edit user group at the course, organization, and platform level
Include/exclude a list of learner(s) manually or by uploading a CSV file
Include/exclude learners that share criteria (attributes and/or events)
Randomly assign users to a group
Allow users to join a group
Disable user group
Stops automatic refreshing of dynamic groups
Stops any interventions associated with the group
View… for user group
Metadata (including group name, grouping criteria, number of users in group, date last modified)
Data (such as the list of users in the group, enrollment, engagement, performance data)
For instances running Aspects, this will be possible by allowing users to filter existing dashboards by a user group.
Export list of users in group
Utilize user group
Notify/communicate with user group(s)
Notify/communicate with user group(s) when a triggering event or date/datetime occurs
Assign content groups to a user group (formerly cohorts and track/course groups)
Link user groups/user group sets to discussions and projects (formerly teams)
Custom usage of user groups:
Examples:
I want to be able to re-set the number of attempts for X problem for users in a group
I want to be able to grant an extension to all users in a group
Key Concepts
See Key Concepts