indie-app-analytics/SKILL.md
Analytics and metrics framework for indie iOS/macOS developers. Use when the user wants to understand app metrics, set up analytics, interpret retention data, calculate LTV/CAC, perform cohort analysis, or make data-driven decisions about their indie app.
npx skillsauth add abanoub-ashraf/manus-skills-import indie-app-analyticsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analytics and metrics framework for indie iOS/macOS developers. Use this skill when the user wants to understand app metrics, set up analytics, interpret retention data, calculate LTV/CAC, perform cohort analysis, or make data-driven decisions about their indie app.
Trigger on phrases like "analytics setup", "track metrics", "retention rate", "LTV calculation", "churn rate", "cohort analysis", "user engagement", "DAU/MAU", "conversion funnel", "which metrics should I track", or any questions about measuring app performance.
Lifetime Value (LTV): The total revenue you expect from a single customer over their entire relationship with your app.
LTV = ARPU × Gross Margin ÷ Churn Rate
For subscription apps:
LTV = Average Monthly Revenue Per User × Average Customer Lifespan (months)
Customer Acquisition Cost (CAC): Total cost to acquire a new paying customer.
CAC = Total Marketing Spend ÷ New Customers Acquired
LTV:CAC Ratio Benchmarks:
CAC Payback Period: Time to recover acquisition cost. Target under 12 months.
CAC Payback = CAC ÷ Monthly Revenue Per Customer
Monthly/Annual Recurring Revenue (MRR/ARR):
MRR = Number of Active Subscribers × Average Revenue Per Subscriber
ARR = MRR × 12
Churn Rate: Percentage of users who stop using your app or cancel subscriptions.
Monthly Churn = (Users at Start - Users at End) ÷ Users at Start × 100
Benchmarks for subscription apps:
Retention Rate Benchmarks (2025):
Day 1 (D1) Retention:
Day 7 (D7) Retention:
Day 30 (D30) Retention:
Day 90 (D90) Retention:
Subscription Retention by Plan Type:
DAU/MAU Ratio (Stickiness): Measures how often users return.
Stickiness = Daily Active Users ÷ Monthly Active Users × 100
Benchmarks:
Session Metrics:
Trial-to-Paid Conversion: Varies significantly by category.
Category benchmarks (2025):
Key insights:
Cohort analysis groups users by a shared characteristic (usually signup date) to track behavior over time.
By Install Date: Track how users acquired in week 1 behave differently from week 2, etc.
By Acquisition Source: Compare organic vs paid users, or different ad campaigns.
By Plan Type: Monthly vs yearly subscribers often have very different retention curves.
By Onboarding Completion: Users who complete onboarding vs those who don't.
RevenueCat (Recommended for subscriptions):
PostHog (Open-source, privacy-friendly):
Mixpanel:
Amplitude:
App Store Connect Analytics:
Firebase Analytics:
Singular:
For pre-revenue apps:
For revenue-generating apps:
development
Design principles for building polished, native-feeling SwiftUI apps and widgets. Use this skill when creating or modifying SwiftUI views, iOS widgets (WidgetKit), or any native Apple UI. Ensures proper spacing, typography, colors, and widget implementations that look and feel like quality apps rather than AI-generated slop.
data-ai
Design and implement SwiftUI views, components, and app architecture. Use when creating new SwiftUI views, implementing MVVM/TCA patterns, managing state with @Observable, @State, @Binding, or @Environment, designing navigation flows, or structuring iOS app architecture. Triggers on SwiftUI, view model, state management, navigation, coordinator pattern.
development
Implement, review, or improve SwiftUI animations and transitions. Use when adding implicit or explicit animations with withAnimation, configuring spring animations (.smooth, .snappy, .bouncy), building phase or keyframe animations with PhaseAnimator/KeyframeAnimator, creating hero transitions with matchedGeometryEffect or matchedTransitionSource, adding SF Symbol effects (bounce, pulse, variableColor, breathe, rotate, wiggle), implementing custom Transition or CustomAnimation types, or ensuring animations respect accessibilityReduceMotion.
testing
Audit SwiftUI views for accessibility (iOS + macOS) with patch-ready fixes