4.9 KiB
Send V2 Metrics Definitions
Key Value Prop
Quickly and privately transfer large files from any device to any device.
Key Business Question to Answer
Is the value proposition of a large encrypted file transfer service enough to drive Firefox Account relationships for non-Firefox users.
Hypotheses to Test
Primary - In support of Relationships KPI
We believe that a privacy-respecting file transfer service can drive Firefox Accounts beyond the Firefox Browser.
We will know this to be true when we see 250k Firefox Account creations from non-Firefox contexts w/in six months of launch.
Secondary - In support of Revenue KPI
We believe that a privacy respecting service accessible beyond the reach of Firefox will provide a valuable platform to research, communicate with, and market to conscious choosers we have traditionally found hard to reach.
We will know this to be true when we can conduct six research tasks (surveys, A/B tests, fake doors, etc) in support of premium services KPIs in the first six months after launch.
Overview of Key Measures
- Number of people using the service to send and receive files
- Why: measure of service size. Important for understanding addressable market size
- Percent of users who have or create an FxAccount via Send
- Why: representation of % of any service users who might be amenable to an upsell
- % of downloaders who convert into uploaders
- Why: represents a measure of our key growth-loop potential
- Count of uploads and size
- Why: Represents cost of service on a running basis
Key Funnels
- App Open or Visit
--- DESIRED OUTCOME --->
Successful Upload - Download UI Visit
--- DESIRED OUTCOME --->
Successful Download - FxA UI Engagement
--- DESIRED OUTCOME --->
Authenticate - STRETCH App Open or Visit
--- DESIRED OUTCOME --->
Successful Download
Amplitude Schema
Please see, See Amplitude HTTP API(https://amplitude.zendesk.com/hc/en-us/articles/204771828) for HTTP API reference.
Metric Events
In support of our KPIs we collect events from two separate contexts, server and client. The events are designed to have minimal correlation between contexts.
Server events collect lifecycle information about individual uploads but no user information; also time precision is truncated to hour increments. Client events collect information about how users interact with the UI but no upload identifiers.
Server Events
Server events allow us to aggregate data about file lifecycle without collecting data about individual users. In this context user_id
and user_properties
describe the uploaded archive.
session_id
-1 (not part of a session)user_id
hash of (archive_id + owner_id)app_version
package.json versiontime
timestamp truncated to hour precisioncountry
region
event_type
[server_upload | server_download | server_delete]user_properties
download_limit
set number of downloadstime_limit
set expiry durationsize
approximate size (log10)anonymous
true if anonymous, false if fxa
event_properties
download_count
downloads completedttl
time remaining before expiry truncated to houragent
the browser name or first 6 characters of the user agent that made the request
Client Events
Client events allow us to aggregate data about how the user interface is being used without tracking the lifecycle of individual files. In this context user_id
and user_properties
describe the user. The user_id
and device_id
change for all users at the beginning of each month.
session_id
timestampuser_id
hash of (fxa_id + Date.year + Date.month)device_id
hash of (localStorage random id + Date.year + Date.month)platform
[web | android]country
region
language
time
timestampos_name
event_type
[client_visit | client_upload | client_download | client_delete | client_login | client_logout]event_properties
browser
browser_version
status
[ ok | error | cancel ]- Event specific properties (see below)
user_properties
active_count
number of active uploadsanonymous
true if anonymous, false if fxaexperiments
list of experiment ids the user is participating infirst_action
how this use came to Send the first time [ upload | download ]
Visit Event
entrypoint
[ upload | download ]
Upload Event
download_limit
download limitfile_count
number of filespassword_protected
booleansize
approximate size (log10)time_limit
time limitduration
approximate transfer duration (log10)
Download Event
password_protected
booleansize
approximate size (log10)duration
approximate transfer duration (log10)
Delete Event
age
hours since uploadeddownloaded
downloaded at least once
Login Event
trigger
[button | time | count | size]
Logout Event
trigger
[button | timeout]