# The Usefulness of Video Learning Analytics in Small Scale E-Learning Scenarios
## 3 Methods and Materials
### Data Analysis  
We set up an infrastructure to collect anonymous session data. The goal was to capture every student interaction with an educational video in order to be later processed and presented to teachers and other stakeholders. Videos were originally uploaded to the Vimeo online service (other services, such as YouTube, can be used too). A JavaScript library, popcorn.js, was used to intercept interactions between students and videos embedded in a webpage. Each collected interaction was then sent to a database for storage and posterior analysis. Therefore, it is not necessary to be the owner of a video in order to collect clickstream data: it is possible to collect information for any videos embedded in a webpage. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Course** & \begin{tabular}{c} **Number of** \\ **Videos** \\ \end{tabular} & **Video Durations** & **Accesses** & \
\begin{tabular}{c} **Sessions** \\ **Longer than 10\%** \\ \end{tabular} &
\begin{tabular}{c} **Recorded** \\ **Events** \\ \end{tabular} \\ \hline Database design & 4 (2 + 2) & 8:34–15:10 & 1208 & 572 (47.4\%) & 17,181 \\ \hline Introductory statistics & 4 & 7:11–12:07 & 408 & 320 (78.4\%) & 6239 \\ \hline Electronics & 8 (4 + 4) & 4:01–7:04 & 334 & 243 (72.8\%) & 2592 \\ \hline Non-traditional databases & 20 & 6:36–1:00:30 & 6741 & 2205 (32.7\%) & 44,987 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Summary of the analysed videos. While large scale scenario clickstream data collection would require an ad hoc back-end solution, for small scale scenarios almost any database can be used. In order to maximize compatibility, a solution using PHP (version 7.4) as the server language and MySQL/MariaDB (version 10.4) as the (relational) database was used. No measures were taken to prevent students from accessing videos directly in their hosting services. If students watched videos on the original hosting service webpage, no clickstream data was collected. Allowing students to watch videos as they preferred was prioritized over collecting all data. Our data scheme collects the following timestamped events: web page accessed; student clicks on the play/pause button (with the position of the play head in the video timeline as a parameter); student scrubs the timeline (with play head position); for videos where indexes are offered, clicks on a menu item moving the play head; play head reaches the end of the video (technological limitations make it impossible to capture all possible variations of this event); student closes the browser window or tab (again, technological limitations make it impossible to capture all possible variations of this event). The code for our solution has been licensed under an open-source license and has been published for public access [43]. Naturally, there are limitations to the quality and significance of the collected data. Firstly, we cannot mistake action data for attention data: a video being played for a given amount of time after the student has clicked play on it does not mean said student has been paying attention. In the same way, when a student rewatches a fragment of a video, we do not know if it is because she did not understand or, for example, because she was not paying attention due to some disruption. Thus, while the collected data and the analysis of their visualizations (see below) lead us to believe there is valuable information to be extracted from the observation of individual behaviour, caution is required when taking decisions affecting individuals. Only anonymous data was collected. This is in part because of technical limitations of the initial approach that have already been addressed, but also because of the regulatory [44] and ethical [45; 46] frameworks: anonymous data collection is both allowed by the legal framework and the institution's ethical committee without the need for explicit consent. For each video in each course, the collected data were processed. Firstly, we looked for anomalous data that may have been indicative of a problem with data collection.