Skip to main content

Hi all,

We’ve developed a mobile app for language learning based on React Native and Google Firebase (Realtime Database) as the user database. We’re using the Amplitude React Native SDK to pass information from the mobile app to Amplitude.

We occasionally use Google Firebase’s A/B test feature to allocate users into groups to test certain features. To analyse the effectiveness of these features we set an Amplitude user property with the name of the A/B test and the values “true” / “false” to indicate which group the user is in. This allows us to create retention, conversion and other graphs where we can easily group by this user property or of course simply create two cohorts for which we specify the value of this property.

However, there seems to be a problem with our data. We’re getting a lot of “(None)” values for this user property even though when we download detailed information about the users (click on a bar chart and then “Download Users”) we can see that most users have a “true” or “false” value, and not a “(None)” value.

I suspect the issue lies somehow in the way we update user properties https://help.amplitude.com/hc/en-us/articles/115002380567-User-properties-and-event-properties#h_856d23e3-10ea-4398-a50d-4982a42d1f3f. But I can’t pinpoint where / how exactly.

The chain of events is more or less as follows:

  • User opens mobile app
  • Amplitude SDK is initialised → Amplitude user is created
  • Firebase user is created
  • User starts onboarding (selects learning language, specifies name, selects avatar etc.)
  • Firebase user is allocated to A/B test
  • Amplitude A/B test user property is created with “true” or “false”

Can someone help? Has anyone faced a similar issue?

Thanks everyone!
 

Hey @lucalytton 

Here is a great post which explains the concept of ‘none’ values in detail.

 

From what I understand from your chain of events, it looks like from the time a user opens the app till the A/B test user property is assigned, there are events which are coming in with the property value unassigned ( i.e none ). Since Amplitude is an event based platform, all charts and cohorts query are performed at the event level. This means that you’ll be querying for event and user property values that were present at the time of the event, which is ‘none’ in this scenario.

The Download Users options will only export the current value of the user’s assigned property values, that’s why you are seeing true/false values.

Hope this helps.

 


@Saish Redkar : thank you and so sorry, I just realised I never tapped “Send” for my response!

That makes sense and understood. I found the issue: I had to specify the correct startVersion of our application because the A/B test wasn’t possible in previous versions, and in the previous versions users were therefore automatically assigned to “None”. The article helped.

Thank you!


Reply