upGrowth Growth Toolkit
29 free read-only growth tools: CAC, ROAS, PPC, schema, meta tags, robots.txt and AI crawler checks.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (3)
- LOWen seo_roi
- LOWen instagram_earnings
- LOWen website_ad_revenue
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"growth-toolkit": {
"url": "https://upgrowth.in/connected-app/mcp"
}
}
}Puntos de conexión remotos
https://upgrowth.in/connected-app/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (29)
🟢unit_economics(acquisition_spend, new_customers, monthly_revenue_per_customer, gross_margin_pct, monthly_churn_pct, ...)
Calculates customer acquisition cost (CAC), customer lifetime value (LTV), the LTV to CAC ratio and CAC payback in months from spend, new customers, revenue per customer, gross margin and churn.
Esquema de entrada
{
"type": "object",
"properties": {
"acquisition_spend": {
"type": "number",
"minimum": 0,
"description": "Total sales and marketing spend for the period, in currency units."
},
"new_customers": {
"type": "integer",
"minimum": 1,
"description": "New paying customers acquired in the same period."
},
"monthly_revenue_per_customer": {
"type": "number",
"minimum": 0,
"description": "Average revenue per customer per month (ARPU), in currency units."
},
"gross_margin_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Gross margin as a percentage, for example 70."
},
"monthly_churn_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Share of customers lost per month as a percentage, for example 3."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"acquisition_spend",
"new_customers",
"monthly_revenue_per_customer",
"gross_margin_pct",
"monthly_churn_pct"
]
}🟢growth_rate(start_value, end_value, periods, period_type)
Calculates total growth and compound growth per period between a start and end value, for example month on month, quarter on quarter or year on year (CAGR).
Esquema de entrada
{
"type": "object",
"properties": {
"start_value": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Value at the start, for example revenue or users."
},
"end_value": {
"type": "number",
"minimum": 0,
"description": "Value at the end."
},
"periods": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Number of periods between start and end, for example 12."
},
"period_type": {
"type": "string",
"enum": [
"month",
"quarter",
"year"
],
"description": "Length of 1 period.",
"default": "month"
}
},
"required": [
"start_value",
"end_value",
"periods"
]
}🟢roas_check(ad_revenue, ad_spend, gross_margin_pct, currency)
Calculates return on ad spend from ad revenue and ad spend, and the break-even ROAS implied by gross margin, then says whether the campaign covers its product cost.
Esquema de entrada
{
"type": "object",
"properties": {
"ad_revenue": {
"type": "number",
"minimum": 0,
"description": "Revenue attributed to the ads, in currency units."
},
"ad_spend": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Ad spend for the same period, in currency units."
},
"gross_margin_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Gross margin as a percentage."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"ad_revenue",
"ad_spend",
"gross_margin_pct"
]
}🟢ad_budget_planner(target_customers, cost_per_click, click_to_lead_pct, lead_to_customer_pct, currency)
Estimates the monthly ad budget needed to reach a target number of new customers from cost per click, landing page conversion rate and lead to customer rate.
Esquema de entrada
{
"type": "object",
"properties": {
"target_customers": {
"type": "integer",
"minimum": 1,
"description": "New customers wanted per month."
},
"cost_per_click": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Expected average cost per click, in currency units."
},
"click_to_lead_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Share of clicks that become leads, as a percentage."
},
"lead_to_customer_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Share of leads that become customers, as a percentage."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"target_customers",
"cost_per_click",
"click_to_lead_pct",
"lead_to_customer_pct"
]
}🟢find_growth_moves(sector, company, keyword, limit)
Returns documented 2026 growth moves by Indian companies from upGrowth's Growth Moves research (January to September 2026), filtered by sector, company or keyword. Each move includes the leader, date and a link to the original source.
Esquema de entrada
{
"type": "object",
"properties": {
"sector": {
"type": "string",
"enum": [
"fintech",
"ecommerce",
"healthtech",
"saas",
"any"
],
"description": "Sector to search. Use any to search all sectors.",
"default": "any"
},
"company": {
"type": "string",
"description": "Optional company name to match, for example Razorpay."
},
"keyword": {
"type": "string",
"description": "Optional keyword to match in the move description, for example acquisition, UPI or AI agents."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 14,
"description": "Maximum moves to return.",
"default": 5
}
}
}🟢max_affordable_cac(monthly_revenue_per_customer, gross_margin_pct, monthly_churn_pct, target_ltv_to_cac, lead_to_customer_pct, ...)
Works back from customer lifetime value to the most a business can pay to acquire a customer (and, optionally, a lead) while keeping a target LTV to CAC ratio, 3:1 by default.
Esquema de entrada
{
"type": "object",
"properties": {
"monthly_revenue_per_customer": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Average revenue per customer per month (ARPU), in currency units."
},
"gross_margin_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Gross margin as a percentage."
},
"monthly_churn_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Share of customers lost per month as a percentage."
},
"target_ltv_to_cac": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Target LTV to CAC ratio, for example 3 for 3:1.",
"default": 3
},
"lead_to_customer_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Optional. Share of leads that become customers, to work out the maximum cost per lead."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"monthly_revenue_per_customer",
"gross_margin_pct",
"monthly_churn_pct"
]
}🟢period_change(previous_value, current_value, comparison)
Calculates the simple percentage change between 2 values, such as year over year (YoY), month over month (MoM), quarter over quarter or week over week, including sales or revenue growth and percentage increase or decrease.
Esquema de entrada
{
"type": "object",
"properties": {
"previous_value": {
"type": "number",
"description": "Value in the earlier period."
},
"current_value": {
"type": "number",
"description": "Value in the later period."
},
"comparison": {
"type": "string",
"enum": [
"yoy",
"mom",
"qoq",
"wow",
"custom"
],
"description": "Which comparison this is, used only for labelling.",
"default": "custom"
}
},
"required": [
"previous_value",
"current_value"
]
}🟢seo_roi(monthly_organic_visits_gain, conversion_rate_pct, value_per_conversion, monthly_seo_cost, gross_margin_pct, ...)
Estimates the monthly return on an SEO investment from extra organic visits, conversion rate, value per conversion and monthly SEO cost, plus the break-even traffic gain.
Esquema de entrada
{
"type": "object",
"properties": {
"monthly_organic_visits_gain": {
"type": "number",
"minimum": 0,
"description": "Extra organic visits per month expected from SEO."
},
"conversion_rate_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Share of visits that convert, as a percentage."
},
"value_per_conversion": {
"type": "number",
"minimum": 0,
"description": "Average revenue per conversion (order value or deal value), in currency units."
},
"monthly_seo_cost": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Monthly SEO spend, in currency units."
},
"gross_margin_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Optional gross margin as a percentage. Leave out to measure on revenue."
},
"months": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Months to total over.",
"default": 12
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"monthly_organic_visits_gain",
"conversion_rate_pct",
"value_per_conversion",
"monthly_seo_cost"
]
}🟢ai_crawler_access_check(domain)
Reads a website's public robots.txt and llms.txt and reports whether AI crawlers from OpenAI, Anthropic, Perplexity and Google (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended and others) are allowed, restricted or blocked.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Public domain to check, for example example.com."
}
},
"required": [
"domain"
]
}🟢mdr_charges(sales_value, mdr_pct, transactions, fixed_fee_per_transaction, gst_pct, ...)
Calculates merchant discount rate (MDR) charges on card or payment gateway sales: the MDR fee, GST on that fee, total cost, effective rate and net settlement. Uses the MDR % the user gives; it does not look up provider rates.
Esquema de entrada
{
"type": "object",
"properties": {
"sales_value": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Total value of the transactions, in currency units."
},
"mdr_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "MDR or TDR charged by the provider, as a percentage, for example 1.8."
},
"transactions": {
"type": "integer",
"minimum": 1,
"description": "Optional. Number of transactions, needed only with a fixed fee per transaction."
},
"fixed_fee_per_transaction": {
"type": "number",
"minimum": 0,
"description": "Optional fixed fee per transaction, in currency units."
},
"gst_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "GST charged on the MDR fee, as a percentage.",
"default": 18
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"sales_value",
"mdr_pct"
]
}🟢robots_txt_generator(ai_training, ai_search, ai_user_fetch, disallow_paths, sitemap_url)
Writes a robots.txt file that allows or blocks AI crawlers by purpose: model training (GPTBot, ClaudeBot, Google-Extended), AI search (OAI-SearchBot, Claude-SearchBot, PerplexityBot) and user-triggered fetches (ChatGPT-User, Claude-User, Perplexity-User), plus paths to keep private and a sitemap. Never blocks Googlebot.
Esquema de entrada
{
"type": "object",
"properties": {
"ai_training": {
"type": "string",
"enum": [
"allow",
"block"
],
"description": "Whether AI model training crawlers may crawl the site.",
"default": "allow"
},
"ai_search": {
"type": "string",
"enum": [
"allow",
"block"
],
"description": "Whether AI search crawlers may crawl the site.",
"default": "allow"
},
"ai_user_fetch": {
"type": "string",
"enum": [
"allow",
"block"
],
"description": "Whether assistants may fetch pages when a user asks about them.",
"default": "allow"
},
"disallow_paths": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Optional paths to keep out of all crawlers, each starting with /, for example /wp-admin/."
},
"sitemap_url": {
"type": "string",
"description": "Optional full sitemap URL, for example https://example.com/sitemap.xml."
}
}
}🟢schema_generator(schema_type, data)
Builds valid schema.org JSON-LD for a page: FAQ, local business, organization, article or blog post, product, person or breadcrumb. Checks the properties Google lists as required for that type (per Google Search Central structured data docs, developers.google.com/search/docs/appearance/structured-data) and returns a ready-to-paste script tag.
Esquema de entrada
{
"type": "object",
"properties": {
"schema_type": {
"type": "string",
"enum": [
"faq",
"local_business",
"organization",
"article",
"product",
"person",
"breadcrumb"
],
"description": "Which schema to build."
},
"data": {
"type": "object",
"description": "Fields for that type. faq: questions [{question, answer}]. local_business: name, business_type (for example Dentist), address {street, locality, region, postal_code, country}, telephone, url, image, price_range, geo {latitude, longitude}, opening_hours [{days: [Monday...], opens: \"09:00\", closes: \"18:00\"}]. organization: name, organization_type, url, logo, description, legal_name, founding_date, email, telephone, same_as [urls], address. article: headline, article_type (Article, BlogPosting or NewsArticle), url, images [urls], date_published, date_modified, authors [{name, url, job_title}], publisher {name, logo}. product: name, description, images, brand, sku, price, currency, availability (InStock, OutOfStock, PreOrder, SoldOut), price_valid_until, rating_value, review_count. person: name, url, job_title, works_for, image, description, same_as. breadcrumb: items [{name, url}]."
}
},
"required": [
"schema_type",
"data"
]
}🟢content_seo_check(text, keyword, secondary_keywords)
Analyses text the user pastes: word, sentence and paragraph counts, reading time, approximate Flesch reading ease, long sentences and paragraphs, headings found, and focus keyword count, density and placement. Counts exactly, which assistants often get wrong.
Esquema de entrada
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The article or page text, plain text, Markdown or HTML. Up to 60,000 characters."
},
"keyword": {
"type": "string",
"description": "Optional focus keyword or phrase."
},
"secondary_keywords": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Optional extra keywords to count."
}
},
"required": [
"text"
]
}🟢meta_tags_builder(title, description, url, image_url, site_name, ...)
Builds the HTML head tags for a page: title, meta description, canonical, Open Graph and Twitter card tags, with character counts and truncation warnings.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Page title."
},
"description": {
"type": "string",
"description": "Meta description."
},
"url": {
"type": "string",
"description": "Canonical page URL."
},
"image_url": {
"type": "string",
"description": "Optional share image URL."
},
"site_name": {
"type": "string",
"description": "Optional site or brand name."
},
"twitter_handle": {
"type": "string",
"description": "Optional X (Twitter) handle, for example @upgrowth."
},
"page_type": {
"type": "string",
"enum": [
"website",
"article"
],
"default": "website",
"description": "Open Graph type."
}
},
"required": [
"title",
"description",
"url"
]
}🟢youtube_earnings(monthly_views, rpm, cpm, monetized_playback_pct, avg_view_duration_minutes, ...)
Estimates YouTube ad earnings from monthly views and the RPM from YouTube Studio (or CPM, monetized playback % and the 55% long-form creator share), plus watch hours against the YouTube Partner Program threshold.
Esquema de entrada
{
"type": "object",
"properties": {
"monthly_views": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Views per month on long-form videos."
},
"rpm": {
"type": "number",
"minimum": 0,
"description": "Revenue per 1,000 views from YouTube Studio, in currency units. Use this or cpm."
},
"cpm": {
"type": "number",
"minimum": 0,
"description": "Ad CPM, in currency units. Needs monetized_playback_pct."
},
"monetized_playback_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Share of views that show an ad, as a percentage."
},
"avg_view_duration_minutes": {
"type": "number",
"minimum": 0,
"description": "Optional average view duration in minutes, to work out watch hours."
},
"subscribers": {
"type": "integer",
"minimum": 0,
"description": "Optional subscriber count."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"monthly_views"
]
}🟢instagram_earnings(followers, posts_per_month, rate_per_post, rate_per_1000_followers, stories_per_month, ...)
Estimates monthly and yearly Instagram brand-deal income from the rates the user charges per post, per story or per 1,000 followers, and the cost per engagement a brand pays.
Esquema de entrada
{
"type": "object",
"properties": {
"followers": {
"type": "integer",
"minimum": 1,
"description": "Follower count."
},
"posts_per_month": {
"type": "number",
"minimum": 0,
"description": "Sponsored posts or reels per month."
},
"rate_per_post": {
"type": "number",
"minimum": 0,
"description": "Fee per sponsored post, in currency units. Use this or rate_per_1000_followers."
},
"rate_per_1000_followers": {
"type": "number",
"minimum": 0,
"description": "Fee per post per 1,000 followers, in currency units."
},
"stories_per_month": {
"type": "number",
"minimum": 0,
"description": "Optional sponsored stories per month."
},
"rate_per_story": {
"type": "number",
"minimum": 0,
"description": "Optional fee per story."
},
"avg_engagements_per_post": {
"type": "number",
"minimum": 0,
"description": "Optional average likes plus comments plus saves plus shares per post."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"followers",
"posts_per_month"
]
}🟢engagement_rate(likes, comments, shares, saves, base_type, ...)
Calculates social media engagement rate for Instagram, YouTube, LinkedIn or any platform from likes, comments, shares and saves, by followers, reach, impressions or views.
Esquema de entrada
{
"type": "object",
"properties": {
"likes": {
"type": "number",
"minimum": 0
},
"comments": {
"type": "number",
"minimum": 0
},
"shares": {
"type": "number",
"minimum": 0
},
"saves": {
"type": "number",
"minimum": 0
},
"base_type": {
"type": "string",
"enum": [
"followers",
"reach",
"impressions",
"views"
],
"default": "followers",
"description": "What to divide by."
},
"base_value": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Followers, reach, impressions or views."
},
"posts": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Number of posts the totals cover."
}
},
"required": [
"base_value"
]
}🟢website_ad_revenue(monthly_pageviews, page_rpm, ads_per_page, cpm, fill_rate_pct, ...)
Estimates display ad revenue for a website or blog from monthly pageviews and page RPM, or from ad impressions per page, CPM and fill rate.
Esquema de entrada
{
"type": "object",
"properties": {
"monthly_pageviews": {
"type": "number",
"exclusiveMinimum": 0
},
"page_rpm": {
"type": "number",
"minimum": 0,
"description": "Earnings per 1,000 pageviews (from AdSense reports), in currency units. Use this or cpm."
},
"ads_per_page": {
"type": "number",
"minimum": 0,
"description": "Ad units per page, used with cpm."
},
"cpm": {
"type": "number",
"minimum": 0,
"description": "Earnings per 1,000 ad impressions, in currency units."
},
"fill_rate_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 100,
"description": "Share of ad requests filled."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"monthly_pageviews"
]
}🟢ytd_growth(this_year_monthly, last_year_monthly, this_ytd_total, last_ytd_total, months_elapsed)
Compares year-to-date totals with the same period last year, from monthly values or YTD totals, and gives a simple full-year run rate.
Esquema de entrada
{
"type": "object",
"properties": {
"this_year_monthly": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 12,
"description": "This year's values by month so far, January first (or first month of the financial year)."
},
"last_year_monthly": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 12,
"description": "Last year's values for the same months."
},
"this_ytd_total": {
"type": "number",
"description": "Alternative: this year's YTD total."
},
"last_ytd_total": {
"type": "number",
"description": "Alternative: last year's total for the same period."
},
"months_elapsed": {
"type": "integer",
"minimum": 1,
"maximum": 12,
"description": "Months covered, needed with totals for the run rate."
}
}
}🟢ppc_forecast(monthly_budget, cost_per_click, conversion_rate_pct, value_per_conversion, gross_margin_pct, ...)
Forecasts a paid search or social budget: clicks, conversions, cost per acquisition, revenue, ROAS, profit after ad spend and break-even CPA, from budget, CPC and conversion rate.
Esquema de entrada
{
"type": "object",
"properties": {
"monthly_budget": {
"type": "number",
"exclusiveMinimum": 0
},
"cost_per_click": {
"type": "number",
"exclusiveMinimum": 0
},
"conversion_rate_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Share of clicks that convert."
},
"value_per_conversion": {
"type": "number",
"minimum": 0,
"description": "Optional revenue per conversion."
},
"gross_margin_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Optional gross margin for profit and break-even CPA."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"monthly_budget",
"cost_per_click",
"conversion_rate_pct"
]
}🟢customer_lifetime_value(average_order_value, purchases_per_year, customer_lifespan_years, gross_margin_pct, annual_discount_rate_pct, ...)
Calculates customer lifetime value for repeat-purchase businesses such as D2C and ecommerce from average order value, purchases per year, lifespan and margin, with optional discounting and LTV to CAC.
Esquema de entrada
{
"type": "object",
"properties": {
"average_order_value": {
"type": "number",
"exclusiveMinimum": 0
},
"purchases_per_year": {
"type": "number",
"exclusiveMinimum": 0
},
"customer_lifespan_years": {
"type": "number",
"exclusiveMinimum": 0
},
"gross_margin_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100
},
"annual_discount_rate_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Optional, to discount future years."
},
"cac": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Optional customer acquisition cost."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"average_order_value",
"purchases_per_year",
"customer_lifespan_years",
"gross_margin_pct"
]
}🟢ecommerce_metrics(revenue, orders, sessions, customers, target_revenue, ...)
Calculates average order value, conversion rate, revenue per visitor and orders per customer, and the sessions needed to hit a revenue target.
Esquema de entrada
{
"type": "object",
"properties": {
"revenue": {
"type": "number",
"minimum": 0
},
"orders": {
"type": "integer",
"minimum": 1
},
"sessions": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Optional sessions or visitors in the same period."
},
"customers": {
"type": "integer",
"minimum": 1,
"description": "Optional unique customers."
},
"target_revenue": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Optional revenue goal for the same period length."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"revenue",
"orders"
]
}🟢growth_projection(start_value, growth_rate_pct, periods, period_type, target_value)
Projects a value forward at a compound growth rate per period (exponential growth), shows each period, the doubling time and how long it takes to reach a target.
Esquema de entrada
{
"type": "object",
"properties": {
"start_value": {
"type": "number",
"exclusiveMinimum": 0
},
"growth_rate_pct": {
"type": "number",
"exclusiveMinimum": -100,
"description": "Growth per period as a percentage; negative for decline."
},
"periods": {
"type": "integer",
"minimum": 1,
"maximum": 120
},
"period_type": {
"type": "string",
"enum": [
"month",
"quarter",
"year"
],
"default": "month"
},
"target_value": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Optional target to reach."
}
},
"required": [
"start_value",
"growth_rate_pct",
"periods"
]
}🟢acos_check(ad_spend, ad_sales, gross_margin_pct, total_sales, currency)
Calculates Amazon advertising cost of sales (ACoS), ROAS, break-even ACoS from margin, profit after ads, and TACoS against total sales.
Esquema de entrada
{
"type": "object",
"properties": {
"ad_spend": {
"type": "number",
"exclusiveMinimum": 0
},
"ad_sales": {
"type": "number",
"exclusiveMinimum": 0
},
"gross_margin_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Optional margin before ad costs."
},
"total_sales": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Optional total sales including organic, for TACoS."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"ad_spend",
"ad_sales"
]
}🟢share_of_voice(brand_name, brand_value, competitors, metric)
Calculates share of voice for a brand against competitors on any metric: AI assistant citations or mentions, search impressions, ad impressions, social mentions or press coverage.
Esquema de entrada
{
"type": "object",
"properties": {
"brand_name": {
"type": "string"
},
"brand_value": {
"type": "number",
"minimum": 0
},
"competitors": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "number",
"minimum": 0
}
},
"required": [
"name",
"value"
]
}
},
"metric": {
"type": "string",
"description": "What was counted, for example ChatGPT citations or impressions."
}
},
"required": [
"brand_name",
"brand_value",
"competitors"
]
}🟢break_even(fixed_costs, price_per_unit, variable_cost_per_unit, target_profit, currency)
Calculates break-even units and revenue from fixed costs, price and variable cost per unit, the contribution margin, and units needed for a target profit.
Esquema de entrada
{
"type": "object",
"properties": {
"fixed_costs": {
"type": "number",
"minimum": 0
},
"price_per_unit": {
"type": "number",
"exclusiveMinimum": 0
},
"variable_cost_per_unit": {
"type": "number",
"minimum": 0
},
"target_profit": {
"type": "number",
"minimum": 0,
"description": "Optional profit goal."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"fixed_costs",
"price_per_unit",
"variable_cost_per_unit"
]
}🟢campaign_roi(cost, attributed_revenue, gross_margin_pct, campaign_name, currency)
Calculates ROI for a marketing campaign or channel (content, email, events, influencer, recruitment marketing) on revenue and on gross profit.
Esquema de entrada
{
"type": "object",
"properties": {
"cost": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Total campaign cost."
},
"attributed_revenue": {
"type": "number",
"minimum": 0
},
"gross_margin_pct": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "Optional margin for profit-based ROI."
},
"campaign_name": {
"type": "string",
"description": "Optional label."
},
"currency": {
"type": "string",
"description": "ISO currency code for display, for example INR, USD or AED. Defaults to INR.",
"default": "INR"
}
},
"required": [
"cost",
"attributed_revenue"
]
}🟢attrition_rate(separations, headcount_start, headcount_end, period_months)
Calculates employee attrition or customer churn rate for a period from separations and headcount at the start and end, with a simple annualised rate.
Esquema de entrada
{
"type": "object",
"properties": {
"separations": {
"type": "number",
"minimum": 0,
"description": "People or customers who left in the period."
},
"headcount_start": {
"type": "number",
"minimum": 0
},
"headcount_end": {
"type": "number",
"minimum": 0
},
"period_months": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 12,
"default": 1
}
},
"required": [
"separations",
"headcount_start",
"headcount_end"
]
}🟢book_strategy_call
Returns the link to book a free 30-minute growth strategy call with upGrowth. Use only when the user asks to speak with upGrowth.
Esquema de entrada
{
"type": "object",
"properties": {}
}Comunidad
Evidencia