# CLI: Analytics, remote config, experiments and tester builds
Source: https://sovaria.in/docs/cli-app-growth

Read product analytics (active users, events, funnels, retention) and export events, manage remote config and feature flags as a file in git, run A/B experiments, and send test builds to testers with sov.

Flags in git:
```bash
sov config pull            # writes sovaria/config.json
sov config diff
sov config publish -m "Turn on new checkout for 10%"
sov config rollback 12
```

## sov analytics

Product analytics: active users, events, funnels, retention, export

### sov analytics overview
`sov analytics overview [OPTIONS]`
DAU / WAU / MAU, events and top events, platforms, countries, usage.

### sov analytics events
`sov analytics events [OPTIONS]`
Event names with counts.

### sov analytics trend
`sov analytics trend [OPTIONS] NAME`
One event per day: count and distinct users.

### sov analytics funnel
`sov analytics funnel [OPTIONS] STEPS`
Conversion through ordered steps.

### sov analytics retention
`sov analytics retention [OPTIONS]`
Retention cohorts (finished periods only).

### sov analytics users
`sov analytics users [OPTIONS]`
Recently seen app users and their properties.

### sov analytics user
`sov analytics user [OPTIONS] USER_KEY`
One user's profile, consent and latest events.

### sov analytics live
`sov analytics live [OPTIONS]`
Newest events as they arrive (debug view).

### sov analytics export
`sov analytics export [OPTIONS]`
Raw events (analytics.export_sql).
--to-db makes them SQL-queryable next to your app's tables.

### sov analytics erase
`sov analytics erase [OPTIONS] USER_KEY`
Erase one user's analytics (events, properties) and stop collecting theirs.
Can't be undone.

### sov analytics settings
`sov analytics settings [OPTIONS]`
Show (or set) whether only users who consented are recorded.

## sov config

Remote config and feature flags: pull/push, diff, publish, rollback

### sov config pull
`sov config pull [OPTIONS]`
Write the config template to a file (commit it to git).

### sov config push
`sov config push [OPTIONS]`
Replace the draft with the file.
Nothing goes live until `sov config publish`.

### sov config diff
`sov config diff [OPTIONS]`
What publishing the draft (or a file) would change.

### sov config preview
`sov config preview [OPTIONS]`
How many recently seen users would get different values if the draft were published.

### sov config publish
`sov config publish [OPTIONS]`
Publish the draft: live apps get the new values.

### sov config versions
`sov config versions [OPTIONS]`
Published and scheduled versions.

### sov config rollback
`sov config rollback [OPTIONS] VERSION`
Publish an older version again (as a new version).

### sov config set
`sov config set [OPTIONS] KEY VALUE`
Set a parameter's default in the draft (publish to make it live).

### sov config evaluate
`sov config evaluate [OPTIONS]`
The values one user/device would get.

## sov experiments

A/B experiments on remote config parameters

### sov experiments list
`sov experiments list [OPTIONS]`
`sov experiments list`.

### sov experiments create
`sov experiments create [OPTIONS] NAME`
Create a draft experiment (start it with `sov experiments start`).

### sov experiments start
`sov experiments start [OPTIONS] NAME`
Start splitting live users (publishes a config version).

### sov experiments stop
`sov experiments stop [OPTIONS] NAME`
`sov experiments stop`.

### sov experiments results
`sov experiments results [OPTIONS] NAME`
Per-variant results: lift, 95% interval, p-value, sample-ratio check, winner.

### sov experiments rollout
`sov experiments rollout [OPTIONS] NAME`
Make a variant the parameter's default for everyone, end the experiment and publish.

## sov distribute

Tester builds (APK, AAB, IPA): upload, groups, invites

### sov distribute upload
`sov distribute upload [OPTIONS] FILE`
Upload a build, read its metadata, share it with groups and email testers.

### sov distribute releases
`sov distribute releases [OPTIONS]`
`sov distribute releases`.

### sov distribute testers list
`sov distribute testers list [OPTIONS]`
`sov distribute testers list`.

### sov distribute testers add
`sov distribute testers add [OPTIONS] EMAILS`
`sov distribute testers add`.

### sov distribute testers remove
`sov distribute testers remove [OPTIONS] TESTER_ID`
`sov distribute testers remove`.

### sov distribute testers invite
`sov distribute testers invite [OPTIONS] TESTER_ID`
`sov distribute testers invite`.
