Solved

Funnels for tracking lesson completion rates

  • 30 May 2023
  • 4 replies
  • 118 views

Badge

Hello everyone,

I’m seeking advice on how to instrument events for a specific use case.

We currently have “lesson assigned” event when teacher assigns a lesson to students, with the assignment id as event property. Teacher can assign a lesson to multiple students in one go, and we are tracking that as a single event. 

What would be the best way to track the conversion rate for “lesson completed” event for each individual student? Basically I’m looking for “lesson assigned” → “lesson completed” funnel while holding the assignment id constant, but I’m struggling to figure out how to achieve that, given that “lesson assigned” can be fired only once, but “lesson completed” can be fired up to 20 times if the lesson was assigned to 20 students? Does that technically means that we’d need to fire the “lesson assigned” event 20 times or there are other, clever, ways?

Any advice would be most welcome.

icon

Best answer by JennRu 31 May 2023, 00:03

View original

4 replies

Userlevel 5
Badge +9

Hey @aleksandra-asanin. Are you a Growth/ Enterprise customer? If so, you could create a Derived Property that splits what I assume is a single string of the multiple student IDs.

https://help.amplitude.com/hc/en-us/articles/5874857623707-Derived-properties-Add-new-event-and-user-properties-retroactively#derived-property-use-cases

As a simple example, if you have student_id = 'stud1|stud2|stud3' you could use SPLIT(student_id, '|') where | is the delimiter used here (you can choose whatever works for your values). In the resulting derived property (let’s call it student_id_split), you get a data row for each element split out from your original string...so you can then use that as a Group By in your assigned > completed funnel (assuming the original student_id event property is present in both of those events). You can apply the “holding constant” to ensure persistence of the same value in each of the funnel steps.

Userlevel 4
Badge +8

Hi @aleksandra-asanin, which User ID triggers the 2 events?

  • lesson assigned
  • lesson completed

In order to perform a funnel analysis on the 2 events, each event must be performed by the same User ID. The lesson assigned will need to be tracked at the unique student ID level. And then you can set an event property such as assigned by to identify the teacher ID, along with the assignment id 

 

Sample payload 

"event_type": "lesson assigned",

"event_properties": {

"lesson id" (or "assignment id"): "xxx",

"assigned by": "teacherID",

"lesson name": "xxx",

"path" (or "url" if applicable): "lesson.com",

"lesson level": "beginner"

},

"event_time": "2023-05-30 21:18:06.989000",

"user_id": "studentID",

 

Or to avoid confusion between existing data and new data, introduce a new separate event such as lesson started where the User ID is the student ID to analyze the conversion across student ID - triggered events from lesson started → lesson completed.

 

--------

Alternatively, has your team looked into leveraging account-level reporting? This is an add-on that can be purchased depending on your org’s plan. This enables you to group events based on a common group ID, such as assignment id , which could then be used to view the funnel conversion across events with different User IDs who belong to the same Group ID.

Badge

Hi, thank you so much for your help! @dangrainger @JennRu 

As of the moment we’re on the free plan and we’ve just started event instrumentation in Amplitude. Does Accounts add-on has a standard price or I’d need to get in touch with customer rep for this piece of information?

Userlevel 4
Badge +8

Hi @aleksandra-asanin thank you for confirming your plan. At this time you can only purchase the Accounts add-on feature once you upgrade to the Plus Plan. 

 

In your org instance, you can navigate to the pricing page in your upper right settings to reach more details about the Plus Plan & add-on features.

 

 


 

Does your team have limitations in introducing a new event such as lesson started or lesson received to track at the student ID level?

Side note: It might also be beneficial to consider categorizing your events, or update the event display name, or clearly label the event description to differentiate Teacher - driven actions vs Student - driven actions to avoid confusion in how these actions are cross-analyzed

Reply