diff --git a/scripts/analytics/mongodb/queries/latestEnabledTeacherTrials.js b/scripts/analytics/mongodb/queries/latestEnabledTeacherTrials.js
new file mode 100644
index 000000000..d04dbc153
--- /dev/null
+++ b/scripts/analytics/mongodb/queries/latestEnabledTeacherTrials.js
@@ -0,0 +1,83 @@
+// Latest enabled teacher trial requests
+
+// Usage:
+// mongo <address>:<port>/<database> <script file> -u <username> -p <password>
+
+var startDay = '2015-09-01';
+var endDay = '2015-10-01';
+print('Date range:', startDay, endDay);
+var prepaidCodes = getPrepaidCodes(startDay, endDay);
+print('Prepaid Codes found:', prepaidCodes.length);
+var userIDs = getEnabledUserIDs(prepaidCodes);
+print('Enabled users found:', userIDs.length);
+var userEmails = getUserEmails(userIDs);
+print('User emails found:', userEmails.length);
+for (var i = 0; i < userEmails.length; i++) {
+  print(userEmails[i]);
+}
+
+function objectIdWithTimestamp(timestamp) {
+  // Convert string date to Date object (otherwise assume timestamp is a date)
+  if (typeof(timestamp) == 'string') timestamp = new Date(timestamp);
+  // Convert date object to hex seconds since Unix epoch
+  var hexSeconds = Math.floor(timestamp/1000).toString(16);
+  // Create an ObjectId with that hex timestamp
+  var constructedObjectId = ObjectId(hexSeconds + "0000000000000000");
+  return constructedObjectId
+}
+
+function getPrepaidCodes(startDay, endDay) {
+  var startObj = objectIdWithTimestamp(ISODate(startDay + "T00:00:00.000Z"));
+  var endObj = objectIdWithTimestamp(ISODate(endDay + "T00:00:00.000Z"))
+  var cursor = db['trial.requests'].find(
+    {$and:
+      [
+        {'prepaidCode': {$exists: true}},
+        {_id: {$gte: startObj}},
+        {_id: {$lt: endObj}}
+      ]
+    },
+    {prepaidCode: 1}
+  );
+
+  var prepaidCodes = [];
+  while (cursor.hasNext()) {
+    var myDoc = cursor.next();
+    prepaidCodes.push(myDoc.prepaidCode);
+  }
+
+  return prepaidCodes;
+}
+
+function getEnabledUserIDs(prepaidCodes) {
+  var cursor = db['prepaids'].find(
+    {$and:
+      [
+        {code: {$in: prepaidCodes}},
+        {redeemers: {$exists: true}},
+        {$where: 'this.redeemers.length > 0'}
+      ]
+    },
+    {redeemers: 1}
+  );
+
+  var userIDs = [];
+  while (cursor.hasNext()) {
+    var myDoc = cursor.next();
+    userIDs.push(myDoc.redeemers[0].userID);
+  }
+
+  return userIDs;
+}
+
+function getUserEmails(userIDs) {
+  var cursor = db['users'].find({_id: {$in: userIDs}}, {emailLower: 1});
+
+  var userEmails = [];
+  while (cursor.hasNext()) {
+    var myDoc = cursor.next();
+    userEmails.push(myDoc.emailLower);
+  }
+  userEmails.sort()
+  return userEmails;
+}