MTU Billing

Billing for most Enterprise Mixpanel accounts is calculated based on Monthly Tracked Users (MTUs). This article answers some common questions about this billing process.

How Are Monthly Tracked Users Calculated?

MTUs are calculated across all projects under a specific project owner. For each project, MTUs are calculated as the number of distinct_id’s with at least one qualifying MTU event in the last month.

Events that are non-qualifying and excluded from the calculation:

  • Message Sent ($campaign_delivery)
  • Message Bounced ($campaign_bounced)
  • Message Marked Spam ($campaign_marked_spam)
  • Message Suppressed ($message_suppressed)
  • Message Unsubscribed ($unsubscribe)
  • Campaign Entered ($journey_entered)
  • Updates to people profiles

Also, note that Mixpanel generated messages will not count toward your total MTU calculation. However, Message Open events will count towards MTU.

While it appears that it would be possible to calculate MTUs by viewing the "Anything" event in Retention, this method doesn't match the final definition of an MTU (because of the excluded events). As a result, your true MTU numbers aren’t expected to match the numbers in Retention.

Here is an example JQL query to calculate MTUs:

function main() {
return Events({
from_date: '2018-09-01',
to_date: '2018-09-30',
event_selectors: [{
selector: 'not (event["$event_name"] == "$campaign_delivery" \
or event["$event_name"] == "$campaign_bounced" \
or event["$event_name"] == "$campaign_marked_spam" \
or event["$event_name"] == "$journey_entered" \
or event["$event_name"] == "$message_suppressed" \
or event["$event_name"] == "$unsubscribe")'
}]
})
.groupByUser(mixpanel.reducer.count())
.map(user => ({
num_triggered: user.value >= 1 ? 1 : 0,
event_count: user.value
}))
.reduce((accumulators, users) => {
const result = {num_triggered: 0, event_count: 0};
_.each(users, user => {
result.num_triggered += user.num_triggered;
result.event_count += user.event_count;
});
_.each(accumulators, accumulator => {
result.num_triggered += accumulator.num_triggered;
result.event_count += accumulator.event_count;
});
let scale_multiplier = 0;
if (result.num_triggered !== 0) {
scale_multiplier = Math.max(1, (result.event_count / (result.num_triggered *1000)));
}
result.total_mtus = parseInt(result.num_triggered * scale_multiplier);
return result;
});
}

 

How Are Customers Alerted of Overages?

The billing owner will be sent an overage alert email if their account has exceeded their plan volume by the following percentages: 85%, 100%, 110% and 120%. Email addresses that are cc-ed on invoices will also be cc-ed on overage alert emails. In order to qualify for an alert, a customer must not have received that alert in the same calendar month.

If the billing owner logs into mixpanel.com, they will see a popup if their account has exceeded their plan volume by the following percentages: 100%, 110% and 120%.

Is this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.