We are running a test of trial users, where after the trial, it automatically renews into a paid subscription after 30 days. We are trying to test what the best price point is for what this paid subscription should cost. To do that, we need to analyse the data. We have a trial_started and upgraded_paid event. Now, we can only analyse once a cohort is fully 'finished'; everyone in the cohort has had the chance to either upgrade immediately, or cancel their account. We want to speed this up by checking: trial_started has occurred 30 days ago, and how many people at that point switch to a paid plan, so the upgraded_paid event fires. Then, we do want to break this down by cohort. Can I do this with Mixpanel? If so, how?
Hi Janine, Please stand by as I search the Mixpanel knowledge base for an AI-powered answer. I normally take about 15 seconds or so. In case AI cannot answer your question, feel free to reach out to Mixpanel support at mixpanel.com/get-support. If you have follow-up questions for this thread, please tag me again with your question: @kapa.ai <follow-up question> ๐
Feel free to ask a follow-up question once I've answered by mentioning me with @kapa.ai
Yes, you can definitely analyze this scenario using Mixpanel. Here's how you can approach this using Mixpanel's cohort analysis and funnel features: 1. Create a cohort: First, create a cohort of users who started their trial 30 days ago. You can do this using the Cohort Builder in Mixpanel. Set the criteria as "Users who did 'trial_started' exactly 30 days ago".2. Create a funnel: Next, create a funnel with two steps: - Step 1: "trial_started" - Step 2: "upgraded_paid" Set the conversion window to 30 days to match your trial period. You can adjust this in the Conversion Criteria settings.3. Apply the cohort filter: In your funnel analysis, apply the cohort you created as a filter. This ensures you're only looking at users who started their trial 30 days ago.4. Break down by price point: Assuming you have a property that captures the price point for each user (let's call it "subscription_price"), you can use this as a breakdown in your funnel analysis. This will show you conversion rates for each price point.5. Compare cohorts: To analyze different cohorts over time, you can create multiple cohorts (e.g., "Trial started 30 days ago", "Trial started 60 days ago", etc.) and compare them in the same funnel analysis. Mixpanel allows you to compare cohorts in your analysis.This approach allows you to: - Ensure you're only analyzing users who have had the full 30-day trial period - Compare conversion rates for different price points - Track how conversion rates change over time for different cohortsFor a more detailed walkthrough of cohort analysis in Mixpanel, you might find the Lifecycle Cohort Analysis Template helpful.Remember, Mixpanel computes cohorts dynamically at query time, so your analysis will always reflect the most up-to-date data How Cohorts are Computed.By using this method, you can effectively analyze your trial-to-paid conversion rates for different price points and cohorts, helping you determine the optimal pricing strategy for your subscription.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! ๐
I understand the challenge you're facing. Since the subscription_price is only available in the upgraded_paid event, we need to adjust our approach. Mixpanel offers a feature called Borrowed Properties that can help us solve this issue. Here's an alternative approach: 1. Use Borrowed Properties:
Mixpanel's Borrowed Properties feature allows you to "borrow" a property from one event and use it in the analysis of another event. In this case, we can borrow the subscription_price from the upgraded_paid event and apply it to the trial_started event. As described in the Borrowed Properties blog post, "Borrowed Properties unlocks more analysis with the data you already have, without any lift from your engineering team."2. Set up the Borrowed Property:
In the Mixpanel UI, you can set up the borrowed property. The trial_started event will "borrow" the subscription_price property from the upgraded_paid event.3. Create a funnel:
Create a funnel with two steps:
- Step 1: "trial_started"
- Step 2: "upgraded_paid" Set the conversion window to 30 days to match your trial period.4. Apply cohort filter:
Create and apply a cohort filter for users who started their trial 30 days ago, as suggested in the previous answer.5. Break down by borrowed property:
Now, you can break down the funnel by the borrowed subscription_price property. This will show you the conversion rates for different price points, even though the property is only set in the second event.6. Compare cohorts:
You can still create multiple cohorts for different time periods and compare them in your analysis.This approach allows you to analyze the impact of different price points on conversion rates, even when the price is only set at the time of upgrade. The Borrowed Properties feature essentially backfills the subscription_price to the trial_started event, allowing for more comprehensive analysis.Remember, as mentioned in the Mixpanel documentation, "Borrowed Properties aren't a shortcut for implementations (you should still create thoughtful tracking plans). They are meant to open up a new world of analysis by merging data that was previously difficult or impossible to plan ahead of time for your engineers."By using this method, you should be able to effectively analyze your trial-to-paid conversion rates for different price points and cohorts, helping you determine the optimal pricing strategy for your subscription.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! ๐
You've made an excellent observation. You're correct that this issue is likely related to the lookback period of borrowed properties in Mixpanel. Let me explain why this is happening and suggest a potential workaround. According to the [Mixpanel documentation on borrowed properties](https://docs.mixpanel.com/docs/features/custom-properties#borrowed-properties), there is indeed a 7-day lookback window limitation: "Borrowing of a property is strictly from the most recent event in the 7 day lookback window. To elaborate: - Say on event "purchase", you want to borrow property "search term" from an event "search product". If there are multiple events "search product" before "purchase", the property will be borrowed from the most recent "search product" event where the property is set. - Lookback is also fixed to a 7 day window. Say the "purchase" event occurred on 31st Jan, if the most recent "search product" occurred on 20th Jan, the borrow functionality will return "search term" = (not set), since this event happened 11 days ago which is outside the lookback window range." In your case, since the free trial lasts 30 days, the upgraded_paid event (which contains the subscription_price) occurs well outside the 7-day lookback window from the trial_started event. This explains why you're seeing "(not set)" for the borrowed property. Given this limitation, here are a few potential workarounds: 1. Use a custom event at the end of the trial: Create a new event that fires at the end of the 30-day trial period, regardless of whether the user upgrades or not. This event could include the subscription_price property for users who upgrade. You could then use this event in your funnel analysis, which would fall within the 7-day lookback window. 2. Use Mixpanel's Group Analytics: If you're on a plan that includes [Group Analytics](https://docs.mixpanel.com/docs/data-structure/advanced/group-analytics), you could associate the subscription_price with a user group (like an account or organization) rather than with an event. This would allow you to analyze conversion rates by price point without relying on borrowed properties. 3. Send subscription_price with trial_started event: If possible, you could send the subscription_price property with the trial_started event, even if it's just the proposed price for that user. This would eliminate the need for borrowed properties altogether. 4. Use JQL for custom analysis: For more complex scenarios that exceed Mixpanel's UI capabilities, you might need to use [JQL (JavaScript Query Language)](https://docs.mixpanel.com/docs/features/jql) to perform custom analysis that can look back further than 7 days.
Given the 30-day trial period in your use case, the borrowed properties feature unfortunately doesn't provide a direct solution due to its 7-day lookback limitation. You'll need to consider one of these alternative approaches to accurately analyze your trial-to-paid conversions by price point.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! ๐
Yes, there is another way to achieve what you initially wanted without adding new properties or events. We can use Mixpanel's Insights report with some specific configurations to analyze your trial-to-paid conversions by price point. Here's how you can do it: 1. Use Insights report: Start by creating a new Insights report in Mixpanel.2. Set up the main metric: Set your main metric to count the "upgraded_paid" event. This will show you how many users are converting to paid subscriptions.3. Filter for trial period: Add a filter to only include "upgraded_paid" events that occurred between 29 and 30 days after the "trial_started" event. This ensures you're only looking at conversions that happened at the end of the 30-day trial period. You can set this up using the "time between events" filter in Mixpanel, as described in the Mixpanel documentation on advanced filtering.4. Break down by subscription price: Use the breakdown feature to segment your results by the "subscription_price" property of the "upgraded_paid" event. This will show you the conversion numbers for each price point.5. Normalize by trial starts: To get accurate conversion rates, you'll want to normalize your data by the number of trial starts. You can do this by adding a second metric to your Insights report that counts the "trial_started" event, filtered to only include events that occurred 30 days before the date range of your analysis.6. Use the compare to feature: Utilize Mixpanel's "compare to" feature to analyze different cohorts over time. You can compare the current period to previous periods to see how conversion rates for different price points change over time.This approach allows you to: - Analyze only users who have completed the full 30-day trial period - See conversion rates for different price points - Compare conversion rates over time without needing to create additional events or propertiesRemember, as mentioned in the Mixpanel blog on revenue analytics, "Mixpanel has made it easy to dig into product data by automatically calculating key product metrics." By leveraging these built-in capabilities, you can get the insights you need without additional implementation work.This method should provide you with the analysis you're looking for, showing how different price points affect conversion rates at the end of your 30-day trial period, all using the existing events and properties in your Mixpanel setup.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! ๐
Certainly! I apologize for not being clear enough in my previous explanation. Let me elaborate on the filtering part, specifically the third point about filtering for the trial period.Mixpanel offers a feature called "Time Between Events" which allows you to filter events based on their temporal relationship to other events. This is exactly what we need for your use case. Here's a more detailed explanation of how to set up this filter: 1. In your Insights report, click on the "Filter" button.2. In the filter menu, select "Time Between Events" (you might need to scroll down or search for it).3. Now, you'll set up the filter like this: - First event: "trial_started" - Second event: "upgraded_paid" - Time between: "is between 29 and 30 days"This filter essentially tells Mixpanel to only include "upgraded_paid" events that occurred between 29 and 30 days after the "trial_started" event for the same user.The reason we use 29 to 30 days instead of exactly 30 days is to account for any small variations in timing that might occur due to factors like time zones or slight delays in event tracking.You can find more details about this feature in the Mixpanel documentation on advanced filtering. The documentation states: "You can filter your events based on the time between two events. This is useful for understanding user behavior over time."By applying this filter, you ensure that you're only analyzing users who converted at the end of their trial period, which is crucial for your analysis of how different price points affect conversion rates at the end of the 30-day trial.This filtering method allows you to focus on the specific user behavior you're interested in (end-of-trial conversions) without needing to create any new events or properties in your Mixpanel setup.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
