Interroger les analyses depuis la CLI
Le CLI Adapty lit les Analyses Adapty depuis le terminal, sous la rubrique adapty analytics. Il renvoie les chiffres affichés dans le tableau de bord Analytics pour une application : les graphiques tels que les revenus et le MRR, les conversions, l’entonnoir, la rétention, la LTV et les cohortes d’installation.
Utilisez-le pour donner à un agent IA un accès en direct aux chiffres de votre application, pour intégrer un graphique dans un script ou une feuille de calcul, ou pour répondre à une question sans ouvrir le tableau de bord.
Every analytics command is read-only and takes one app.
Avant de commencer
Le topic analytics utilise la même installation et la même connexion que le reste du CLI. Si vous ne l’avez pas encore configuré, suivez les étapes 1 et 2 du guide de démarrage rapide. Ce topic nécessite la version 0.10.0 ou supérieure du CLI. Pour voir votre version, exécutez adapty --version.
Contrairement à l’API Export Analytics, le CLI n’a pas besoin de clé API secrète. Votre connexion CLI donne accès à toutes les applications auxquelles votre utilisateur Adapty a accès.
Chaque commande prend l’UUID de l’application via --app. Pour le trouver, exécutez :
adapty apps list
Créer une requête
Construisez chaque requête dans le même ordre : trouvez les noms dans le catalogue, recherchez les valeurs de filtre, puis exécutez une commande de données.
-
Listez ce que l’analyse de l’application peut répondre. Le catalogue répertorie chaque graphique avec son unité, chaque conversion, les regroupements et filtres acceptés par chaque commande, ainsi que les valeurs acceptées et les valeurs par défaut de chaque option :
adapty analytics catalog --app <app-id>Les noms des graphiques et des conversions, tels que
revenue,mrr, outrial-paid, proviennent de cette liste. Le CLI ne tient pas sa propre liste, donc un graphique qu’Adapty ajoute ultérieurement fonctionnera sans mise à jour du CLI. -
Recherchez les valeurs de filtre. Ignorez cette étape si vous ne filtrez pas. Par exemple, pour lister les pays disponibles comme filtres :
adapty analytics values --app <app-id> --dimension country -
Exécutez la commande de données :
adapty analytics chart --app <app-id> --chart revenue \ --date-from 2026-07-01 --date-to 2026-09-30 --group-by country
La réponse comporte une ligne pour le total, puis une ligne pour chaque groupe.
Exemples
MRR ce trimestre, comparé au trimestre précédent :
adapty analytics chart --app <app-id> --chart mrr \
--date-from 2026-07-01 --date-to 2026-09-30 \
--compare-from 2026-04-01 --compare-to 2026-06-30
Conversion essai-vers-payant mensuelle dans deux pays :
adapty analytics conversion --app <app-id> --conversion trial-paid \
--date-from 2026-04-01 --date-to 2026-09-30 --granularity month --filter country=US,GB
Rétention par pays, comptée depuis l’essai :
adapty analytics retention --app <app-id> --date-from 2026-07-01 --date-to 2026-09-30 \
--group-by country --use-trial
LTV après 7, 30 et 90 jours, sur les revenus après commission et taxes, enregistré dans un fichier CSV :
adapty analytics ltv --app <app-id> --date-from 2026-07-01 --date-to 2026-09-30 \
--revenue-basis net --period-type days --renewal-days 7,30,90 --csv > ltv.csv
Cohortes d’installation hebdomadaires sur les revenus après commission du store :
adapty analytics cohort --app <app-id> --date-from 2026-07-01 --date-to 2026-09-30 \
--granularity week --revenue-basis proceeds
Choisir le format de sortie
Chaque commande de données s’affiche dans l’un des trois formats suivants :
| Sortie | Option | À utiliser pour |
|---|---|---|
| Table | Aucune | Lecture dans le terminal. Chaque table commence par un en-tête indiquant le nom du graphique, la période, le fuseau horaire et les filtres. Les montants ont 2 décimales. Certains champs sont omis, comme les raisons de churn des entonnoirs et les prédictions de cohortes, et une ligne sous la table l’indique. |
| JSON | --json | Scripts et agents IA. La réponse de l’API, sans modification, avec tous les champs. |
| CSV | --csv | Tableurs. Une ligne par groupe, avec tous les champs de la réponse. Une période de comparaison est intégrée dans les colonnes compare.* de la même ligne. |
Vous ne pouvez pas utiliser --csv et --json ensemble.
En JSON, le total est la première entrée de data.segments, et data.value correspond au nombre pour toute la période. meta.query affiche la requête qui s’est exécutée, avec toutes les valeurs par défaut renseignées et le fuseau horaire en vigueur.
Lire les résultats
- Dates :
--date-fromet--date-tosont des jours inclusifs dans le fuseau horaire de reporting de l’application. Pour lire les données dans un autre fuseau horaire, passez un nom IANA dans--timezone, par exempleEurope/Berlin.meta.query.timezoneindique le fuseau horaire en vigueur. - Revenus :
--revenue-basisdéfinit les valeurs monétaires utilisées :gross(par défaut),proceeds(après la commission du store) ounet(après commission et taxes). S’applique àltv,cohortet aux graphiques affichant des montants. Le catalogue signale ces graphiques avectakes revenue_basis. - Valeurs vides : Une valeur vide signifie qu’Adapty ne dispose d’aucune donnée, jamais zéro. Une période LTV qu’une cohorte n’a pas encore atteinte est vide, tout comme une cohorte qui ne peut pas être prédite. Dans la sortie
--json, ces valeurs sontnull. Le tableau affiche—et le CSV laisse la cellule vide. - La ligne de total : Identifiez le total par
is_total, non par unekeyvide. Lakeyd’un groupe peut également être vide, par exemple pour le groupe d’utilisateurs sans pays. - Clés de groupe : La
keyd’un groupe n’est pas toujours une valeur acceptée par--filter. Pour filtrer, utilisez les valeurs issues deanalytics values. - Périodes comparées : Seuls
chartetconversionacceptent--compare-fromet--compare-to. La période comparée possède son propre total et ses propres groupes, et le tableau l’affiche sous forme de second tableau. - Chiffres d’attribution : N’ajoutez pas ces chiffres aux chiffres d’Attribution. Adapty les calcule différemment.
Le CLI renvoie les mêmes chiffres que le tableau de bord, avec deux exceptions :
funnelapplique le filtrecancellation_reason, que le funnel du tableau de bord ignore. Avec ce filtre, les deux chiffres peuvent différer.retentionpropose une liste de regroupements différente de celle du tableau de bord. Consultez le catalogue pour obtenir la liste.
Limites
Chaque commande d’analyse accepte au maximum 2 requêtes par seconde par application et 360 requêtes par minute au total. Le CLI ne relance jamais une requête. Si vous envoyez des requêtes trop rapidement, la commande se termine avec le code 4. Avec --json, l’erreur inclut retry_after_seconds : attendez ce délai, puis relancez la commande.
Erreurs
Chaque erreur se termine par un code qui indique ce qu’il faut corriger :
| Code de sortie | Cause | Que faire |
|---|---|---|
| 2 | La CLI a rejeté la saisie avant de l’envoyer : UUID d’application invalide, plage de dates malformée ou inversée, période comparée avec une extrémité manquante, --renewal-days sans --period-type days, un --filter sans =, ou --csv avec --json. | Corrigez le paramètre mentionné dans le message. |
| 3 | Vous n’êtes pas connecté, ou votre utilisateur Adapty n’a pas accès à l’application. | Connectez-vous avec adapty auth login. Si vous êtes déjà connecté, retrouvez l’ID de l’application dans adapty apps list, qui ne liste que les applications auxquelles vous avez accès en lecture. |
| 4 | Adapty a refusé la requête : graphique, conversion, regroupement, filtre ou fuseau horaire inconnu ; --revenue-basis sur un graphique qui n’affiche pas de données financières ; ou trop de requêtes. | Corrigez le nom à partir de adapty analytics catalog. Avec --json, l’erreur inclut le code d’erreur de l’API. En cas de trop nombreuses requêtes, consultez Limites. |
Référence des commandes
Chaque commande de données accepte ces options :
| Flag | Requis | Description |
|---|---|---|
--app | Oui | UUID de l’app, obtenu via adapty apps list. |
--date-from | Oui | Premier jour de la période, inclus, au format YYYY-MM-DD. |
--date-to | Oui | Dernier jour de la période, inclus. Ne peut pas être antérieur à --date-from. |
--filter | Non | dimension=value[,value]. Conserve les données où la dimension correspond à l’une des valeurs. Répétez le flag pour filtrer sur plusieurs dimensions. Utilisez \, pour insérer une virgule dans une valeur. Une valeur vide est une valeur : country= conserve les données sans pays. |
--timezone | Non | Fuseau horaire IANA des jours, par exemple Europe/Berlin. Utilise le fuseau horaire de l’app si omis. |
--csv | Non | Affiche un tableau CSV au lieu du tableau lisible. Incompatible avec --json. |
Chaque commande ajoute ses propres options à celles-ci.
analytics catalog
Affiche ce à quoi les analyses de l’application peuvent répondre : chaque commande avec ses options, regroupements et filtres ; chaque graphique avec son unité ; chaque conversion ; et chaque dimension de filtre.
| Indicateur | Requis | Description |
|---|---|---|
--app | Oui | UUID de l’application, obtenu via adapty apps list. |
analytics values
Liste les valeurs que prend une dimension de filtre pour l’application. Chaque value correspond exactement à ce qu’accepte --filter <dimension>=<value>.
| Flag | Required | Description |
|---|---|---|
--app | Yes | UUID de l’application, obtenu via adapty apps list. |
--dimension | Yes | Une dimension de filtre issue de adapty analytics catalog. |
analytics chart
Lit un graphique : le nombre pour toute la période, ses points et ses groupes.
| Flag | Obligatoire | Description |
|---|---|---|
--chart | Oui | Nom d’un graphique tiré de adapty analytics catalog, par exemple revenue ou mrr. |
--group-by | Non | Un regroupement de ce graphique, issu du catalogue. |
--granularity | Non | Durée d’un point : day, week, month (par défaut), quarter ou year. |
--revenue-basis | Non | gross (par défaut), proceeds ou net. Uniquement pour les graphiques affichant des montants. |
--compare-from | Non | Premier jour de la période de comparaison. Nécessite --compare-to. |
--compare-to | Non | Dernier jour de la période de comparaison. Nécessite --compare-from. |
analytics conversion
Lit une conversion : le taux en pourcentage, avec les deux compteurs qui le divisent, pour chaque point et groupe.
| Indicateur | Requis | Description |
|---|---|---|
--conversion | Oui | Un nom de conversion issu de adapty analytics catalog, comme trial-paid ou install-paid. |
--group-by | Non | Un regroupement issu du catalogue. |
--granularity | Non | Durée d’un point : day (par défaut), week, month, quarter ou year. |
--compare-from | Non | Premier jour d’une période à comparer. Nécessite --compare-to. |
--compare-to | Non | Dernier jour d’une période à comparer. Nécessite --compare-from. |
Lorsque la période ne contient aucune conversion, meta.recommended_period dans la sortie --json peut nommer une période qui en contient.
analytics funnel
Lit le funnel : le nombre à chaque étape, de l’installation jusqu’aux renouvellements.
| Flag | Required | Description |
|---|---|---|
--group-by | No | Un regroupement du catalogue. |
analytics retention
Lit les données de rétention : les abonnés restants à chaque période.
| Indicateur | Requis | Description |
|---|---|---|
--group-by | Non | Un regroupement parmi les options disponibles. |
--use-trial | Non | Compter depuis l’essai, et non depuis la première période payante. |
analytics ltv
Lit la LTV : le revenu par utilisateur payant après chaque renouvellement ou chaque jour.
| Flag | Requis | Description |
|---|---|---|
--group-by | Non | Un regroupement du catalogue. |
--revenue-basis | Non | gross (par défaut), proceeds, ou net. |
--period-type | Non | renewals (par défaut) compte par renouvellement. days compte par jour depuis l’installation. |
--renewal-days | Non | Jours à compter avec --period-type days, séparés par des virgules, dans l’ordre croissant, par exemple 7,30,90. Uniquement avec --period-type days. |
analytics cohort
Lit les cohortes d’installation : les revenus, abonnés, moyennes et prédictions de chaque cohorte par renouvellement ou par jour. Chaque cohorte correspond à une ligne, et sa date de début est sa key. Les cohortes ne peuvent pas être groupées.
| Flag | Obligatoire | Description |
|---|---|---|
--granularity | Non | Durée d’une cohorte : day, week, month (défaut), quarter ou year. |
--revenue-basis | Non | gross (défaut), proceeds ou net. |
--period-type | Non | renewals (défaut) compte par renouvellement. days compte par jour depuis l’installation. |
--renewal-days | Non | Jours à comptabiliser avec --period-type days, séparés par des virgules, en ordre croissant. Uniquement avec --period-type days. |
Et maintenant ?
- Comment fonctionne Adapty Analytics — d’où viennent les chiffres.
- Contrôles, filtres et regroupement — ce que signifient les filtres et les options de revenus dans le tableau de bord.
- Interroger l’attribution depuis la CLI — dépenses, installations et ROAS par canal et campagne.