Interpret app metrics and make data-driven decisions. Covers DAU/MAU, retention, LTV, ARPU, App Store Connect analytics, AARRR funnel analysis, cohort analysis, and diagnostic decision trees. Use when user wants to understand their metrics, diagnose problems, or build a data-driven growth plan.
npx skills add https://github.com/rshankras/claude-code-apple-skills --skill analytics-interpretation
Interpret your app's metrics, diagnose problems, and make data-driven decisions. Works with App Store Connect data, third-party analytics, or raw numbers the user provides.
Use this skill when the user:
Ask the user via AskUserQuestion:
Also pull App Store Connect peer group benchmarks (App Analytics → Benchmarks) before interpreting any trend — they establish whether a metric is "bad for you" or "bad for the category."
| Below peers on... | Reach for... |
|-------------------|--------------|
| Conversion rate | Product Page Optimization + Custom Product Pages |
| Retention | In-app events + App Clips |
| Proceeds per paying user | Pricing tier review + promoted in-app purchases |
Different monetization models have different north star metrics.
| Metric | Why It Matters |
|--------|---------------|
| DAU/MAU | More daily users = more ad impressions |
| Session length | Longer sessions = more ad views |
| Sessions per day | More sessions = more revenue opportunities |
| Ad impressions/revenue | Direct revenue driver |
| D1/D7/D30 retention | Users must come back for ads to work |
| Metric | Why It Matters |
|--------|---------------|
| Conversion rate (free → paid) | Primary revenue driver |
| Time to conversion | How long before users see enough value |
| Feature adoption | Which features drive upgrades |
| Revenue per download | Overall monetization efficiency |
| D7 retention (free users) | Must retain long enough to convert |
| Metric | Why It Matters |
|--------|---------------|
| Trial start rate | Top of subscription funnel |
| Trial → paid conversion | Critical conversion point |
| Monthly churn rate | Determines LTV |
| LTV (lifetime value) | Revenue per subscriber over their lifetime |
| Payback period | Months to recoup acquisition cost |
| MRR / ARR | Business health snapshot |
| Subscriber retention (Month 1-12) | Long-term revenue curve |
| Metric | Why It Matters |
|--------|---------------|
| Downloads per day/week | Direct revenue driver |
| Revenue per download | Should equal price minus Apple's cut |
| Refund rate | Product quality signal (keep < 5%) |
| Ratings and reviews | Social proof drives more downloads |
| Organic vs. paid ratio | Sustainability indicator |
Impressions (your app appeared in search/browse)
↓ Tap-through rate = Product Page Views / Impressions
Product Page Views (user tapped to see your page)
↓ Conversion rate = Downloads / Product Page Views
Downloads (user installed your app)
↓ D1 retention
Day 1 Active Users
↓ D7 retention
Day 7 Active Users
↓ D30 retention
Day 30 Active Users
↓ Monetization
Paying Users
Impressions → Product Page Views (Tap-Through Rate)
| Rating | TTR | Interpretation |
|--------|-----|---------------|
| Good | > 8% | Icon and title are compelling |
| Average | 4-8% | Room to improve first impression |
| Poor | < 4% | Icon, title, or subtitle need work |
What to fix if low:
Product Page Views → Downloads (Conversion Rate)
| Rating | CVR | Interpretation |
|--------|-----|---------------|
| Good | > 40% | Screenshots and description are effective |
| Average | 25-40% | Some friction on the product page |
| Poor | < 25% | Major product page issues |
What to fix if low:
Downloads → Day 1 Retention
| Rating | D1 | Interpretation |
|--------|-----|---------------|
| Good | > 35% | Onboarding delivers on promise |
| Average | 20-35% | Some users confused or disappointed |
| Poor | < 20% | App not delivering expected value |
What to fix if low:
Day 1 → Day 7 Retention
| Rating | D7 | Interpretation |
|--------|-----|---------------|
| Good | > 20% | Users forming habit |
| Average | 10-20% | Some users finding value |
| Poor | < 10% | Most users abandoning after trying |
What to fix if low:
Day 7 → Day 30 Retention
| Rating | D30 | Interpretation |
|--------|-----|---------------|
| Good | > 10% | Strong product-market fit signal |
| Average | 5-10% | Decent but room to grow |
| Poor | < 5% | Retention cliff — users churning |
What to fix if low:
The pirate metrics framework — diagnose where your funnel leaks.
| Metric | Benchmark | Diagnostic |
|--------|-----------|-----------|
| Organic search impressions | Growing month-over-month | Are your keywords working? |
| Browse impressions | Category-dependent | Are you getting featured/editorial? |
| Referral traffic | > 10% of total | Do users share your app? |
| Paid acquisition CPA | < 1/3 of LTV | Is paid acquisition sustainable? |
Questions to ask:
| Metric | Benchmark | Diagnostic |
|--------|-----------|-----------|
| Onboarding completion | > 70% | Is onboarding too long? |
| "Aha moment" reached | > 50% in first session | Do users discover core value? |
| First key action taken | > 40% of installs | Are users doing the main thing? |
Questions to ask:
| Metric | Benchmark | Diagnostic |
|--------|-----------|-----------|
| D1 retention | 25-40% | First impression quality |
| D7 retention | 15-25% | Habit formation |
| D30 retention | 8-15% | Product-market fit |
| DAU/MAU ratio | 15-30% | Daily engagement strength |
Questions to ask:
| Metric | Benchmark | Diagnostic |
|--------|-----------|-----------|
| Free → trial rate | 10-30% | Is the paywall compelling? |
| Trial → paid rate | 40-60% | Does the trial demonstrate value? |
| ARPU (all users) | Category-dependent | Overall monetization efficiency |
| ARPPU (paying users) | 5-20x ARPU | Are payers happy with value? |
Questions to ask:
| Metric | Benchmark | Diagnostic |
|--------|-----------|-----------|
| Organic multiplier | > 1.0 | Each user brings > 1 new user |
| Share rate | > 5% of MAU | Users actively sharing |
| Rating/review rate | > 1% of MAU | Users willing to vouch publicly |
| Average rating | > 4.5 | High satisfaction |
Questions to ask:
Month 0 Month 1 Month 2 Month 3 Month 4 Month 5
Jan cohort 100% 62% 55% 50% 48% 46%
Feb cohort 100% 58% 51% 46% 44% —
Mar cohort 100% 65% 59% 54% — —
Apr cohort 100% 70% 63% — — —
May cohort 100% 68% — — — —
What to look for:
When you ship a change, compare cohorts before and after:
Before change (Jan-Mar avg): Month 1 retention = 58%
After change (Apr-May avg): Month 1 retention = 69%
Improvement: +11 percentage points → significant positive impact
Rules of thumb:
App Analytics carries 50+ subscription metrics, organized as states (subscribers in an offer, paying full price, with billing issues, churned) and events (movement between states):
Cohort tables get sharper when split by source or custom product page. Example: a "runner" CPP segment converting at 1.3% vs. 3% overall means three different levers from one segmented number — fix that page's creative, redirect its ad spend, and re-engage its cohort via in-app events.
Use these when the user says "my [metric] is bad, what do I do?"
Low impressions
├── Are you ranking for any keywords?
│ ├── NO → ASO problem: optimize title, subtitle, keywords
│ │ See keyword-optimizer skill
│ └── YES → Are those keywords high-volume?
│ ├── NO → Target higher-volume keywords
│ └── YES → Are you ranking in top 10?
│ ├── NO → Improve rankings (more ratings, better conversion)
│ └── YES → Expand to more keywords or new markets
Low tap-through rate
├── Is your icon professional and distinctive?
│ ├── NO → Redesign icon (test 3 variants)
│ └── YES → Is your title clear and keyword-rich?
│ ├── NO → Rewrite title: [Brand] - [Value Keyword]
│ └── YES → Is your subtitle compelling?
│ ├── NO → Rewrite subtitle with specific benefit
│ └── YES → Check competitor positioning — are you differentiated?
Poor day-1 retention
├── Is onboarding complete rate > 70%?
│ ├── NO → Simplify onboarding (fewer steps, skip option)
│ └── YES → Do users reach "aha moment" in first session?
│ ├── NO → Restructure first-run experience to show core value immediately
│ └── YES → Are there performance issues (crashes, slow load)?
│ ├── YES → Fix stability first (check crash reports)
│ └── NO → Does the app match what screenshots promised?
│ ├── NO → Align marketing with actual product
│ └── YES → Core value may not be strong enough → user research needed
Low monetization
├── Do users see the paywall?
│ ├── NO → Add natural paywall touchpoints (feature gates, usage limits)
│ └── YES → Is the paywall compelling?
│ ├── NO → Redesign paywall (show value, social proof, feature comparison)
│ └── YES → Is the price right?
│ ├── TOO HIGH → Test lower price point or add cheaper tier
│ ├── TOO LOW → Users may not perceive enough value — test higher price
│ └── SEEMS RIGHT → Is trial experience showcasing premium features?
│ ├── NO → Onboard users to premium features during trial
│ └── YES → Test different trial lengths or offer types
Based on the overall picture, recommend one of four paths:
Signals:
Action: Increase development speed, consider marketing spend, expand to new platforms.
Signals:
Action: Focus on the retention cliff. Find what retained users do differently and make all users do that. A/B test paywall and onboarding.
Signals:
Action: Double down on the unexpected use case. Rebuild around what users actually do, not what you planned.
Signals:
Action: Put app in maintenance mode. Stop active development. Consider open-sourcing or selling. Redirect energy to next project.
Important caveat: Sunsetting is not failure. Most successful indie developers shipped several apps before finding the one that worked.
See metrics-reference.md for:
Present analysis as an Analytics Health Report:
# Analytics Health Report: [App Name]
## Overview
**App type:** [Free/Freemium/Subscription/Paid]
**Stage:** [Pre-launch/Early/Growing/Established]
**Data period:** [Date range analyzed]
## Funnel Health
| Stage | Metric | Value | Rating | Action |
|-------|--------|-------|--------|--------|
| Acquisition | Impressions/day | X,XXX | 🟢/🟡/🔴 | ... |
| Acquisition | Tap-through rate | X.X% | 🟢/🟡/🔴 | ... |
| Activation | Conversion rate | X.X% | 🟢/🟡/🔴 | ... |
| Retention | D1 retention | XX% | 🟢/🟡/🔴 | ... |
| Retention | D7 retention | XX% | 🟢/🟡/🔴 | ... |
| Retention | D30 retention | XX% | 🟢/🟡/🔴 | ... |
| Revenue | Conversion rate | X.X% | 🟢/🟡/🔴 | ... |
| Revenue | LTV | $XX.XX | 🟢/🟡/🔴 | ... |
## Primary Bottleneck
**[Stage name]** — [One sentence explanation of the biggest problem]
## Recommended Actions (Priority Order)
1. 🔴 [Critical fix] — Expected impact: [X]
2. 🟠 [High priority] — Expected impact: [X]
3. 🟡 [Medium priority] — Expected impact: [X]
## Overall Assessment
**Recommendation:** [Invest / Iterate / Pivot / Sunset]
**Rationale:** [2-3 sentences]
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency.
Query openFDA API for drugs, devices, adverse events, recalls, regulatory submissions (510k, PMA), substance identification (UNII), for FDA regulatory data analysis and safety research.
MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter.
UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.
Creating interactive data visualisations using d3.js. This skill should be used when creating custom charts, graphs, network diagrams, geographic visualisations, or any complex SVG-based data visualisation that requires fine-grained control over visual elements, transitions, or interactions. Use this for bespoke visualisations beyond standard charting libraries, whether in React, Vue, Svelte, vanilla JavaScript, or any other environment.
Access AlphaFold 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.
Take rshankras/analytics-interpretation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.