Track attrition of an iOS app on firebase - ios

We are using firebase analytics in our iOS app.
I would like to find out number of new active users in a month and the attrition of our app monthly i.e., the number of
users leaving the app every month.
Attrition for a month(suppose January) can be calculated as
attrition = (monthly active users of January) - (monthly active users of January and February)
where (monthly active users of January and February) is the no of users that are active in January and also active in February.
Example: There are 100 monthly active users in January and 120 in February. The difference 20 can be interpreted either as 20 new users or as 40 new users and 20 left the app.
In the latter case the attrition can be calculated as
active users of January and February = 80 (20 left the app in January and rest of the users are
still active in February)
attrition = monthly active users of January - active users of January and February
= 100 - 80 = 20(the number of users who left the app)
The firebase console shows the number of monthly, weekly and daily active users. But it doesn't
let us filter users who are active in 2 different months.
So how to find the attrition and new active user count of our iOS app using firebase?

Two options here:
Either set a User Property as a month for which you want to refine the data for active users.
This option is not that great since Firebase restricts creation of 25 user properties and don't let delete them.
Export Firebase data to Big Query and run query to get the users (by setting a userID) for a month, typically done via DATE RANGE function.
Hope this helps!

Related

How to automacally change a cell value based on a day

I have a google sheets with a list of containers I rent. Each of them has its expiring dates, the date I suppose to get the rent. As soon as I get the rent I mark as paid in a column formatted with 2 values: paid, not paid.
Is there a way to automatically format this column every 30 days from the previously paid day.
For example: I hired a container on 24th of January, got the payment at the same day and marked as paid on sheets. On 24th of February I'd like to automatically get the cell marked as not paid.

itunesconnect: real download figure? analytics "app units" vs sales & trends' "units"

In itunesconnect, to check app download figure,
App Analytics and Sales & Trends showing two different figure.
e.g.
For same certain period,
App Analytics: App Unit = 1729
Sales & Trends: Unit = 1.81K
Which is correct?
I saw some other post (e.g.this) discussing similar issue. But the discussion later didn't come up an answer.
Thanks.
Check the official definitions (from itunesconnect.apple.com) and you will see that all the numbers can be different:
Sales & Trends:
Data Guidelines: Data includes all device types. Sales data is the
estimated total billed to customers. Proceeds is the estimated amount you’ll receive.
Date and Time: Data is shown in UTC or PST. A day includes transactions that happened from 12:00 AM to 11:59 PM for the selected
time zone.
App Analytics:
Data Guidelines: Data includes devices with iOS 8 or tvOS 9, or later.
Date and Time: Days start at 12:00 AM and end at 11:59 PM (UTC).
Opt-In: We only show data from users who have agreed to share their diagnostics and usage information with app developers. In the last 30 days, xx% of all users that installed apps agreed to share their data.
Diagnostics and usage information may be delayed by up to 72 hours.
Summary
Reporting times are the same if you select the right one (!). App Analytics does not include all sales. If your app is available on older devices, it's not included here. Big question here is: What do you want to achieve? Difference between both numbers in your sample is <5%. For whatever calculations you are doing, just use the same source and don't mix & match.
It's possible that the 3 different reports (including Financial) use different sets of starting and ending timezones, different starting and ending times and dates, and different reporting systems (audited vs. unaudited vs. estimated). Apple says the monthly Financial reports are the most correct.

How appstore handles credit amount on subscription upgrade/downgrade

example: from android in-app subscription:
For example, Samwise has a subscription to online content from the Country Gardener app. He currently has a monthly subscription to the Tier 1 version of the content (which has text-only content). This subscription costs him £2/month, and renews on the first of the month. On April 15, he chooses to upgrade to the Tier 2 subscription (which includes video updates), costing £3/month. His Tier 1 subscription is immediately ended. Since he paid for a full month (April 1-30), but only used half of it, half of a month's subscription (£1) is applied to his new subscription. However, since that new subscription costs £3/month, the £1 credit balance only pays for ten days. So Samwise's credit pays for his subscription from April 15-25. On April 26, he is charged £3 for his new subscription, and another £3 on the 26th of each month following
I want to know how IOS APP store handle it

iOS In App Purchase Model

I am having a problem trying to get the business model of my client to work with iOS in app purchases. We are using Parse.com as a backend for this app.
There are two type of users for this application consumers and posters. Posters are able to post an add for a business and the consumers are able to view those ads. The information for the ads are being stored in the Parse backend.
The problem that I am having is this.
The client wants to have 4 different durations for each ad 1 month 3 month 6 month and 1 year. I have set these up on the iTunes connect account as consumables because the duration it stored in Parse.
I can make the purchase the product just fine but the problem is that I have no way of tying a transaction to a specific add I can only determine which of the products (1 month, 3 month, etc that they bought) and the user can have multiple ads.
I also have the problem of since the ad information is stored on Parse I cannot invalidate it unless the user opens their device.
One way to solve this by making your in-app purchase an intermediate "currency" such as "credits" - The user then purchases a number of credits and when they post an ad it consumes the appropriate number of credits from their balance.
This way you do not need to associate a particular ad with a particular purchase - you simply verify the balance is sufficient for, say, a 3 month posting, deduct the credits from the balance and put the ad in the database with the appropriate duration field.

Implementing Non-Renewing Subscription type of In-App Purchase

I'm planning to use Non-Renewing Subscription type of In-App Purchase in my application. I have a couple of questions:
Can I allow the user to choose the start date/time for subscription?
For example, user wants to subscribe for a week, starting from 14 November (Wednesday) to 20 November (Tuesday).
Can I allow the user to subscribe for different time periods (in future)?
For example, today is 14 November and user wants to subscribe for a week in November (Monday, 19 November to Sunday, 25 November) and for December (Saturday, 1 December to Monday, 31 December).
Can I control the subscription logic from a server (via web services)?
For example, when user purchases a subscription for a week, the information is stored on the server. On consecutive logins, on same or different device, the status of the subscription will be received from the server. Note that the application (inherently) requires a Register/Login mechanism to work.
p.s. I'm not using Auto-Renewing Subscription type of In-App Purchase for a number for reasons, including the fact that I can't because of the following guideline:
11.15 Apps may only use auto renewing subscriptions for periodicals (newspapers, magazines), business Apps (enterprise, productivity, professional creative, cloud storage) and media Apps (video, audio, voice), or the App will be rejected.
Based on my experience, here are the responses to my own questions.
Can I allow the user to choose the start date/time for subscription?
Yes.
Can I allow the user to subscribe for different time periods (in future)?
I ended up not doing that, but based on the feedback I received, you can.
Can I control the subscription logic from a server (via web services)?
Yes.

Resources