ASC Metrics
You analyze the user's official App Store Connect data through the asc CLI — downloads, revenue, IAP, subscriptions, trials, and reports. This is first-party data, not estimates.
Prerequisites
- App Store Connect CLI installed:
asc version - Authenticated API profile:
asc auth status --validate - Access to analytics/sales/finance endpoints depends on the App Store Connect API key role.
If auth is missing, ask the user to run asc auth login with their App Store Connect API key details, then validate with asc auth doctor.
Initial Assessment
- Check for
app-marketing-context.md— read it for app context - Ask: What do you want to analyze? (downloads, revenue, subscriptions, country breakdown, trend comparison)
- Ask: Which time period? (default: last 30 days)
- Ask: Specific app or all apps?
Fetching Data
Use explicit JSON output for analysis.
Step 1 — Validate auth and list apps
asc auth status --validate
asc apps list --output json
Match the user's app to the numeric App Store Connect app ID if not already known.
Step 2 — Discover available report commands
asc analytics --help
asc insights --help
asc finance --help
asc performance --help
Step 3 — Pull the relevant official data
asc analytics get --help
asc analytics get --date YYYY-MM-DD --output json --paginate
asc insights --help
asc finance --help
Use --paginate on list/report commands when available. If a metric is not exposed by the API or the key lacks permission, say so and ask for an App Store Connect export instead.
ASO Context
Use Astro MCP for ranking/rating context alongside official metrics:
search_rankingswithincludeHistory: trueget_app_ratingswithincludeHistory: trueget_app_keywords
Analysis Frameworks
Period-over-Period Comparison
Fetch two equal-length windows and compare:
| Metric | Prior Period | Current Period | Change | |--------|-------------|----------------|--------| | Downloads | [N] | [N] | [+/-X%] | | Revenue | $[N] | $[N] | [+/-X%] | | Subscriptions | [N] | [N] | [+/-X%] | | Trials | [N] | [N] | [+/-X%] | | Trial → Sub Rate | [X]% | [X]% | [+/-X pp] |
What to look for:
- Downloads rising but revenue flat → pricing or paywall issue
- Trials rising but conversions flat → paywall or onboarding issue
- Revenue rising but downloads flat → good monetization improvement
Daily Trend Analysis
From daily[], identify:
- Spikes — Did a feature, update, or press trigger them?
- Drops — Correlate with app updates, seasonality, or algorithm changes
- Trend direction — 7-day moving average vs prior 7 days
Country Breakdown
Sort countries[] by downloads and revenue:
- Top 5 by downloads — Are you investing in ASO for these markets?
- Top 5 by revenue — Higher ARPD (avg revenue per download) = prioritize ASO
- High downloads, low revenue — Markets with weak monetization
- Low downloads, high revenue — Under-tapped premium markets (localize)
Revenue Quality Check
Compute from the data:
| Metric | Formula | Benchmark | |--------|---------|-----------| | ARPD | Revenue / Downloads | > $0.05 good; > $0.20 excellent | | Trial rate | Trials / Downloads | > 20% means strong paywall reach | | Sub conversion | Subscriptions / Trials | > 25% is strong | | Revenue per sub | Revenue / Subscriptions | Depends on pricing |
Output Format
Performance Snapshot
📊 [App Name] — [Period]
Downloads: [N] ([+/-X%] vs prior period)
Revenue: $[N] ([+/-X%])
Subscriptions: [N] ([+/-X%])
Trials: [N] ([+/-X%])
IAP Count: [N] ([+/-X%])
Trial→Sub: [X]%
Top Markets (downloads):
1. [Country] — [N] downloads, $[N]
2. [Country] — [N] downloads, $[N]
3. [Country] — [N] downloads, $[N]
Key Observations:
- [What the trend means]
- [Any anomaly and likely cause]
- [Opportunity identified]
Recommended Actions:
1. [Specific action based on data]
2. [Specific action based on data]
Trend Alert
When a significant change (>20%) is detected, flag it:
⚠️ Downloads dropped [X]% this week
Possible causes: [list 2-3 hypotheses]
Next steps: [specific diagnostic actions]
Common Questions
"Why did my downloads drop?"
- Pull daily trend — when did it start?
- Check if an update shipped on that date
- Check keyword rankings (use
keyword-researchskill) - Check competitor activity (use
competitor-analysisskill)
"Which countries should I localize for?"
Pull country breakdown → sort by downloads → flag high-download, non-English markets → use localization skill
"Is my monetization improving?"
Compare trial rate and trial→sub rate period over period → use monetization-strategy skill for paywall improvements
Related Skills
app-analytics— Full analytics stack setup and KPI frameworkmonetization-strategy— Improve subscription conversion and paywallretention-optimization— Reduce churn using the metrics as inputlocalization— Expand top-performing markets seen in country dataua-campaign— Validate whether paid installs show in downloads spike