onatcipli

app-store-premium-index

0
0
# Install this skill:
npx skills add onatcipli/skills --skill "app-store-premium-index"

Install specific skill from multi-skill repository

# Description

>

# SKILL.md


name: app-store-premium-index
description: >
Price localization intelligence for iOS/macOS apps using purchasing power parity
analysis. Use this skill when working with App Store pricing for any of these tasks:
(1) Building a "Premium Index" by analyzing reference app prices across territories,
(2) Comparing your app's pricing against PPP-adjusted benchmarks,
(3) Generating localized price recommendations based on economic data,
(4) Automating price updates via App Store Connect API,
(5) Analyzing competitor pricing strategies across markets,
(6) Identifying overpriced/underpriced territories hurting conversions or revenue,
(7) Creating pricing health reports with actionable recommendations.


App Store Premium Index

Optimize your App Store pricing using purchasing power parity analysis—like the
Big Mac Index or Spotify Premium Index, but for your iOS/macOS apps.

Concept

Different countries have vastly different purchasing power. A $9.99/month subscription
that feels reasonable in the US may be unaffordable in India or Turkey. This skill helps
you set data-driven, localized prices that maximize both conversions and revenue.

The Premium Index Approach

  1. Collect reference prices — Fetch prices of popular apps (Spotify, Netflix, etc.)
    across all 175 App Store territories
  2. Calculate index — Compare each territory's price to the US baseline
  3. Cross-reference PPP — Validate against World Bank purchasing power parity data
  4. Generate recommendations — Suggest optimal prices per territory
  5. Automate updates — Apply prices via App Store Connect API

API Access Tiers

Tier Auth Scope Use Case
Public None Any app's price via iTunes Lookup Build Premium Index, competitor analysis
Private JWT Your apps' price points + write access Get equalizations, apply price changes

Workflow 1 — Build Premium Index

Create a price index by analyzing reference apps across territories.

Step 1: Select Reference Apps

Choose 3-5 popular subscription apps as benchmarks:

Suggested references by category:
- General: Spotify (id: 324684580), Netflix (id: 363590051)
- Productivity: Notion (id: 1232780281), Todoist (id: 585829637)
- Fitness: Strava (id: 426826309), MyFitnessPal (id: 341232718)
- News: NYTimes (id: 284862083), The Athletic (id: 1135216317)

Step 2: Fetch Prices Across Territories

For each reference app, fetch prices from all territories:

GET https://itunes.apple.com/lookup?id={app_id}&country={territory_code}

Response fields:
- price — Numeric price value
- currency — Currency code (USD, EUR, GBP, etc.)
- formattedPrice — Localized string ("$9.99", "€9,99", "Free")

Rate limiting: ~20 requests/minute. Cache results aggressively.

Step 3: Calculate Index Values

For each territory, calculate:

price_index = local_price_in_usd / us_price

Where local_price_in_usd = local_price × exchange_rate_to_usd

Step 4: Generate Index Table

Output format:

| Territory | Currency | Spotify | Netflix | Avg Index | PPP Factor | Status |
|-----------|----------|---------|---------|-----------|------------|--------|
| USA       | USD      | $11.99  | $15.49  | 1.00      | 1.00       | Baseline |
| GBR       | GBP      | £11.99  | £10.99  | 0.92      | 0.69       | High |
| IND       | INR      | ₹119    | ₹199    | 0.14      | 0.28       | Optimized |
| TUR       | TRY      | ₺57.99  | ₺63.99  | 0.16      | 0.19       | Good |
| BRA       | BRL      | R$21.90 | R$39.90 | 0.35      | 0.41       | Low |

Status interpretation:
- Baseline — Reference territory (usually USA)
- Optimized — Index aligns well with PPP (within ±20%)
- High — Price higher than PPP suggests (may hurt conversions)
- Low — Price lower than PPP suggests (leaving money on table)
- Good — Reasonable alignment

See index-methodology.md for calculation details.


Workflow 2 — Analyze Your Current Pricing

Compare your app's pricing against the Premium Index to identify optimization opportunities.

Step 1: Fetch Your Current Prices

Option A: Via iTunes Lookup (public)

GET https://itunes.apple.com/lookup?id={your_app_id}&country={territory}

Option B: Via App Store Connect API (private, more accurate)

GET /v1/apps/{id}/appPriceSchedule
GET /v1/subscriptions/{id}/pricePoints?filter[territory]={territory}

Step 2: Compare Against Index

For each territory:

your_index = your_price_in_usd / your_us_price
deviation = (your_index - premium_index) / premium_index × 100

Step 3: Generate Pricing Health Report

## Pricing Health Report — {App Name}

### Summary
- Territories analyzed: 175
- Optimized: 42 (24%)
- Potentially overpriced: 58 (33%)
- Potentially underpriced: 75 (43%)

### Top Opportunities

#### Overpriced (may hurt conversions)
| Territory | Your Price | Recommended | Potential Impact |
|-----------|------------|-------------|------------------|
| Brazil    | $9.99      | $4.99       | +45% conversions |
| India     | $6.99      | $2.99       | +120% conversions |
| Turkey    | $7.99      | $1.99       | +85% conversions |

#### Underpriced (leaving revenue on table)
| Territory | Your Price | Recommended | Potential Impact |
|-----------|------------|-------------|------------------|
| Switzerland | $9.99    | $14.99      | +50% revenue |
| Norway      | $9.99    | $12.99      | +30% revenue |
| UAE         | $9.99    | $11.99      | +20% revenue |

Workflow 3 — Generate Localized Price Recommendations

Create a complete price schedule optimized for each territory.

Input Required

  1. Base price — Your price in a reference territory (usually USA)
  2. Product type — App, subscription, or in-app purchase
  3. Strategy — Conservative, balanced, or aggressive localization

Strategy Options

Strategy Description Index Multiplier
Conservative Minimal variation, prioritize simplicity 0.3× PPP adjustment
Balanced Moderate localization (recommended) 0.6× PPP adjustment
Aggressive Full PPP alignment, maximize reach 1.0× PPP adjustment

Step 1: Calculate Target Prices

for territory in territories:
    ppp_factor = get_ppp_factor(territory)
    strategy_weight = get_strategy_weight(strategy)

    # Calculate adjustment
    adjustment = (1 - ppp_factor) * strategy_weight
    target_price = base_price * (1 - adjustment)

    # Ensure minimum viable price
    target_price = max(target_price, minimum_prices[territory])

Step 2: Match to Apple Price Points

Apple has ~800 fixed price points. Match each target to the nearest available tier:

GET /v1/subscriptionPricePoints/{base_point_id}/equalizations

This returns equivalent price points across all territories.

Step 3: Output Price Schedule

## Recommended Price Schedule — {App Name}

Base: $9.99 USD (Monthly Subscription)
Strategy: Balanced

| Territory | Currency | Current | Recommended | Price Point ID | Change |
|-----------|----------|---------|-------------|----------------|--------|
| USA       | USD      | $9.99   | $9.99       | pp_usa_999     | —      |
| GBR       | GBP      | £9.99   | £7.99       | pp_gbr_799     | -20%   |
| EUR       | EUR      | €10.99  | €8.99       | pp_eur_899     | -18%   |
| IND       | INR      | ₹799    | ₹299        | pp_ind_299     | -63%   |
| BRA       | BRL      | R$54.90 | R$34.90     | pp_bra_3490    | -36%   |
| JPN       | JPY      | ¥1,500  | ¥1,200      | pp_jpn_1200    | -20%   |

Workflow 4 — Apply Pricing via API

Automate price updates using App Store Connect API.

Prerequisites

  • App Store Connect API key with appropriate permissions
  • JWT token generation capability
  • See apple-pricing-api.md for auth setup

For Subscriptions

POST /v1/subscriptionPrices
{
  "data": {
    "type": "subscriptionPrices",
    "attributes": {
      "startDate": "2024-02-01"  // Optional: schedule future change
    },
    "relationships": {
      "subscription": {
        "data": { "type": "subscriptions", "id": "{subscription_id}" }
      },
      "subscriptionPricePoint": {
        "data": { "type": "subscriptionPricePoints", "id": "{price_point_id}" }
      }
    }
  }
}

Repeat for each territory.

For In-App Purchases

POST /v1/inAppPurchasePriceSchedules
{
  "data": {
    "type": "inAppPurchasePriceSchedules",
    "relationships": {
      "inAppPurchase": {
        "data": { "type": "inAppPurchases", "id": "{iap_id}" }
      },
      "manualPrices": {
        "data": [
          { "type": "inAppPurchasePrices", "id": "${placeholder-0}" },
          { "type": "inAppPurchasePrices", "id": "${placeholder-1}" }
        ]
      },
      "baseTerritory": {
        "data": { "type": "territories", "id": "USA" }
      }
    }
  },
  "included": [
    {
      "type": "inAppPurchasePrices",
      "id": "${placeholder-0}",
      "relationships": {
        "inAppPurchasePricePoint": {
          "data": { "type": "inAppPurchasePricePoints", "id": "{point_id}" }
        }
      }
    }
  ]
}

Safety Checks

Before applying prices:
1. Preview changes — Show before/after comparison
2. Require confirmation — User must explicitly approve
3. Validate price points — Ensure all IDs are valid
4. Check for scheduled changes — Avoid conflicts with pending updates


Workflow 5 — Competitor Price Intelligence

Analyze how competitors price across territories.

Step 1: Identify Competitors

GET https://itunes.apple.com/search?term={category}&media=software&limit=50

Or user provides specific app IDs.

Step 2: Fetch Competitor Prices

For each competitor, fetch prices across key territories:

key_territories = ['USA', 'GBR', 'DEU', 'JPN', 'AUS', 'BRA', 'IND', 'KOR', 'TUR', 'MEX']

for competitor in competitors:
    for territory in key_territories:
        price = fetch_price(competitor.id, territory)

Step 3: Generate Comparison Report

## Competitor Pricing Analysis — {Category}

### Price Comparison (Monthly Subscription)

| App | USA | UK | Germany | Japan | India | Brazil | Turkey |
|-----|-----|-----|---------|-------|-------|--------|--------|
| Your App | $9.99 | £9.99 | €10.99 | ¥1,500 | ₹799 | R$54.90 | ₺149.99 |
| Competitor A | $7.99 | £6.99 | €7.99 | ¥1,000 | ₹349 | R$29.90 | ₺59.99 |
| Competitor B | $12.99 | £11.99 | €12.99 | ¥1,800 | ₹499 | R$44.90 | ₺99.99 |
| Market Avg | $10.32 | £9.66 | €10.66 | ¥1,433 | ₹549 | R$43.23 | ₺103.32 |

### Insights

- **India:** You're 45% above market average. Consider reducing to improve competitiveness.
- **Turkey:** You're 45% above market average. High-growth market, price sensitivity high.
- **Japan:** You're aligned with market. No immediate action needed.
- **USA:** You're 3% below market. Room to increase if value proposition is strong.

Quick Reference — API Endpoints

Task Method Endpoint Auth
Lookup app price GET itunes.apple.com/lookup?id={id}&country={cc} Public
Search apps GET itunes.apple.com/search?term={q}&media=software Public
List subscription price points GET /v1/subscriptions/{id}/pricePoints?filter[territory]={cc} JWT
Get price equalizations GET /v1/subscriptionPricePoints/{id}/equalizations JWT
List IAP price points GET /v2/inAppPurchases/{id}/pricePoints?filter[territory]={cc} JWT
Set subscription price POST /v1/subscriptionPrices JWT
Set IAP price schedule POST /v1/inAppPurchasePriceSchedules JWT
List territories GET /v1/territories JWT

Caching Strategy

To avoid rate limits and improve performance:

Data Cache Duration Storage
iTunes Lookup prices 24 hours Local file
Premium Index 7 days Local file
PPP data 30 days Reference file
Territory codes Permanent Reference file
Price points 24 hours Local file

Reference Files

File Purpose
territory-codes.md All 175 territory codes, currencies, and regions
ppp-data.md World Bank PPP conversion factors
apple-pricing-api.md API authentication and endpoint details
index-methodology.md Premium Index calculation methodology

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.