<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mixpanel - Real-time Web Analytics</title>
	<atom:link href="http://blog.mixpanel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mixpanel.com</link>
	<description>Get data driven</description>
	<lastBuildDate>Thu, 23 Feb 2012 00:05:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Announcing the ability to export your raw data</title>
		<link>http://blog.mixpanel.com/2012/02/22/announcing-the-ability-to-export-your-raw-data/</link>
		<comments>http://blog.mixpanel.com/2012/02/22/announcing-the-ability-to-export-your-raw-data/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 17:21:48 +0000</pubDate>
		<dc:creator>Suhail</dc:creator>
		
		<guid isPermaLink="false">http://blog.mixpanel.com/?p=469</guid>
		<description><![CDATA[Today we would like to announce the ability to export any data you insert into Mixpanel. It&#8217;s finally ready for prime-time, after testing with some of our biggest customers on data sets ranging into 100s of millions of data points. You find the official documentation for the API here: https://mixpanel.com/docs/api-documentation/exporting-raw-data-you-inserted-into-mixpanel Here are some useful examples [...]]]></description>
			<content:encoded><![CDATA[<p>Today we would like to announce the ability to export any data you insert into Mixpanel. It&#8217;s finally ready for prime-time, after testing with some of our biggest customers on data sets ranging into 100s of millions of data points.</p>
<p>You find the official documentation for the API here: <a href="https://mixpanel.com/docs/api-documentation/exporting-raw-data-you-inserted-into-mixpanel">https://mixpanel.com/docs/api-documentation/exporting-raw-data-you-inserted-into-mixpanel</a></p>
<p>Here are some useful examples of ways you can use this to your advantage:</p>
<ul>
<li>If you&#8217;re advertising on mobile, you can export and analyze all the UDIDs that advertisers are claiming they got for you. This helps you with attribution and de-duplication if you&#8217;re working with multiple advertisers.</li>
<li>If you saw a spike of 10,000 events but noticed only a few unique users contributed to it, you can now dive a bit deeper to determine what exactly happened.</li>
<li>If there&#8217;s a particular feature Mixpanel can&#8217;t do (we&#8217;d love to hear about what that case is by the way: support@mixpanel.com), you can always feel safe knowing there&#8217;s a way to get it. You can avoid having to store the data on your side manually from now on.</li>
</ul>
<h3>Feature highlight</h3>
<p>One feature we would like to highlight is the ability to filter on a property or segment. Not only can you say &#8220;I want all the data from this date to this date&#8221; but you can also say &#8220;I want all this data from this date to this date where my property <em>source</em> = google.&#8221; Check out the &#8220;where&#8221; parameter in the documentation which can handle all kinds of expressions.</p>
<p>As always, please let us know if you run into any problems by emailing <a href="mailto:support@mixpanel.com">support@mixpanel.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2012/02/22/announcing-the-ability-to-export-your-raw-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Product Development and Experiments</title>
		<link>http://blog.mixpanel.com/2012/02/02/product-development-and-experiments/</link>
		<comments>http://blog.mixpanel.com/2012/02/02/product-development-and-experiments/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 22:34:38 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<guid isPermaLink="false">http://blog.mixpanel.com/?p=453</guid>
		<description><![CDATA[The following is a guest blog post from Michael Twardos, Director of Analytics at Mog. If you&#8217;re interested in writing a post, please get in touch. Testing is an essential part of life. We touch the water with our toes before we jump in. We taste a piece of new food before we eat the entire meal. [...]]]></description>
			<content:encoded><![CDATA[<p><em style="font-style: italic;">The following is a guest blog post from <a href="http://www.linkedin.com/profile/view?id=3929678">Michael Twardos</a>, Director of Analytics at <a href="http://mog.com">Mog</a>. If you&#8217;re interested in writing a post, please get in touch.</em></p>
<p>Testing is an essential part of life. We touch the water with our toes before we jump in. We taste a piece of new food before we eat the entire meal. We test drive cars and skis before we buy them. In general, we try to collect information when it is available to make future decisions about larger investments. In some ways, measuring cause and effect is easy: When you can hold &#8220;everything else constant&#8221;, its easy to determine that a new pair of sneakers gave you blisters and a shampoo you used gave you dry scalp and not the other way around. But in other cases it is more difficult: was it the coffee or the wine or the soda you drank yesterday (or a combination of all three) that gave you a stomach ache last night?</p>
<p>When building software that is used by many customers the same problem presents itself. Was it the new algorithm or the new module that generated an increase in average engagement for users? Did the new user tutorial or the coupon offer drive a higher conversion rate? One way to isolate the effects from these potential sources is to introduce them one at a time and see what measures change. But this is not realistic: other businesses who don&#8217;t test this way will move much faster and a subset of these will beat their competition. Also, pushing new features out one at a time does not account for hourly, weekly or seasonal effects.</p>
<p>What do you do then when you need visibility on the impact of product features and insight on where to take the next steps? The answer: experiments. Experiments are actually ideally suited for rapid development in the web and software industries that are filled with a large number of fluid users. Why?</p>
<p>1) It is easy to segment users randomly based on a numerical identifier (by taking the modulus of that identifier for example).</p>
<p>2) Software and particular features are easy to execute on those segments (if id meets a condition then show new feature).</p>
<p>3) It is easy to measure results and compare segments if you are logging raw data of user behavior.</p>
<p>Employing the scientific method ensures the credibility of the experiment. This means forming a hypothesis, implementing a control group and collecting the right data to make the measurements you need to draw conclusions. However, in competitive markets, there is not much room for retesting and verifying results as the scientific method encourages. In other words, a compromise between experimental verification and intuition is a far more successful strategy for business than intuition alone.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2012/02/02/product-development-and-experiments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Inconsistency on January 16</title>
		<link>http://blog.mixpanel.com/2012/01/17/data-inconsistency-on-january-16/</link>
		<comments>http://blog.mixpanel.com/2012/01/17/data-inconsistency-on-january-16/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 19:53:06 +0000</pubDate>
		<dc:creator>geddes</dc:creator>
		
		<guid isPermaLink="false">http://blog.mixpanel.com/?p=432</guid>
		<description><![CDATA[On January 16th, from 6:00 – 6:20 pm Pacific Time there was an error in our production system, causing every event sent to Mixpanel to be counted four times. All of our customers, if looking at an hourly view of their data, will see an artificial spike for the hour between 6:00pm and 7:00pm, similar [...]]]></description>
			<content:encoded><![CDATA[<p>On January 16th, from 6:00 – 6:20 pm Pacific Time there was an error in our production system, causing every event sent to Mixpanel to be counted four times. All of our customers, if looking at an hourly view of their data, will see an artificial spike for the hour between 6:00pm and 7:00pm, similar to the one pictured below: </p>
<p><img src="http://mpdocs.s3.amazonaws.com/images/6pm-spike.png" alt="Spike Image" /></p>
<p>We are very proud of the accuracy of our data, and are extremely sorry that this error occurred. We know that you make key business decisions based on the data you see in Mixpanel, and even though the miscounting only lasted for twenty minutes, we wanted to make you immediately aware of it. The rest of this blog post will discuss the full details of this error and possible ramifications for your decision-making. </p>
<p>The over-counting impacts all reports on Mixpanel.com or any API calls that request a <strong>total count</strong> for any event and include 6pm PST on 1/16/12 within the time period of the query. However, this over counting <strong>does not impact queries for unique event counts</strong>. This means that the Funnels report and the Retention report, which are entirely based on uniques, are completely unaffected. In addition, any queries in the Segmenation  or Trends report in uniques mode are not impacted either. </p>
<p><strong>How can I adjust my data to account for this?<br />
</strong>In most cases, we do not recommend trying to adjust your data to account for this error. For daily reports, the difference will be trivial. For the day of January 16th total event counts will be roughly 5% higher than they were in actuality. For monthly reports, the total event counts will only be 0.1% higher than they were in actuality. The only case where you might want to adjust the data coming out of Mixpanel is in the case of hourly reports. If you are basing a decision on an hourly report, then divide the count for your total events that happened during the hour of 6 PM by 2. The result will be very close to the true event count for that hour.</p>
<p><strong>Will I be billed for these data points?<br />
</strong>Absolutely not. You will not be charged for any overages to your plan caused by this error.</p>
<p><strong>I&#8217;m a geek &#8211; tell me what really happened</strong><br />
First, it&#8217;s necessary to describe a small part of our infrastructure. When a user sends an event to Mixpanel, we do a small amount of validation &#8212; mostly checking for syntactical correctness &#8212; and then immediately put the event on a queue. Under normal circumstances, the number of items on the queue stays very close to zero, meaning that within seconds of sending an event it should show up in your reports. However, decoupling receiving events from processing them allows us to easily perform server maintenance that would otherwise require significant downtime.</p>
<p>For a long time now, we&#8217;ve had multiple queue servers so we aren&#8217;t reliant on a single machine, but we haven&#8217;t had automated failover. In practical terms, that means that if a queue server goes down in the middle of the day we can do a manual failover within minutes, but if it goes down in the middle of the night, it could be quite a bit longer before we can switch everything over. The change we pushed out Monday was intended to remedy this situation. Basically, when an event comes in, we try each queue server that we currently think is up one at a time until we successfully enqueue an item. Unfortunately, our code to check whether putting an item on a queue was successful or not was incorrect and consequently each event was added to each queue server (currently, there are four). We noticed the problem almost immediately and had the fix within 20 minutes.</p>
<p><strong>What we are doing to keep this from happening again</strong><br />
Unfortunately, although we have queueing related tests, in our test environment there is only one queue server and so none of our tests caught this particular problem. That particular hole will be fixed in the coming days.</p>
<p>Once again, our most sincere apologies and regrets for this error. If you have any questions please do not hesitate to reach out to us at support@mixpanel.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2012/01/17/data-inconsistency-on-january-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Importing $signup events for existing users</title>
		<link>http://blog.mixpanel.com/2011/12/22/importing-born-or-signup-events-for-existing-users/</link>
		<comments>http://blog.mixpanel.com/2011/12/22/importing-born-or-signup-events-for-existing-users/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 02:41:34 +0000</pubDate>
		<dc:creator>geddes</dc:creator>
		
		<guid isPermaLink="false">http://blog.mixpanel.com/?p=402</guid>
		<description><![CDATA[Update: The import functionality is now available for all events, and is fully documented in our help section. The below is still a good step-by-step guide for importing $signup events. Today we are rolling out our new retention tracking system. Now, instead of choosing a user&#8217;s cohort on an event-by-event basis (the first time the [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Update:</strong> The import functionality is now available for all events, and is <a href="http://mixpanel.com/docs/api-documentation/importing-events-older-than-48-hours">fully documented in our help section</a>. The below is still a good step-by-step guide for importing $signup events.</em></p>
<p>Today we are rolling out our new retention tracking system. Now, instead of choosing a user&#8217;s cohort on an event-by-event basis (the first time the event was fired) you tell Mixpanel their cohort by sending a $signup event (in fact, this event can be called anything, the key is that you only send it once per distinct_id. If you call it $signup there will be a slight improvement in performance for your report). Usually you would send this event when they first make an account, but a lot of our customers have been asking us about their existing users. How can you tell Mixpanel which cohort to put your current users in?</p>
<p>You can do this, but there are a couple prerequisites:</p>
<ul>
<li>You must be already be using mpq.identify() or distinct_id to keep track of your users within Mixpanel</li>
<li>You must have an existing record tying the identify() or distict_id value you have been sending to Mixpanel with a date you want to use as a user&#8217;s birthday. For example: a users table in your database with user_id and date_created fields. </li>
</ul>
<p>If you meet those prerequisites, you can write a one-off script to send the $signup event to Mixpanel for all your users (each request will count as a Mixpanel data point for billing purposes). To do this, for every user in your database you would make a GET request that looks like this:</p>
<div style="font-family:monospace; line-height: 1em; margin-bottom: 10px;">
http://api.mixpanel.com/import/?<span style="color:red">data</span>=<span style="color:#ccc">eyJldmVudCI6IiRib3JuIiwic HJvcGVydGllcyI6eyJkaXN0aW5jdF9pZCI6NDgxLCJ0aW1lIjoxMzIxNDk5MzcxLCJ0b2tlbiI6IjEz ZmUzZGRjODZlYjZmOTBjNGVlN2QwZDQ3NTYzMTUwIn19</span>&#038;<span style="color:red">api_key</span>=<span style="color:#ccc">7a7727f7880dc39463f99475e7cefcf8</span></div>
<p>This request is very similar to our standard HTTP API (<a href="http://mixpanel.com/docs/api-documentation/http-specification-insert-data">documented here</a>). The <span style="color:red">data</span> parameter is a Base64 encoded JSON array with the event you are importing ($signup) and the associated properties. By decoding the Base64 data parameter from the above request you can see this:</p>
<pre>
{u'event': u'$signup',
 u'properties': {u'distinct_id': 481,
                 u'time': 1321499371,
                 u'token': u'13fe3ddc86eb6f90c4ee7d0d47563150'}}
</pre>
<ul>
<li> The <strong>event</strong> is $signup</li>
<li> The &#8216;<strong>distinct_id</strong>&#8216; property is the user ID you have been sending to Mixpanel up to this point for that user. For Javascript Library users &#8211; this is the value you put in mpq.identify()</li>
<li> The <strong>time</strong> property determines which cohort the user will be in. It is in Unix Epoch format (seconds since 1970). Times should be GMT. The above example, 1321499371, represents November 17th at 3:09 AM GMT.</li>
<li> The token property is your Mixpanel project token. </li>
</ul>
<p>There are three differences between this import method and the regular HTTP API:
<ul>
<li> this method lets you import events older than 48 hours</li>
<li> the endpoint is <strong>/import/</strong> instead of /track/</li>
<li> <strong>as an added level of security, you must include your API key as a parameter outside the Base64 </strong></li>
</ul>
<p>The /import endpoint works for any events you would like to import &#8211; not just the $signup event.</p>
<p>You can <a href="http://mpdocs.s3.amazonaws.com/import-old-signup-events-demo.php">download a sample PHP script</a> that you can modify with your own data, token and API key to send $signup events to Mixpanel.</p>
<p>If you have trouble importing $signup events for your current users, please reach out to support@mixpanel.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2011/12/22/importing-born-or-signup-events-for-existing-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Retention just got better</title>
		<link>http://blog.mixpanel.com/2011/12/21/retention-just-got-better/</link>
		<comments>http://blog.mixpanel.com/2011/12/21/retention-just-got-better/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 22:29:13 +0000</pubDate>
		<dc:creator>geddes</dc:creator>
		
		<guid isPermaLink="false">http://blog.mixpanel.com/?p=423</guid>
		<description><![CDATA[We rolled out some big changes to the way retention reports work. Now you can slice and dice your retention data the same way you can in the Segmentation report. To our existing customers, the biggest change is in the way cohort groups are determined. In the past, you could only select a single event [...]]]></description>
			<content:encoded><![CDATA[<p>We rolled out some big changes to the way retention reports work. Now you can slice and dice your retention data the same way you can in the Segmentation report. </p>
<p>To our existing customers, the biggest change is in the way cohort groups are determined. In the past, you could only select a single event for retention analysis, now you can select two &#8211; one for determining the cohort (usually you would pick a signup or $born event for this) and one to look at the retention for. This is explained in detail <a href="http://mixpanel.com/docs/learn-the-features/retention-overview">on our documentation page</a>, and in the video below the fold.</p>
<p>You may be wondering: &#8220;what happened to compounded retention?&#8221; Now all retention is compounded retention &#8211; when you pick the first event, we will include all users in the cohort who fired that event, not just those who fired it the first time. To see birth retention, you need to fire an event that will only be sent once and determine the birthday for each user. This event can be called whatever you want, but we recommend calling it <strong>$born</strong> or <strong>$signup</strong>. To learn how to properly send a $born or $signup event, <a href="http://blog.mixpanel.com/2011/11/09/upcoming-changes-to-retention-on-nov-21/">read this blog post</a>. To learn how to import these events for your existing users, <a href="http://blog.mixpanel.com/2011/12/22/importing-born-or-signup-events-for-existing-users/">we have a blog post about that as well</a>!</p>
<p>If you have any questions about new retention, we will be hosting a Live Q&#038;A Webinar tomorrow at 11 AM PST. To tune in visit <a href="http://www.mixpanel.com/webinar">http://www.mixpanel.com/webinar</a> then.<br />
<span id="more-423"></span><br />
<video class="sublime" width="854" height="480" poster="" preload="none" id="retention"><br />
  <source src="http://mpdocs.s3.amazonaws.com/retention.mov" /><br />
</video></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2011/12/21/retention-just-got-better/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://mpdocs.s3.amazonaws.com/retention.mov" length="12362391" type="video/quicktime" />
		</item>
		<item>
		<title>Mixpanel 201 Webinar Recording</title>
		<link>http://blog.mixpanel.com/2011/11/19/mixpanel-201-webinar-recording/</link>
		<comments>http://blog.mixpanel.com/2011/11/19/mixpanel-201-webinar-recording/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 01:36:49 +0000</pubDate>
		<dc:creator>geddes</dc:creator>
		
		<guid isPermaLink="false">http://blog.mixpanel.com/?p=360</guid>
		<description><![CDATA[This afternoon we conducted the Mixpanel 201 Webinar. Topics covered included: &#8211; Advanced Data Types &#8211; A/B Testing &#8211; Super Properties &#8211; Retention Thanks to everyone who participated, the recording is available below (click on &#8220;more&#8230;&#8221; if you don&#8217;t see it).]]></description>
			<content:encoded><![CDATA[<p>This afternoon we conducted the Mixpanel 201 Webinar. Topics covered included:<br />
 &#8211; Advanced Data Types<br />
 &#8211; A/B Testing<br />
 &#8211; Super Properties<br />
 &#8211; Retention</p>
<p>Thanks to everyone who participated, the recording is available below (click on &#8220;more&#8230;&#8221; if you don&#8217;t see it).</p>
<p><span id="more-360"></span></p>
<p><video class="sublime" width="720" height="450" poster="" preload="none"><br />
  <source src="http://mpdocs.s3.amazonaws.com/webinar/Mixpanel201.m4v" /><br />
</video></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2011/11/19/mixpanel-201-webinar-recording/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://mpdocs.s3.amazonaws.com/webinar/Mixpanel201.m4v" length="202182444" type="video/mp4" />
		</item>
		<item>
		<title>Mixpanel 101 Webinar Recording</title>
		<link>http://blog.mixpanel.com/2011/11/19/mixpanel-101-webinar-recording/</link>
		<comments>http://blog.mixpanel.com/2011/11/19/mixpanel-101-webinar-recording/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 01:35:33 +0000</pubDate>
		<dc:creator>geddes</dc:creator>
		
		<guid isPermaLink="false">http://blog.mixpanel.com/?p=357</guid>
		<description><![CDATA[This morning in San Francisco, and this afternoon in Europe, we conducted the European edition of our Mixpanel 101 webinar. Below is the recording of the event. Topics covered included: &#8211; Streams &#8211; Events &#8211; Properties &#8211; Funnels Click on &#8220;More&#8221; to view the whole video. Update: We swapped the video with one from a [...]]]></description>
			<content:encoded><![CDATA[<p>This morning in San Francisco, and this afternoon in Europe, we conducted the European edition of our Mixpanel 101 webinar. Below is the recording of the event. Topics covered included:<br />
 &#8211; Streams<br />
 &#8211; Events<br />
 &#8211; Properties<br />
 &#8211; Funnels</p>
<p>Click on &#8220;More&#8221; to view the whole video.<br />
<span id="more-357"></span></p>
<p><i>Update: We swapped the video with one from a more recent version of Mixpanel 101 that is higher resolution and easier to view.</i></p>
<p><video class="sublime" width="854" height="480" poster="" preload="none"><br />
  <source src="http://mpdocs.s3.amazonaws.com/webinar/Mixpanel101.mov" /><br />
</video></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2011/11/19/mixpanel-101-webinar-recording/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://mpdocs.s3.amazonaws.com/webinar/Mixpanel101.mov" length="63708348" type="video/quicktime" />
		</item>
		<item>
		<title>Tapping into advanced data types</title>
		<link>http://blog.mixpanel.com/2011/11/16/tapping-into-advanced-data-types/</link>
		<comments>http://blog.mixpanel.com/2011/11/16/tapping-into-advanced-data-types/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 00:18:54 +0000</pubDate>
		<dc:creator>geddes</dc:creator>
		
		<guid isPermaLink="false">http://blog.mixpanel.com/?p=321</guid>
		<description><![CDATA[Most Mixpanel users are used to treating properties as strings of text, but some data is more suitable to be treated as a number, or other data type. Numbers Let&#8217;s say you were instrumenting a music sharing site, and you sent a property with every “song played” event called “length” that was a number – [...]]]></description>
			<content:encoded><![CDATA[<p>Most Mixpanel users are used to treating properties as strings of text, but some data is more suitable to be treated as a number, or other data type.</p>
<p><strong>Numbers</strong><br />
Let&#8217;s say you were instrumenting a music sharing site, and you sent a property with every “song played” event called “length” that was a number – the length of the song in seconds. If you send the property as an integer or decimal (122 or 3.45) Mixpanel will detect it as a number, and will build a histogram showing what song lengths people typically listened to in the segmentation report:</p>
<p>Code Sample:<br />
<code>mpq.track("Song Played", {"Length" : 122 });</code></p>
<p>Chart in Mixpanel:<br />
<a href="http://blog.mixpanel.com/wp-content/uploads/2011/11/number_histogram.png"><img src="http://blog.mixpanel.com/wp-content/uploads/2011/11/number_histogram.png" alt="" title="Mixpanel Histogram" width="600" height="381" class="alignnone size-full wp-image-328" /></a></p>
<p>In the above case, 60 &#8211; 90 second movies were clearly the favorite! You can also build segments with greater than and less than operators on numeric data. This would let you examine the 60-90 second songs in more detail:<br />
<a href="http://blog.mixpanel.com/wp-content/uploads/2011/11/number-zoomin.png.png"><img src="http://blog.mixpanel.com/wp-content/uploads/2011/11/number-zoomin.png.png" alt="" title="Web Analytics Histogram" width="600" height="459" class="alignnone size-full wp-image-329" /></a></p>
<p>It looks like 77 and 78 second songs are the most popular within this segment. </p>
<p>Sometimes a histogram isn&#8217;t enough though &#8211; you just want an average. If your data is a number, and you’ve set at least one filter on it, you can have Mixpanel perform the following mathematical calculations on it for a given time frame:
<ul>
<li>Average</li>
<li>Sum</li>
<li>Minimum Value</li>
<li>Maximum Value</li>
</ul>
<p>The average song length for songs between 60 and 90 long hovers around 75 seconds:<br />
<a href="http://blog.mixpanel.com/wp-content/uploads/2011/11/number_avg.png"><img src="http://blog.mixpanel.com/wp-content/uploads/2011/11/number_avg.png" alt="" title="web analytics segment averages" width="600" height="460" class="alignnone size-full wp-image-344" /></a></p>
<p>If you don’t want to put a filter around it and calculate the overall averages or sums, just choose a filter that wouldn&#8217;t eliminate any results. In this case “length is greater than 0” will do the trick. However, most of the time you will want to filter to eliminate extremes that represent bad data that will skew your averages.<br />
<a href="http://blog.mixpanel.com/wp-content/uploads/2011/11/number_overall_avg.png"><img src="http://blog.mixpanel.com/wp-content/uploads/2011/11/number_overall_avg.png" alt="" title="Web Analytics Average" width="600" height="425" class="alignnone size-full wp-image-330" /></a></p>
<p>If you are sending an event as a number but Mixpanel is not detecting it as a number, you can type cast it by hovering your mouse over the property in the segmentation report, moving it to the right, and selecting the “number” variable type. This will actually work for any property type:<br />
<a href="http://blog.mixpanel.com/wp-content/uploads/2011/11/typecast.png"><img src="http://blog.mixpanel.com/wp-content/uploads/2011/11/typecast.png" alt="" title="web analytics type cast variable" width="600" height="161" class="alignnone size-full wp-image-331" /></a></p>
<p><strong>Dates</strong><br />
You can also send dates to Mixpanel. Let’s say you wanted to break down your song plays only to videos that had been uploaded to your site in the past week. If you send a property formatted like a date, Mixpanel will automatically treat it as such, and let you build segments based on date logic.</p>
<p>Code Sample:<br />
<code>mpq.track("Song Played", {"Date Added" : '2011-10-27'});</code></p>
<p>Segment Example:<br />
<a href="http://blog.mixpanel.com/wp-content/uploads/2011/11/date_logic.png.png"><img src="http://blog.mixpanel.com/wp-content/uploads/2011/11/date_logic.png.png" alt="" title="web analytics by date" width="961" height="240" class="alignnone size-full wp-image-332" /></a><br />
The above example would limit your report to plays of new songs that were added in the past month. </p>
<p>Mixpanel accepts a wide variety of date formats. If any of the following appear in a property value, Mixpanel will treat that value as a date:</p>
<ul>
<li>yyyy-mm-dd</li>
<li>dd-mm-yyyy</li>
<li>yyyy/mm/dd</li>
<li>dd/mm/yyyy</li>
<li>a three letter month like Jan,Feb,Dec etc</li>
<li>a three letter day like Mon,Tue,Wed, etc</li>
</ul>
<p>You can also include a time after the date, so “yyy-mm-dd HH:MM:SS.” If you are including time, please use UTC time. </p>
<p><strong>Lists</strong><br />
Often you might want to set a property with more than one value. Some examples might be:</p>
<ul>
<li>Products purchased in a “Order Placed” event</li>
<li>Multiple authors in an “Article Viewed” event</li>
<li>Different genre tags in a “Song Played” event. </li>
</ul>
<p>If you send a JSON array as a property value, Mixpanel will know that it is a list, and allow you to build segments that query for individual list items. </p>
<p>Code Sample:<br />
<code>mpq.track("Song Played", {"Mood Tags" : ['happy','exciting','romantic'] });</code></p>
<p>Segmentation Sample:<br />
<a href="http://blog.mixpanel.com/wp-content/uploads/2011/11/lists_segmentation2.png.png"><img src="http://blog.mixpanel.com/wp-content/uploads/2011/11/lists_segmentation2.png.png" alt="" title="Web Analytics Segmentation by Lists" width="600" height="433" class="alignnone size-full wp-image-333" /></a></p>
<p>You can type in any item in the Segmentation report, and it will return the number of times the event was sent with that item as a member of the list.</p>
<p>Feel free to ask follow-up questions in the comments. I’ll answer every single one! </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2011/11/16/tapping-into-advanced-data-types/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Slice and dice with dates</title>
		<link>http://blog.mixpanel.com/2011/10/19/we-support-dates/</link>
		<comments>http://blog.mixpanel.com/2011/10/19/we-support-dates/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 07:46:28 +0000</pubDate>
		<dc:creator>Suhail</dc:creator>
				<category><![CDATA[features]]></category>
		<category><![CDATA[segmentation]]></category>

		<guid isPermaLink="false">http://blog.mixpanel.com/?p=286</guid>
		<description><![CDATA[Today we released a new data type on our platform to give you more power and flexibility with your data: Dates. &#160; Now you can send Mixpanel a date and we&#8217;ll let you manipulate your data. You can find this in the segmentation report. Examples Last time a user logged in The date that a [...]]]></description>
			<content:encoded><![CDATA[<p>Today we released a new data type on our platform to give you more power and flexibility with your data: Dates.</p>
<p><a href="http://blog.mixpanel.com/wp-content/uploads/2011/10/Screen-shot-2011-10-19-at-12.34.50-AM.png"><img class="alignnone size-full wp-image-287" title="Dates type" src="http://blog.mixpanel.com/wp-content/uploads/2011/10/Screen-shot-2011-10-19-at-12.34.50-AM.png" alt="" width="993" height="308" /></a></p>
<p>&nbsp;</p>
<p>Now you can send Mixpanel a date and we&#8217;ll let you manipulate your data. You can find this in the segmentation report.</p>
<h3>Examples</h3>
<ul>
<li>Last time a user logged in</li>
<li>The date that a user signed up</li>
<li>The date of a specific action: photo upload, tweet, etc.</li>
</ul>
<h3>Integration</h3>
<p>Integration is very intuitive. All you have to do is pass a property with a date formed as: &#8220;YYYY-MM-DD&#8221; (2011-01-01). You can also give us up to the second granularity if you&#8217;d like: &#8220;2011-01-02 03:34:21.&#8221; We will automatically interpret data that looks like this as a date.</p>
<p>Keep in mind, that you should send us dates that are in UTC format if they have granularity beyond a day level. If you send us data on a day granularity then we&#8217;ll simply take that and not convert it to UTC as it would be ambiguous.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2011/10/19/we-support-dates/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introducing Mixpanel Formulas</title>
		<link>http://blog.mixpanel.com/2011/10/13/introducing-mixpanel-formulas/</link>
		<comments>http://blog.mixpanel.com/2011/10/13/introducing-mixpanel-formulas/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 00:10:43 +0000</pubDate>
		<dc:creator>Anlu Wang</dc:creator>
				<category><![CDATA[features]]></category>

		<guid isPermaLink="false">http://blog.mixpanel.com/?p=276</guid>
		<description><![CDATA[We&#8217;ve just launched a brand new feature for Mixpanel called Formulas. Formulas is a powerful tool that allows you to combine and filter events arithmetically. If you ever wanted to view a trend of two events combined, or looked at the ratio of one event to another, or even both, then Formulas is the tool [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve just launched a brand new feature for Mixpanel called Formulas. Formulas is a powerful tool that allows you to combine and filter events arithmetically. If you ever wanted to view a trend of two events combined, or looked at the ratio of one event to another, or even both, then Formulas is the tool for you. Like always, this is happening in real time, and it will work retroactively with the data you&#8217;re already sending us!</p>
<h2>How to use it</h2>
<p>You may have noticed the new Formulas icon already on the left.</p>
<p><a href="http://blog.mixpanel.com/wp-content/uploads/2011/10/Screen-shot-2011-10-12-at-3.34.49-PM.png"><img class="aligncenter size-full wp-image-277" title="Screen shot 2011-10-12 at 3.34.49 PM" src="http://blog.mixpanel.com/wp-content/uploads/2011/10/Screen-shot-2011-10-12-at-3.34.49-PM.png" alt="" width="166" height="74" /></a></p>
<p>Clicking on it brings up the Formulas creation interface.</p>
<p><a href="http://blog.mixpanel.com/wp-content/uploads/2011/10/Screen-shot-2011-10-12-at-5.25.28-PM.png"><img class="aligncenter size-full wp-image-284" title="Screen shot 2011-10-12 at 5.25.28 PM" src="http://blog.mixpanel.com/wp-content/uploads/2011/10/Screen-shot-2011-10-12-at-5.25.28-PM.png" alt="" width="972" height="593" /></a></p>
<p>At the top, you can enter a name to save your formula to view later.</p>
<p>In the body, you can select the events that you want to use in your formula. Selecting an event will also bring up its properties, on which you can filter further. You can also choose whether you want to count the total number of events, or count only unique events (counted once per user that sends the event).</p>
<p>Initially, you can only compute the ratio between two events. Hitting the tab on the right will expand your view, where you can then add, subtract, or multiply two events.</p>
<p>Hitting continue will save this formula for you and display the trend.</p>
<h2>An example formula</h2>
<p>Here&#8217;s an example of a formula that we use at Mixpanel:</p>
<p><a href="http://blog.mixpanel.com/wp-content/uploads/2011/10/Screen-shot-2011-10-12-at-5.02.11-PM.png"><img class="aligncenter size-full wp-image-279" title="Screen shot 2011-10-12 at 5.02.11 PM" src="http://blog.mixpanel.com/wp-content/uploads/2011/10/Screen-shot-2011-10-12-at-5.02.11-PM.png" alt="" width="969" height="589" /></a></p>
<p>In our Streams product, we have two tabs, Streams and Users. We send these respective events anytime a new user goes to view one of these tabs. This formula lets us view the percentage of unique people that view the Streams tab. We simply take the #streams event, and divide it by the sum of #users and #streams events.</p>
<p>We hope formulas will help you understand your data even more. As always, feel free to contact us at <a href="mailto:support@mixpanel.com">support@mixpanel.com</a> if you have any questions!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mixpanel.com/2011/10/13/introducing-mixpanel-formulas/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

