In a recent blog post IMS Global CEO Rob Abel stated, "Analytics is kind of a 20-year horizon project in education if you consider all the pieces."1 The thought of a 20-year horizon was a bit shocking but the more I thought about it the more it made sense. We are so early in learning analytics that it is going to take some time, maybe a lot of time, to get it right. However, as with most complex problems, if you break learning analytics down into its component parts it becomes a lot less daunting.
Enter the Learning Analytics Diamond. Developed by Aaron Zeckoski for the Apereo Learning Analytics Initiative, the Learning Analytics Diamond breaks the analytics process into five distinct steps or components: Collection, Storage, Analysis, Action, and Communication. The Collection step typically involves capturing learner interaction with existing systems, such as learning management systems, and representing those events in a standard format (e.g. xAPI or IMS Caliper). The Storage step takes the collected events, persists them for future use, and optionally aggregates and normalizes the data for statistical and reporting purposes. Analysis uses the event data usually mixed with other data sources (e.g. demographic, outcomes, etc) to draw conclusions about the data set. The Action step uses the output of the Analysis and does something meaningful with it such as a learner intervention. Finally, the Communication component takes data from all of the other components and presents it in an easily interpreted way, typically via a dashboard-like user interface.
There is no question that even broken down into its component parts learning analytics can be a bit overwhelming. Luckily where you need to start - the collection step - is probably the most straightforward in terms of implementation. Collection starts with planning. First consider the events that are generated in your application. Most events, even the most trivial such as login or logout, have some utility in the context of analytics so it is best use a strategy of inclusion when it comes to determining which events you want to capture. Once you have cataloged the available events, the next step is to implement event capturing. It's likely that you are already doing some level of event capturing in the form of logging, so looking at what and where you are logging is a good way to begin your implementation. You don't want event capturing to adversely impact the performance of your application so consider implementing capturing in an asynchronous manner such as using publish/subscribe messaging to handle the event processing. Finally, don't lock your application into a single event format (standards-based or otherwise) - consider using a normalized, generic event format internally that can be easily transformed into another format.
Now that your application is collecting events, it is time to make them available for storage. Often there is a need to define which events will be stored on a case by case basis (e.g. all events, only student events, etc) so you'll want to build some flexibility into your implementation that will allow event storage to be configurable. Next determine the storage formats that your application should support. Typically this will include xAPI (tincan) and the emerging IMS Caliper formats, but it is likely that you'll need to support some custom formats as well. Finally consider how you will make the events available for storage - will you support real time event streaming, batch processing, or flat file output? Most storage applications expect events to be pushed via restful web service, but again flexibility is key so plan for more than one output mechanism.
Where are you in your learning analytics journey? If you're at the beginning and ready to get started with event collection, Unicon can help. Unicon has experience planning and implementing event collection across a wide variety of applications. If you are interested in seeing an example of Unicon's work around event collection, take a look at the Sakai xAPI Provider implementation developed by Unicon as part of the Apereo Learning Analytics Initiative. If you are already capturing events and are navigating the various event format standards, Unicon can help there too. Unicon technologists are the primary developers of OpenLRS, an open source Learning Record Store that supports the xAPI specification, and soon will support IMS Caliper as well.
Stay tuned for the next article in this series, which will discuss the Storage stage of the Learning Analytics process.