Skip to content

Instantly share code, notes, and snippets.

@mixpanel-bot
Created April 1, 2015 22:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mixpanel-bot/d0b0ac2699e1be3fb1ea to your computer and use it in GitHub Desktop.
Save mixpanel-bot/d0b0ac2699e1be3fb1ea to your computer and use it in GitHub Desktop.
Step four in Mixpanel Platform's DAU/MAU by country tutorial
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="https://cdn.mxpnl.com/libs/mixpanel-platform/css/reset.css">
<link rel="stylesheet" type="text/css" href="https://cdn.mxpnl.com/libs/mixpanel-platform/build/mixpanel-platform.v0.latest.min.css">
<script src="https://cdn.mxpnl.com/libs/mixpanel-platform/build/mixpanel-platform.v0.latest.min.js"></script>
</head>
<body class="mixpanel-platform-body">
<script>
var eventName = 'Button clicked'; // replace with event name of your choice
var $dau = MP.api.segment(eventName, 'mp_country_code', { // use segment query on eventName, and segment the data by country
from: moment().subtract(30, 'days'), // 'from' date should be one month ago
to: moment().subtract(1, 'days'), // 'to' date should be yesterday; partial data for today impacts DAU more than it does MAU
unit: 'day', // we want the number of button clicks for each day of the month
type: 'unique' // daily counts should be unique; multiple clicks by the same person in one day should be counted only once
});
var $mau = MP.api.segment(eventName, 'mp_country_code', { // use segment query on eventName, and segment the data by country
from: moment().subtract(30, 'days'), // 'from' date should be one month ago
to: moment().subtract(1, 'days'), // 'to' date should be yesterday; partial data for today impacts DAU more than it does MAU
unit: 'month', // we want the number of button clicks that occured over the month
type: 'unique' // multiple clicks by the same person during any point in the month should be counted only once
});
$.when($dau, $mau).done(function(dau, mau) {
// average the DAU values and divide them by the MAU ones
// (we sum the MAU in the case where the 30 days spans over two months)
var dauMau = dau.avg().divide(mau.sum()).values();
console.log(dauMau);
});
</script>
</body>
</html>
@bluevakili
Copy link

If one of your segments has zero events, this will give a division by zero error

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