cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Surveyor

How to calculate students “Total Activity” time spent in a course with Canvas Data?

Dear Instructure Data team,

Academics & administrators can see “Total Activity” for each student displayed on a courses “People” page here:

260631_pastedImage_1.png

  1. I’m assuming the above does not include the activity from Mobile Apps is this correct?
  2. How is the above calculated by Instructure?
  3. What would the SQL query be against Canvas Data ? (assuming you had all the CanvasData files/tables in a relational database)
  4. If you were using tableau.com, what would the setup and visualisation look like? (comparing the time difference between web & mobileApps would be interesting)

Answers to the questions above would help answer these questions being asked at my college:

“What is the average engagement time spent and number of visits per user per module...We would ideally want this information in a very condensed form e.g. 5.6 hours per user and 65 visits per user”

I can see similar questions have been asked before and maybe I have missed the answer?

https://community.canvaslms.com/message/75612-what-does-total-activity-actually-mean

https://community.canvaslms.com/message/52681-time-spent-in-modules

https://community.canvaslms.com/message/4448

https://community.canvaslms.com/docs/DOC-6061-obtaining-and-using-access-report-data-for-an-entire-c...

https://community.canvaslms.com/message/81966-logging-in-and-out-affecting-total-activity-time

Are there any public standards for the calculation of users time usage in web applications?

e.g. are there IMS Global specifications being followed to calculate this "Total activity"

Kind regards

Jago

5 Replies
Highlighted
Surveyor

At the moment I don't have time to get to the bottom of this... but I've traced  some of the logic back from the Course People page below for when I or some else does have time to clarify and explain properly how this is calculated.  You can glean a bit from below:

Course People page:

260872_pastedImage_2.png

canvas-lms/rosterUsers.handlebars at 0e9ae3f5f65b7885777ffa27ef5a08747e7ac578 · instructure/canvas-l... 

Total actity can be pulled from the Enrollments API endpoint

Enrollments - Canvas LMS REST API Documentation 

So is handled and stored there e.g:

class Enrollment
   class RecentActivity

...  extract from file:

260891_pastedImage_3.png

File: \canvas-lms\app\models\enrollment\recent_activity.rb

In selenium tests?:

260892_pastedImage_4.png

File: \canvas-lms\spec\selenium\people_spec.rb

I found 21 usages of "total_activity_time" in the git repo github.com/instructure/canvas-lms

Jago

Highlighted

...I think a more accurate  and less misleading name than "total_activity_time" would be "total_web_browser_activity_time" as presumably this value includes time spent using any webbrowser client, on any device:

  • desktops, laptops
  • tablets, mobile phones...

However it does not include activity time using the Android & IOS mobile apps

262253_pastedImage_5.png

Also the documentation is incorrect - the  "computed_" prefix does not seem to be in use currently:

262254_pastedImage_7.png

Enrollments - Canvas LMS REST API Documentation 

Jago

Highlighted
Adventurer

What would the SQL query be against Canvas Data ? (assuming you had all the CanvasData files/tables in a relational database)

Last week I could not find this actual total_activity_time that exists when you do an LTI call in any of the Canvas Data tables.  I ended up making a new table as well as a script that runs an api call on each enrollment and then writes the results to the database simply so I could get that total_activity_time.  Smiley Sad 

It would be nice if this were in enrollment_rollup_dim like other similar data...

Thanks!  Smiley Happy

Joni

Highlighted
Community Member

Is it possible to create an instructor dashboard that visualizes student flow/behavior instead of looking at timestamps.  A nifty heat map?  That would be handy - especially with idle times, flow, pages etc.. Maybe Elastics Kibana can do this for canvas?

Highlighted

A heat map would be useful/interesting althought I don't think it possible to get simply from the enrollements API

On a more prosaic  note, I've noticed a number of students have run up very high total_activity_time in the enrollment API - in our Module Monitoring Report. This is likely due to the module being open in a browser tab. I'm wanting to know if  there is any way Instructure will be limiting this kind of unattended time or ending the browser session so it doesn't distort stats?

292018_pastedImage_2.png

Interestingly I couldn't find the heat maps in Google analytics I could some years back although, Instruture track all our sites with GA and my guess is they will be generating heat maps to understand their product use and it would be interesting to see these

Jago

Top Kudoed Authors