Posted on Nov 23, 2017 | Rating

Performance Statistics

This asset provides Java libraries for automatic server-side learning analytics interpretation.

Short non-technical description: This asset provides Java libraries for automatic server-side learning analytics and risk assessment. The libraries include classes for compiling a statistically validated group performance measurement as well as classes for comparing players to groups, comparing groups to other groups, and assessing whether a player has a low score compared to a group. All classes update score per datapoint and do not require intermediate access to a database, making them suitable for online big-data systems such as apache storm/trident.

Technical description:

This asset provides seven classes for representation and processing of performance analytics. Classes include a group performance resource class and classes for updating, assessing, and serializing/deserializing. These classes could be used to assess the performance of a student compared to a group on a specific game level. Alternatively they could be used to compare multiple groups and in that way compare also compare multiple levels (for instance for the purpose of balancing game level order during playtesting).

Required input is simply a Double representing a student's score on some subsection of a game (such as a level or task). The double should be of an interval value type (so no categories such as '1 = good / 2 = bad').

Output depends on the requested operations by class. The risk assessment produces a boolean result (student at risk = true/false) for student vs group comparison.

An integer output (0 = groups are equal, 1 = group one scores higher, 2 = group 2 scores higher) for group vs group comparison.

The serializer produces a JSON string for the group data.

Note! Please be aware that the accuracy of statistics is initially low. Accuracy increases with more datapoints and 250 datapoints (playthroughs) is recommended for excellent accuracy. Therefore the advised performance reference group for a game level is a group containing all students that have played a level so far (as opposed to using school class groups of small sizes such as 10-20 students as the main reference group).


The component is available "as is" without warranties or conditions of any kind. The authors of the software are not planning to provide any kind of technical support to third parties on any issue they may find with the component.

Date: Sep 1, 2017

Language: English

Access URL:


Learning analytics


player profiling

Game development environment: Other

Target platform: Other

Programming language: Java

Version: 1.0

Version notes: This is the initial release of the performance statistics asset. Future releases will include more extensive analytics, use-case examples, and implementation examples

Development status: Under Development

Commit URL:

Type: Apache 2.0 (Apache License 2.0)


Personal skills
Computers in other domains
Component Analytics

Related Articles

Client Side Game Storage Asset
Rage project, Rage project, Open University of the Netherlands

Dialogue Scenario Reasoner
Utrecht University, Rage project, Johan Jeuring

Real-time Facial Emotion Detection Software Component
RAGE Project, Open Universiteit, Kiavash Bahreini, Rage project, Kiavash Bahreini

Competence Component v2
Matthias Maurer, Alexander Nussbaumer, Christina Steiner, Rage project, Graz University of Technology

Component Unity Tracking SDK
ENVISAGE H2020, Marc Müller, Rage project, GmbH

LipSync Generator
Utrecht University Virtual Human Controller, Rage project, Utrecht University

BML Realizer
Utrecht University Virtual Human Controller, Rage project, Utrecht University

Dialogue Scenario Editor
Utrecht University, Rage project, Johan Jeuring

Player-centric rule-and-pattern-based adaptation asset
Dessislava Vassileva, Rage project, Sofia University