Skip to content

Instantly share code, notes, and snippets.

@satulovsky
Last active January 15, 2017 22:37
Show Gist options
  • Save satulovsky/e5fa35269629b0b2cbbd9683d47fd7f2 to your computer and use it in GitHub Desktop.
Save satulovsky/e5fa35269629b0b2cbbd9683d47fd7f2 to your computer and use it in GitHub Desktop.
ToT Scoring notes
// INPUT for ToT Planing score (Insights)
[
{
"namespace": "com.lumosity.insights.tot.planning.score",
"name": "userRecords",
"type": "record",
"doc": "Set of ToT gameplay records associated to a user",
"fields": [
{ "name": "userId", "type": "long" },
{ "name": "UserGameplayRecordArray",
"type":{ "type": "array", "items": "com.lumosity.insights.tot.planning.score.UserGameplayRecords" }}
]
},
{
"namespace": "com.lumosity.insights.tot.planning.score",
"name": "userGameplayRecords",
"type": "record",
"doc": "Information of a ToT gamplay used to calculate a TP (Train of Thought Planning) Score",
"fields": [
{ "name": "gameId", "type": "int" },
{ "name": "gameResultId", "type": "long" },
{ "name": "selectedLevel", "type": "int" }, // userLevel is messed up in a few users, selectedLevel seems fine
{ "name": "diagram", "type": "string" },
{ "name": "timestamp", "type": "int", "logicalType": "date"}, // client timestamp
{ "name": "trialsCsv", "type": { "type": "array", "items": "com.lumosity.insights.tot.planning.score.trainRecords" }},
{ "name": "switchCsv", "type": { "type": "array", "items": "com.lumosity.insights.tot.planning.score.switchRecords" }}
]
},
{
"namespace": "com.lumosity.insights.tot.planning.score",
"name": "trainRecords",
"type": "record",
"doc": "Events associated to Spawnning trains and train station arrivals",
"fields": [
{ "name": "correct", "type": "boolean" },
{ "name": "destination", "type": "int" },
{ "name": "spawnTimeOffset", "type": "long" }
]
},
{
"namespace": "com.lumosity.insights.tot.planning.score",
"name": "switchRecords",
"type": "record",
"doc": "Switch event information",
"fields": [
{ "name": "address", "type": "int" },
{ "name": "timeOffset", "type": "long" }
]
}
]
// OUTPUT of ToT Planing score (Insights)
[
{
"namespace": "com.lumosity.insights.tot.planning.score",
"name": "planningScore",
"type": "record",
"doc": "Planning score associated to a Train of Thought user",
"fields": [
{ "name": "userId", "type": "long" },
{ "name": "planningScores", "type": { "type": "array", "items": "int" }}, // [1, 2, ... , 8], where 1
{ "name": "ageGroupPlanningScores", "type": { "type": "array", "items": "int" }}, // [1, 2, ... , 8]
{ "name": "gameLevel", "type": "int" }, // [3, ... , 14]
{ "name": "numberGameplaysUsed", "type": "int" },
{ "name": "timestamp", "type": "int", "logicalType": "date"} // client timestamp
]
}
]
@timchan-lumoslabs
Copy link

👍 Looks great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment