Token导航 LogoToken导航

Agent Skill · 研究检索

monetization-analyzer(货币化分析器)

monetization-analyzer 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

monetization-analyzer 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证为 MIT,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 52,216。

总安装 563周安装 23GitHub Stars 3下载 180核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:monetization-analyzer(货币化分析器)
来源仓库:https://github.com/natea/fitfinder
仓库路径:skills/monetization-analyzer
安装命令:
npx skills add https://github.com/natea/fitfinder --skill monetization-analyzer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/natea/fitfinder --skill monetization-analyzer

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

货币化分析器技能通过以下方式将市场数据和游戏概念转化为金融情报: ✅ 根据市场情绪量化支付意愿 ✅ 根据游戏机制对病毒潜力进行评分 ✅ 用现实模型预测 3 年收入 ✅ 计算投资回报率和投资回收期 ✅ 按综合货币化得分对概念进行排名 ✅ 选择前 3 个最赚钱的机会 ✅ 生成优化建议 输出支持数据驱动的决策: 投资优先顺序 定价优化 变现模式选择 进入市场策略 收入预测 融资演讲稿财务预测 每周安装量 23 存储库 纳特亚/fitfinder GitHub 之星 3 第一次看到 2026 年 1 月 24 日 安全审计 Gen Agent Trust Hub 通行证 套接字通行证 斯尼克通行证

来源仓库内路径:skills/monetization-analyzer

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/natea/fitfinder --skill monetization-analyzer;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

monetization-analyzer 怎么安装?

在终端执行 npx skills add https://github.com/natea/fitfinder --skill monetization-analyzer。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

monetization-analyzer 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

monetization-analyzer 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

monetization-analyzer 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

monetization-analyzer 用的人多吗?

公开数据是累计安装 563 次,近一周安装 23 次,下载 180 次,GitHub 3 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

monetization-analyzer 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
monetization-analyzer

货币化分析器 · 本页

5633需要联网MIT通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Monetization Analyzer Skill

Purpose

This skill evaluates game concepts to identify the most monetizable opportunities based on:

  • Willingness-to-Pay (WTP) analysis from market data
  • Viral potential and organic growth mechanics
  • Revenue model optimization (premium, F2P, subscription, hybrid)
  • Market demand and addressable market size
  • Competitive pricing positioning
  • Lifetime Value (LTV) projections

Output: Ranked list of top 3 most monetizable game concepts with detailed financial projections and go-to-market recommendations.

When to Use This Skill

Use this skill when you have:

  • ✅ Multiple game concepts to evaluate for investment prioritization
  • ✅ Market analysis data showing pricing sentiment and willingness-to-pay signals
  • ✅ Need to identify which concepts have highest revenue potential
  • ✅ Want to optimize monetization models before development
  • ✅ Require financial projections for pitch decks or funding proposals
  • ✅ Need to validate business model assumptions with market data

Prerequisites

Required Input Files

  1. Market Analysis Report (from market-analyst skill)

- Location: /docs/market-analysis-*.md - Must include: Sentiment data on pricing, monetization pain points, willingness-to-pay signals - Example: market-analysis-fps-games-2025-10-26.md

  1. Game Concepts Document (from brainstorming/design)

- Location: /docs/*-game-concepts-*.md or /docs/plans/*-design.md - Must include: Price points, target personas, distribution channels, competitors - Example: fps-game-concepts-market-driven-2025-10-26.md

Optional Input Files

  1. Competitor Financial Data (if available)

- Revenue reports, player counts, ARPU data - Enhances accuracy of projections

Core Workflow

Phase 1: Data Extraction and Normalization

1. Load Market Analysis

Extract willingness-to-pay signals:

WTP_Signals = {
  price_sentiment: {
    "$0 (F2P)": {positive: X%, negative: Y%, mentions: N},
    "$10-20": {positive: X%, negative: Y%, mentions: N},
    "$20-30": {positive: X%, negative: Y%, mentions: N},
    "$60-70": {positive: X%, negative: Y%, mentions: N},
    "$70 + MTX": {positive: X%, negative: Y%, mentions: N}
  },
  monetization_pain_points: [
    {issue: "Premium + battle pass", severity: "CRITICAL", mentions: N},
    {issue: "Loot boxes", severity: "HIGH", mentions: N}
  ],
  value_propositions: [
    {model: "F2P cosmetic-only", sentiment: X%, examples: []},
    {model: "Budget indie ($15-25)", sentiment: X%, examples: []}
  ]
}

2. Load Game Concepts

Extract monetization-relevant data for each concept:

GameConcept = {
  name: string,
  price_point: number | "F2P",
  monetization_model: string,
  target_audience: {
    primary_persona: {},
    market_size_estimate: number,
    spending_behavior: string
  },
  competitors: [{name, price, model, performance}],
  distribution_channels: [{platform, percentage, rationale}],
  lifecycle_commitment: string,
  development_cost_estimate: number
}

Phase 2: Willingness-to-Pay Analysis

3. Calculate WTP Score (0-100)

function calculateWTP(concept, marketData) {
  const score = {
    price_sentiment_alignment: 0,    // Does price match positive sentiment tier?
    value_perception: 0,              // Content/$ ratio vs. market expectations
    monetization_model_fit: 0,        // Model aligns with audience preferences?
    competitive_positioning: 0,       // Price competitive advantage?
    pain_point_avoidance: 0          // Avoids monetization red flags?
  };

  // Price Sentiment Alignment (0-30 points)
  const priceТier = getPriceTier(concept.price_point);
  const sentiment = marketData.price_sentiment[priceTier];
  score.price_sentiment_alignment = (sentiment.positive / 100) * 30;

  // Value Perception (0-25 points)
  const contentHours = estimateContentHours(concept);
  const pricePerHour = concept.price_point / contentHours;
  const marketAvgPricePerHour = calculateMarketAverage();

  if (pricePerHour < marketAvgPricePerHour * 0.8) {
    score.value_perception = 25; // Excellent value
  } else if (pricePerHour < marketAvgPricePerHour) {
    score.value_perception = 18; // Good value
  } else if (pricePerHour < marketAvgPricePerHour * 1.2) {
    score.value_perception = 10; // Fair value
  } else {
    score.value_perception = 0; // Poor value
  }

  // Monetization Model Fit (0-20 points)
  const modelSentiment = marketData.value_propositions.find(
    vp => vp.model === concept.monetization_model
  );
  score.monetization_model_fit = (modelSentiment.sentiment / 100) * 20;

  // Competitive Positioning (0-15 points)
  const competitorPrices = concept.competitors.map(c => c.price);
  const avgCompetitorPrice = average(competitorPrices);

  if (concept.price_point < avgCompetitorPrice * 0.7) {
    score.competitive_positioning = 15; // Undercut leaders
  } else if (concept.price_point < avgCompetitorPrice) {
    score.competitive_positioning = 10; // Competitive pricing
  } else {
    score.competitive_positioning = 5; // Premium positioning
  }

  // Pain Point Avoidance (0-10 points)
  const painPoints = marketData.monetization_pain_points;
  let violations = 0;

  painPoints.forEach(pp => {
    if (conceptViolatesPainPoint(concept, pp)) {
      violations += (pp.severity === "CRITICAL") ? 5 : 2;
    }
  });

  score.pain_point_avoidance = Math.max(0, 10 - violations);

  return {
    total: Object.values(score).reduce((a, b) => a + b, 0),
    breakdown: score,
    confidence: calculateConfidence(marketData.sample_size)
  };
}

WTP Score Interpretation:

  • 90-100: Exceptional WTP, price optimization perfect
  • 75-89: Strong WTP, minor adjustments possible
  • 60-74: Moderate WTP, consider price/model changes
  • Below 60: Weak WTP, major repositioning needed

Phase 3: Viral Potential Analysis

4. Calculate Viral Score (0-100)

function calculateViralPotential(concept, marketData) {
  const score = {
    shareability: 0,           // Content naturally creates shareable moments?
    accessibility: 0,          // Low barrier to entry?
    network_effects: 0,        // Benefits from friend invites?
    streamer_appeal: 0,        // Twitch/YouTube friendly?
    novelty_factor: 0,         // Unique enough to generate buzz?
    social_features: 0         // Built for social play/sharing?
  };

  // Shareability (0-20 points)
  const shareableGenres = ["party game", "asymmetric", "sports hybrid", "roguelike"];
  if (shareableGenres.some(g => concept.genre.includes(g))) {
    score.shareability = 20;
  } else if (concept.genre.includes("competitive") || concept.genre.includes("co-op")) {
    score.shareability = 12;
  } else {
    score.shareability = 5; // Single-player, narrative
  }

  // Accessibility (0-20 points)
  if (concept.price_point === "F2P") {
    score.accessibility = 20; // Zero barrier
  } else if (concept.price_point <= 15) {
    score.accessibility = 15; // Impulse purchase
  } else if (concept.price_point <= 25) {
    score.accessibility = 10; // Reasonable
  } else {
    score.accessibility = 5; // Higher barrier
  }

  // Network Effects (0-20 points)
  if (concept.monetization_model.includes("F2P") || concept.monetization_model.includes("viral")) {
    score.network_effects = 20;
  } else if (concept.description.includes("co-op") || concept.description.includes("multiplayer")) {
    score.network_effects = 12;
  } else {
    score.network_effects = 0;
  }

  // Streamer Appeal (0-15 points)
  const streamerFriendly = [
    concept.genre.includes("asymmetric"),
    concept.genre.includes("roguelike"),
    concept.genre.includes("party"),
    concept.description.includes("viral moments"),
    concept.description.includes("spectator")
  ];
  score.streamer_appeal = streamerFriendly.filter(Boolean).length * 3;

  // Novelty Factor (0-15 points)
  const noveltyIndicators = marketData.novelty_successes || [];
  if (noveltyIndicators.some(n => concept.description.includes(n.innovation))) {
    score.novelty_factor = 15;
  } else if (concept.description.includes("unique") || concept.description.includes("first")) {
    score.novelty_factor = 10;
  } else {
    score.novelty_factor = 5;
  }

  // Social Features (0-10 points)
  const socialKeywords = ["co-op", "multiplayer", "friend", "clan", "team", "squad"];
  const socialCount = socialKeywords.filter(kw =>
    concept.description.toLowerCase().includes(kw)
  ).length;
  score.social_features = Math.min(10, socialCount * 2);

  return {
    total: Object.values(score).reduce((a, b) => a + b, 0),
    breakdown: score,
    viral_coefficient: estimateViralCoefficient(score.total)
  };
}

function estimateViralCoefficient(viralScore) {
  // Viral coefficient: How many new users does each user bring?
  // K > 1 = exponential growth, K < 1 = paid acquisition needed
  if (viralScore >= 85) return 1.5;      // Exceptional viral growth
  if (viralScore >= 70) return 1.2;      // Strong organic growth
  if (viralScore >= 55) return 0.8;      // Some viral mechanics
  if (viralScore >= 40) return 0.4;      // Minimal viral spread
  return 0.2;                             // Requires paid marketing
}

Viral Score Interpretation:

  • 85-100: Viral hit potential (K > 1.2), minimal marketing spend
  • 70-84: Strong organic growth (K ~1.0), word-of-mouth driven
  • 55-69: Moderate virality (K ~0.8), some paid marketing needed
  • 40-54: Low virality (K ~0.4), heavy marketing investment required
  • Below 40: No viral mechanics (K ~0.2), paid acquisition only

Phase 4: Revenue Projection Modeling

5. Calculate Revenue Potential (Year 1-3 Projections)

function projectRevenue(concept, wtpScore, viralScore, marketData) {
  const model = concept.monetization_model;

  // Addressable Market Size
  const TAM = estimateTotalAddressableMarket(concept, marketData);
  const SAM = TAM * 0.15; // Serviceable addressable (15% of TAM realistic)
  const SOM = SAM * getMarketShareEstimate(viralScore, concept.competitors.length);

  // Player Acquisition Model
  const year1Players = calculateYear1Players(concept, viralScore, SOM);
  const year2Players = year1Players * getRetentionMultiplier(concept.lifecycle_commitment);
  const year3Players = year2Players * getGrowthMultiplier(viralScore);

  // Revenue Calculations
  if (model.includes("F2P")) {
    return projectF2PRevenue(year1Players, year2Players, year3Players, concept);
  } else if (model.includes("premium") || typeof concept.price_point === "number") {
    return projectPremiumRevenue(year1Players, year2Players, year3Players, concept);
  } else {
    return projectHybridRevenue(year1Players, year2Players, year3Players, concept);
  }
}

function projectF2PRevenue(y1Players, y2Players, y3Players, concept) {
  // F2P Model: Base * Conversion Rate * ARPPU
  const conversionRate = 0.03; // Industry avg: 3-5% pay
  const ARPPU = estimateARPPU(concept); // Average revenue per paying user

  const y1Revenue = y1Players * conversionRate * ARPPU;
  const y2Revenue = y2Players * (conversionRate * 1.1) * (ARPPU * 1.15); // Improve over time
  const y3Revenue = y3Players * (conversionRate * 1.15) * (ARPPU * 1.25);

  return {
    year1: {players: y1Players, revenue: y1Revenue, ARPU: y1Revenue / y1Players},
    year2: {players: y2Players, revenue: y2Revenue, ARPU: y2Revenue / y2Players},
    year3: {players: y3Players, revenue: y3Revenue, ARPU: y3Revenue / y3Players},
    total_3yr: y1Revenue + y2Revenue + y3Revenue,
    LTV: (y1Revenue + y2Revenue + y3Revenue) / y1Players
  };
}

function projectPremiumRevenue(y1Players, y2Players, y3Players, concept) {
  // Premium Model: Units Sold * Price + Optional DLC
  const basePrice = concept.price_point;
  const dlcAttachRate = 0.25; // 25% buy DLC
  const avgDLCSpend = basePrice * 0.6; // DLC ~60% of base price

  const y1Revenue = (y1Players * basePrice) + (y1Players * dlcAttachRate * avgDLCSpend * 0.5);
  const y2Revenue = (y2Players * 0.3 * basePrice) + (y2Players * 0.3 * dlcAttachRate * avgDLCSpend);
  const y3Revenue = (y3Players * 0.1 * basePrice) + (y3Players * 0.1 * dlcAttachRate * avgDLCSpend);

  return {
    year1: {players: y1Players, revenue: y1Revenue, ARPU: basePrice},
    year2: {players: y2Players * 0.3, revenue: y2Revenue, ARPU: basePrice},
    year3: {players: y3Players * 0.1, revenue: y3Revenue, ARPU: basePrice},
    total_3yr: y1Revenue + y2Revenue + y3Revenue,
    LTV: basePrice + (dlcAttachRate * avgDLCSpend)
  };
}

function estimateARPPU(concept) {
  // Average Revenue Per Paying User (F2P)
  if (concept.genre.includes("competitive")) return 45; // Esports skin buyers spend more
  if (concept.genre.includes("party")) return 20; // Casual spenders
  if (concept.genre.includes("co-op")) return 30; // Mid-tier
  return 25; // Default
}

function estimateTotalAddressableMarket(concept, marketData) {
  // Use market analysis data + platform data
  const steamActivePlayers = 120000000; // ~120M monthly active on Steam
  const genreMultiplier = getGenreMarketShare(concept.genre);
  return steamActivePlayers * genreMultiplier;
}

function getMarketShareEstimate(viralScore, competitorCount) {
  // Viral potential + competitive landscape determines realistic share
  let baseShare = 0.01; // 1% of SAM baseline

  if (viralScore >= 85) baseShare *= 3;      // Viral hit
  else if (viralScore >= 70) baseShare *= 2; // Strong growth
  else if (viralScore >= 55) baseShare *= 1.5;

  // Competitive penalty
  if (competitorCount > 5) baseShare *= 0.7;
  else if (competitorCount > 3) baseShare *= 0.85;

  return baseShare;
}

6. Calculate Development ROI

function calculateROI(concept, revenueProjection) {
  const devCost = concept.development_cost_estimate || estimateDevCost(concept);
  const marketingCost = estimateMarketingCost(concept, revenueProjection.year1.players);
  const totalInvestment = devCost + marketingCost;

  const grossRevenue = revenueProjection.total_3yr;
  const platformFees = grossRevenue * 0.30; // Steam/console take 30%
  const netRevenue = grossRevenue - platformFees;
  const netProfit = netRevenue - totalInvestment;

  return {
    investment: totalInvestment,
    gross_revenue: grossRevenue,
    net_revenue: netRevenue,
    net_profit: netProfit,
    ROI_percentage: (netProfit / totalInvestment) * 100,
    payback_period_months: calculatePaybackPeriod(totalInvestment, revenueProjection),
    break_even_units: totalInvestment / (concept.price_point || 25)
  };
}

function estimateDevCost(concept) {
  // Based on scope, team size, timeline
  if (concept.description.includes("solo") || concept.description.includes("small team")) {
    return 150000; // $150K
  } else if (concept.description.includes("128-player") || concept.description.includes("large-scale")) {
    return 8000000; // $8M
  } else {
    return 1200000; // $1.2M (AA indie default)
  }
}

function estimateMarketingCost(concept, year1Players) {
  // Cost per acquisition based on viral coefficient
  const viralCoef = concept.viral_coefficient || 0.5;

  if (viralCoef >= 1.2) {
    // Viral growth, minimal paid marketing
    return year1Players * 0.50; // $0.50 CPA (mostly organic)
  } else if (viralCoef >= 0.8) {
    return year1Players * 2; // $2 CPA
  } else {
    return year1Players * 5; // $5 CPA (heavy paid)
  }
}

Phase 5: Monetization Optimization Recommendations

7. Analyze Monetization Model Fit

function analyzeMonetizationModel(concept, wtpScore, viralScore, marketData) {
  const currentModel = concept.monetization_model;
  const alternativeModels = [];

  // Test F2P vs. Premium
  if (currentModel.includes("premium") && viralScore >= 70) {
    alternativeModels.push({
      model: "F2P with cosmetic monetization",
      rationale: `High viral score (${viralScore}) suggests F2P could 5-10x player base`,
      projected_revenue_delta: "+40-80%",
      risk: "ARPPU uncertainty, requires cosmetic art pipeline"
    });
  }

  // Test pricing tiers
  if (typeof concept.price_point === "number") {
    const sentiment = marketData.price_sentiment;
    const currentTier = getPriceTier(concept.price_point);

    Object.keys(sentiment).forEach(tier => {
      if (tier !== currentTier && sentiment[tier].positive > sentiment[currentTier].positive + 10) {
        alternativeModels.push({
          model: `Price adjustment to ${tier}`,
          rationale: `${tier} has ${sentiment[tier].positive}% positive vs. current ${sentiment[currentTier].positive}%`,
          projected_revenue_delta: estimatePriceChangeDelta(concept, tier),
          risk: "Value perception vs. content ratio"
        });
      }
    });
  }

  // Test monetization add-ons
  if (!currentModel.includes("DLC") && concept.lifecycle_commitment.includes("2-3 year")) {
    alternativeModels.push({
      model: "Add expansion DLC model",
      rationale: "Long lifecycle supports premium content drops",
      projected_revenue_delta: "+15-25%",
      risk: "Community expectations for free updates"
    });
  }

  return {
    current_model: currentModel,
    current_model_score: scoreMonetizationModel(currentModel, wtpScore, viralScore),
    alternatives: alternativeModels.sort((a, b) =>
      parseFloat(b.projected_revenue_delta) - parseFloat(a.projected_revenue_delta)
    )
  };
}

Phase 6: Composite Monetization Score & Ranking

8. Calculate Total Monetization Score (0-100)

function calculateMonetizationScore(concept, wtpScore, viralScore, revenueProjection, roi) {
  const score = {
    willingness_to_pay: wtpScore.total * 0.25,          // 25% weight
    viral_potential: viralScore.total * 0.20,           // 20% weight
    revenue_potential: normalizeRevenue(revenueProjection.total_3yr) * 0.30, // 30% weight
    roi_efficiency: normalizeROI(roi.ROI_percentage) * 0.15,  // 15% weight
    time_to_profit: normalizePaybackPeriod(roi.payback_period_months) * 0.10 // 10% weight
  };

  return {
    total: Object.values(score).reduce((a, b) => a + b, 0),
    breakdown: score,
    tier: getMonetizationTier(Object.values(score).reduce((a, b) => a + b, 0))
  };
}

function normalizeRevenue(revenue) {
  // Normalize to 0-100 scale (assuming $50M = 100)
  return Math.min(100, (revenue / 50000000) * 100);
}

function normalizeROI(roiPercentage) {
  // Normalize to 0-100 scale (500% ROI = 100)
  return Math.min(100, (roiPercentage / 500) * 100);
}

function normalizePaybackPeriod(months) {
  // Shorter = better (6 months = 100, 36 months = 0)
  return Math.max(0, 100 - ((months - 6) / 30) * 100);
}

function getMonetizationTier(score) {
  if (score >= 90) return "S-TIER: Blockbuster potential";
  if (score >= 80) return "A-TIER: Strong monetization";
  if (score >= 70) return "B-TIER: Solid revenue opportunity";
  if (score >= 60) return "C-TIER: Moderate monetization";
  return "D-TIER: Weak monetization";
}

9. Rank and Select Top 3

function rankConcepts(concepts, scores) {
  const ranked = concepts.map((concept, i) => ({
    concept: concept,
    scores: scores[i],
    monetization_score: scores[i].total,
    recommendation: generateRecommendation(concept, scores[i])
  })).sort((a, b) => b.monetization_score - a.monetization_score);

  return {
    top3: ranked.slice(0, 3),
    all_ranked: ranked,
    summary: generateRankingSummary(ranked)
  };
}

function generateRecommendation(concept, scores) {
  const strengths = [];
  const weaknesses = [];
  const actions = [];

  // Analyze strengths
  if (scores.breakdown.willingness_to_pay >= 20) strengths.push("Strong price/value fit");
  if (scores.breakdown.viral_potential >= 16) strengths.push("High organic growth potential");
  if (scores.breakdown.revenue_potential >= 24) strengths.push("Large revenue opportunity");

  // Analyze weaknesses
  if (scores.breakdown.willingness_to_pay < 15) weaknesses.push("Price optimization needed");
  if (scores.breakdown.viral_potential < 12) weaknesses.push("Lacks viral mechanics");
  if (scores.breakdown.roi_efficiency < 10) weaknesses.push("Long payback period");

  // Generate actions
  if (weaknesses.includes("Price optimization needed")) {
    actions.push("Test alternative price points ($X-Y range)");
  }
  if (weaknesses.includes("Lacks viral mechanics")) {
    actions.push("Add social features (friend invites, sharing, spectator mode)");
  }
  if (scores.breakdown.revenue_potential < 20) {
    actions.push("Expand addressable market (additional platforms, regions)");
  }

  return {strengths, weaknesses, priority_actions: actions};
}

Output Format

Monetization Analysis Report Structure

# Monetization Analysis Report: [Game Category]

**Analysis Date**: [Date]
**Market Analysis Source**: [Filename]
**Game Concepts Analyzed**: [Number]
**Top 3 Selected By**: Total Monetization Score (WTP + Viral + Revenue + ROI + Time-to-Profit)

---

## Executive Summary

[2-3 paragraphs summarizing key findings, top picks, revenue potential]

---

## Top 3 Most Monetizable Games

### 🥇 #1: [Game Name] - Monetization Score: XX/100

**Monetization Tier**: [S/A/B/C/D-TIER]

#### Score Breakdown
| Component | Score | Weight | Contribution |
|-----------|-------|--------|--------------|
| Willingness-to-Pay | XX/100 | 25% | XX.X |
| Viral Potential | XX/100 | 20% | XX.X |
| Revenue Potential | XX/100 | 30% | XX.X |
| ROI Efficiency | XX/100 | 15% | XX.X |
| Time-to-Profit | XX/100 | 10% | XX.X |
| **TOTAL** | **XX/100** | **100%** | **XX.X** |

#### Willingness-to-Pay Analysis (XX/100)
- **Price Point**: $XX or F2P
- **Market Sentiment**: XX% positive for this price tier
- **Value Perception**: $X.XX per hour (market avg: $X.XX) - [Excellent/Good/Fair/Poor]
- **Monetization Model**: [Model name]
- **Model Sentiment**: XX% positive (proven by [examples])
- **Pain Points Avoided**: ✅ No premium+MTX ✅ No loot boxes ✅ [etc]
- **Competitive Pricing**: [XX% below/above] competitor average ($XX)

**Confidence**: [HIGH/MEDIUM/LOW] based on [sample size] data points

#### Viral Potential Analysis (XX/100)
- **Viral Coefficient**: X.X (players per player)
- **Growth Type**: [Exponential/Organic/Paid-driven]
- **Shareability**: XX/20 - [Why shareable]
- **Accessibility**: XX/20 - [Barrier to entry]
- **Network Effects**: XX/20 - [Friend invite mechanics]
- **Streamer Appeal**: XX/15 - [Twitch/YouTube potential]
- **Novelty Factor**: XX/15 - [Unique hook]
- **Social Features**: XX/10 - [Co-op/multiplayer/clans]

**Viral Mechanisms**:
- [Mechanism 1]: [How it drives viral spread]
- [Mechanism 2]: [How it drives viral spread]

#### Revenue Projections (3-Year)

**Player Acquisition**:
- Year 1: XXX,XXX players ([organic/paid mix])
- Year 2: XXX,XXX players ([retention rate]%)
- Year 3: XXX,XXX players ([growth trajectory])

**Revenue Model**: [Premium/F2P/Hybrid]
- Year 1: $X.XM revenue, $XX ARPU, XXX,XXX paying users
- Year 2: $X.XM revenue, $XX ARPU, XXX,XXX paying users
- Year 3: $X.XM revenue, $XX ARPU, XXX,XXX paying users
- **Total 3-Year**: $XX.XM gross revenue

**Lifetime Value (LTV)**: $XX per player

#### Financial Projections

**Investment Required**:
- Development: $X.XM ([team size, timeline])
- Marketing: $X.XM (CPA: $X.XX based on viral coef X.X)
- **Total Investment**: $X.XM

**Returns**:
- Gross Revenue (3yr): $XX.XM
- Platform Fees (30%): -$X.XM
- Net Revenue: $XX.XM
- Net Profit: $XX.XM
- **ROI**: XXX% over 3 years
- **Payback Period**: XX months
- **Break-Even Units**: XX,XXX copies/players

#### Monetization Model Analysis

**Current Model**: [Model description]
- **Model Score**: XX/100
- **Strengths**: [Why this model works]
- **Market Validation**: [Examples of successful similar models]

**Alternative Models Considered**:
1. **[Alternative Model]**
   - Projected Revenue Delta: +XX%
   - Rationale: [Why it could work better]
   - Risk: [Implementation challenges]

2. **[Alternative Model 2]**
   - Projected Revenue Delta: +XX%
   - Rationale: [Why it could work better]
   - Risk: [Implementation challenges]

**Recommendation**: [Stick with current / Switch to alternative X]

#### Market Demand Validation

**Addressable Market**:
- TAM (Total): XX million players ([genre] on [platforms])
- SAM (Serviceable): X.X million players (15% of TAM)
- SOM (Obtainable): XXX,XXX players (X.X% market share realistic)

**Demand Signals**:
- Market gap priority score: XX/100
- Explicit demand mentions: XXX+ in market analysis
- Competitor performance: [Leader doing $XXM ARR]
- Growth trajectory: [Growing/Stable/Declining] market

#### Strengths
1. ✅ [Strength 1 - from analysis]
2. ✅ [Strength 2 - from analysis]
3. ✅ [Strength 3 - from analysis]

#### Weaknesses
1. ⚠️ [Weakness 1 - from analysis]
2. ⚠️ [Weakness 2 - from analysis]

#### Priority Actions
1. 🎯 [Action 1 to improve monetization]
2. 🎯 [Action 2 to improve monetization]
3. 🎯 [Action 3 to improve monetization]

#### Go-to-Market Recommendation

**Launch Strategy**:
- **Platform Priority**: [Steam/Console/Multi] first
- **Pricing Strategy**: [Launch price, discount strategy]
- **Marketing Budget**: $X.XM ([CPA strategy])
- **Timeline**: [Optimal launch window based on competition]

**First 90 Days**:
- Week 1-2: [Activities]
- Month 1: [Milestones]
- Month 2-3: [Retention focus]

**Success Metrics**:
- Week 1: XXK units sold / downloads
- Month 1: XX% D30 retention
- Month 3: $XXK MRR / ARR run-rate
- Year 1: $X.XM revenue target

---

### 🥈 #2: [Game Name] - Monetization Score: XX/100

[Same detailed structure as #1]

---

### 🥉 #3: [Game Name] - Monetization Score: XX/100

[Same detailed structure as #1]

---

## Comparative Analysis: Top 3

### Quick Comparison Table

| Metric | #1: [Name] | #2: [Name] | #3: [Name] |
|--------|------------|------------|------------|
| **Monetization Score** | XX/100 | XX/100 | XX/100 |
| **WTP Score** | XX/100 | XX/100 | XX/100 |
| **Viral Score** | XX/100 | XX/100 | XX/100 |
| **3-Year Revenue** | $XXM | $XXM | $XXM |
| **ROI %** | XXX% | XXX% | XXX% |
| **Payback Period** | XX mo | XX mo | XX mo |
| **Investment Required** | $X.XM | $X.XM | $X.XM |
| **Year 1 Players** | XXXk | XXXk | XXXk |
| **Risk Level** | [Low/Med/High] | [Low/Med/High] | [Low/Med/High] |

### Portfolio Recommendation

**If investing in ONE game**: [#1/2/3] because [rationale]

**If investing in TWO games**: [#1 + #2/3] because [portfolio diversification rationale]

**If investing in ALL THREE**: [Portfolio strategy - risk balance, market coverage]

---

## All Concepts Ranked

| Rank | Game Name | Score | Tier | Revenue (3yr) | ROI | Why it ranked here |
|------|-----------|-------|------|---------------|-----|-------------------|
| 1 | [Name] | XX | S | $XXM | XXX% | [1-sentence reason] |
| 2 | [Name] | XX | A | $XXM | XXX% | [1-sentence reason] |
| 3 | [Name] | XX | A | $XXM | XXX% | [1-sentence reason] |
| 4 | [Name] | XX | B | $XXM | XXX% | [1-sentence reason] |
| 5 | [Name] | XX | B | $XXM | XXX% | [1-sentence reason] |
...

---

## Market Insights

### Willingness-to-Pay Patterns

**Price Tiers by Sentiment**:
1. ✅ **$15-25 (XX% positive)**: Sweet spot for indie/value games
2. ✅ **F2P (XX% positive)**: Works if cosmetic-only, fails if P2W
3. ⚠️ **$60-70 (XX% negative)**: Premium acceptable ONLY if no added MTX
4. ❌ **$70 + MTX (XX% negative)**: Market rejection, avoid entirely

**Monetization Models Ranked**:
1. F2P cosmetic-only (XX% positive) - Examples: CS2, [others]
2. Budget premium $15-25 (XX% positive) - Examples: Duckov, [others]
3. Premium $30-40 + expansions (XX% positive) - Examples: [Classic games]
4. Premium $60-70 clean (XX% positive / XX% negative) - Mixed
5. Premium + battle pass (XX% negative) - **AVOID**

### Viral Mechanisms That Work

**High Viral Coefficient (K > 1.0)**:
- F2P with friend invite rewards
- Asymmetric gameplay (streamers love)
- Party games with spectator mode
- Co-op with friend-only benefits

**Moderate Viral Coefficient (K ~0.8)**:
- Competitive with clan systems
- Roguelikes with meta-progression sharing
- Co-op PvE with progression

**Low Viral Coefficient (K < 0.5)**:
- Single-player narrative
- Premium with no social features
- Hardcore difficulty (small audience)

---

## Recommendations by Investment Scenario

### Scenario 1: Limited Budget ($500K-$1M)

**Best Pick**: [Game X]
- Why: Highest ROI (XXX%), fastest payback (XX months)
- Risk: [Low/Medium] - proven model
- Expected Return: $X.XM net profit

**Alternative**: [Game Y]
- Why: Lower risk, proven audience
- Expected Return: $X.XM net profit

### Scenario 2: Medium Budget ($2M-$5M)

**Best Pick**: [Game X]
- Why: Balance of revenue potential ($XXM) and viral growth
- Portfolio approach: [Game X] + [Game Y] for diversification

### Scenario 3: Large Budget ($10M+)

**Best Pick**: [Game X]
- Why: Blockbuster potential, large TAM
- Competitive moat: [Unique advantages]
- Market timing: [Why now is optimal]

---

## Risk Assessment

### Top 3 Monetization Risks

1. **[Risk 1]**: [Description]
   - Affects: [Which games]
   - Mitigation: [Strategy]
   - Probability: [Low/Med/High]

2. **[Risk 2]**: [Description]
   - Affects: [Which games]
   - Mitigation: [Strategy]
   - Probability: [Low/Med/High]

3. **[Risk 3]**: [Description]
   - Affects: [Which games]
   - Mitigation: [Strategy]
   - Probability: [Low/Med/High]

---

## Appendix: Methodology

### Data Sources
- Market Analysis: [Filename, data points, date]
- Game Concepts: [Filename, concepts count]
- Competitor Data: [Sources]

### Scoring Formulas
- WTP Score: [Components and weights]
- Viral Score: [Components and weights]
- Monetization Score: [Composite formula]

### Assumptions
- Platform fees: 30% (Steam/console standard)
- F2P conversion rate: 3-5%
- F2P ARPPU: $20-45 depending on genre
- Viral coefficient estimates based on genre/model
- TAM estimates based on [Steam/platform data]

### Confidence Levels
- HIGH: 100+ sentiment data points, direct competitor comp data
- MEDIUM: 50-99 data points, some comp data
- LOW: <50 data points, limited comp data

---

**Report Generated By**: Monetization Analyzer Skill v1.0
**Analysis Date**: [Date]
**Input Files**: [List]
**Concepts Evaluated**: [Number]
**Top 3 Selected**: [Names]

Implementation Protocol

Step 1: Create Analysis Plan

TodoWrite([
  "Load market analysis report and extract WTP signals",
  "Load game concepts document and extract monetization data",
  "Calculate WTP score for each game concept",
  "Calculate viral potential score for each concept",
  "Project 3-year revenue for each concept",
  "Calculate ROI and financial metrics",
  "Compute total monetization score",
  "Rank all concepts by monetization score",
  "Select top 3 and generate detailed analysis",
  "Create optimization recommendations for top 3",
  "Generate comprehensive monetization report"
])

Step 2: Data Loading (Parallel)

[Single Message - Load All Inputs]:
  Read("/docs/market-analysis-[category]-[date].md")
  Read("/docs/[category]-game-concepts-[date].md")
  // Optional: Read competitor data if available

Step 3: Scoring (Sequential for each concept)

For each game concept:

  1. Calculate WTP score (0-100)
  2. Calculate viral score (0-100)
  3. Project revenue (3-year model)
  4. Calculate ROI metrics
  5. Compute composite monetization score

Step 4: Ranking and Selection

  1. Sort concepts by total monetization score (descending)
  2. Select top 3
  3. Generate detailed analysis for top 3
  4. Create comparative analysis
  5. Develop recommendations

Step 5: Report Generation

Save comprehensive report to: /docs/monetization-analysis-[category]-top3-[date].md

Best Practices

DO:

✅ Use actual market data for WTP signals (not assumptions) ✅ Consider viral coefficient in player acquisition costs ✅ Model both optimistic and conservative scenarios ✅ Validate assumptions against competitor performance ✅ Account for platform fees (30%) in revenue calculations ✅ Consider payback period for investment decisions ✅ Test alternative monetization models

DON'T:

❌ Ignore market sentiment on pricing ❌ Assume high prices = high revenue (volume matters) ❌ Underestimate marketing costs for low-viral games ❌ Overestimate viral growth without evidence ❌ Mix incompatible monetization models (premium + aggressive MTX) ❌ Ignore competitive pricing dynamics ❌ Project beyond 3 years (too uncertain)

Integration with Other Skills

This skill works with:

  • market-analyst: Primary data source for WTP and demand
  • reddit-sentiment-analysis: Raw sentiment on pricing/monetization
  • competitive-analysis: Competitor revenue benchmarking
  • product-roadmap: Feature prioritization by revenue impact

Summary

The Monetization Analyzer Skill transforms market data and game concepts into financial intelligence by:

  1. ✅ Quantifying willingness-to-pay from market sentiment
  2. ✅ Scoring viral potential based on game mechanics
  3. ✅ Projecting 3-year revenue with realistic models
  4. ✅ Calculating ROI and payback periods
  5. ✅ Ranking concepts by composite monetization score
  6. ✅ Selecting top 3 most monetizable opportunities
  7. ✅ Generating recommendations for optimization

Output enables data-driven decisions for:

  • Investment prioritization
  • Pricing optimization
  • Monetization model selection
  • Go-to-market strategy
  • Revenue forecasting
  • Pitch deck financial projections

平台分布

Claude Code

32.7%
按下载量换算59

windsurf

23.07%
按下载量换算42

Antigravity

16.38%
按下载量换算29

trae

14.19%
按下载量换算26

OpenCode

7.97%
按下载量换算14

Gemini CLI

3.66%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

继续浏览同类 Skills