Level completion rates script
This commit is contained in:
parent
d6b5c14123
commit
b33e3a93ba
5 changed files with 208 additions and 22 deletions
|
@ -1,5 +1,10 @@
|
|||
// Print out signup conversions per day
|
||||
|
||||
// Usage:
|
||||
// mongo <address>:<port>/<database> <script file> -u <username> -p <password>
|
||||
|
||||
// TODO: Dec 18th has more signups finished than started. Too good to be true.
|
||||
|
||||
var match={
|
||||
"$match" : {
|
||||
$or: [ {"event" : 'Started Signup'}, {"event" : 'Finished Signup'}]
|
||||
|
@ -73,13 +78,14 @@ var group={"$group" : {
|
|||
};
|
||||
var conversionsPerDay = {};
|
||||
var sort = {$sort: { "_id.d" : -1}};
|
||||
db['analytics.log.events'].aggregate(match, proj1, proj2, group, sort).result.forEach( function (myDoc) {
|
||||
// print({day: myDoc._id.d, amount: myDoc._id.m, count: myDoc.count})
|
||||
if (!conversionsPerDay[myDoc._id.d])
|
||||
conversionsPerDay[myDoc._id.d] = {}
|
||||
conversionsPerDay[myDoc._id.d][myDoc._id.m] = myDoc.count;
|
||||
})
|
||||
var cursor = db['analytics.log.events'].aggregate(match, proj1, proj2, group, sort);
|
||||
|
||||
while (cursor.hasNext()) {
|
||||
var myDoc = cursor.next();
|
||||
var key = myDoc._id.d.toDateString()
|
||||
if (!conversionsPerDay[key]) conversionsPerDay[key] = {}
|
||||
conversionsPerDay[key][myDoc._id.m] = myDoc.count;
|
||||
}
|
||||
for (key in conversionsPerDay) {
|
||||
print(key, conversionsPerDay[key]['Started Signup'], conversionsPerDay[key]['Finished Signup'], conversionsPerDay[key]['Finished Signup'] / conversionsPerDay[key]['Started Signup']);
|
||||
// print("Signup Conversion:", (finished / started * 100), "%");
|
||||
print(key + "\t" + conversionsPerDay[key]['Started Signup'] + "\t" + conversionsPerDay[key]['Finished Signup'] + "\t" + (conversionsPerDay[key]['Finished Signup'] / conversionsPerDay[key]['Started Signup'] * 100).toFixed(2) + "%");
|
||||
}
|
Reference in a new issue