SaaS Pricing Strategy
Run ID: 69cc2cf1fdffe128046c542e2026-03-31Business
PantheraHive BOS
BOS Dashboard

Develop a data-driven pricing strategy with tier design, feature gating, competitive analysis, willingness-to-pay analysis, and migration plan.

Marketing Strategy for SaaS Pricing Initiative

This document outlines a comprehensive marketing strategy designed to support the launch or re-launch of a SaaS pricing initiative. It covers target audience analysis, recommended marketing channels, a core messaging framework, and key performance indicators (KPIs) to measure success.


1. Target Audience Analysis

Understanding your target audience is foundational for effective marketing. This section defines the ideal customer profiles (ICPs) and buyer personas for your SaaS offering, focusing on their characteristics, pain points, and motivations.

1.1. Ideal Customer Profile (ICP)

Our ICPs represent the types of organizations most likely to benefit from and adopt your SaaS solution. For this strategy, we will assume a B2B SaaS product focused on business efficiency/analytics, but this framework is adaptable.

  • ICP 1: Small to Medium-sized Businesses (SMBs)

* Industry: Tech, E-commerce, Marketing Agencies, Consulting Firms

* Company Size: 10-100 employees

* Revenue: $1M - $10M ARR

* Key Characteristics: Growth-oriented, often resource-constrained, seeking cost-effective solutions that deliver immediate value, open to adopting new technologies to gain a competitive edge.

* Pain Points: Limited budget for enterprise solutions, need for streamlined operations, struggle with manual data analysis, lack of specialized IT staff.

* Why they Buy: To improve efficiency, reduce operational costs, gain actionable insights quickly, and scale operations without significant upfront investment.

  • ICP 2: Mid-Market Enterprises

* Industry: SaaS, Financial Services, Retail, Healthcare (non-clinical)

* Company Size: 100-1,000 employees

* Revenue: $10M - $100M ARR

* Key Characteristics: Established processes, multiple departments, often evaluating solutions for scalability, integration capabilities, and robust reporting.

* Pain Points: Data silos, lack of a unified platform, challenges in cross-departmental collaboration, difficulty in demonstrating ROI for technology investments, vendor lock-in concerns.

* Why they Buy: For comprehensive solutions that integrate with existing systems, provide advanced analytics, support compliance, and offer enterprise-grade security and support.

1.2. Buyer Personas

Within each ICP, we identify specific individuals (personas) who influence or make purchasing decisions.

  • Persona 1: "The Efficiency Seeker" (e.g., Operations Manager, Head of Marketing)

* Demographics: 30-45 years old, Bachelor's/Master's degree, tech-savvy.

* Role: Responsible for day-to-day operations, team performance, and achieving departmental KPIs.

* Goals: Streamline workflows, reduce manual effort, improve team productivity, achieve measurable results.

* Challenges: Wasting time on repetitive tasks, lack of clear data insights, difficulty in proving team value.

* Motivations: Solutions that are easy to implement, provide clear ROI, save time, and empower their team.

* Key Questions: "How quickly can this be integrated?" "What's the learning curve for my team?" "Can I see a demo with my own data?"

  • Persona 2: "The Strategic Innovator" (e.g., VP of Product, CTO, CEO of SMB)

* Demographics: 35-55 years old, often with a technical or business background.

* Role: Focused on long-term strategy, market positioning, and technological advancements.

* Goals: Drive innovation, gain a competitive advantage, ensure scalability, make data-driven strategic decisions.

* Challenges: Keeping up with market trends, identifying future growth opportunities, justifying new technology investments, managing complex tech stacks.

* Motivations: Solutions that offer advanced features, integrate with future-proof technologies, provide strategic insights, and demonstrate strong ROI over time.

* Key Questions: "How does this align with our long-term vision?" "What's the total cost of ownership?" "What are the security and compliance features?"


2. Channel Recommendations

A multi-channel approach is crucial for reaching diverse personas and guiding them through the buyer journey. The following channels are recommended, categorized by their primary function.

2.1. Awareness & Lead Generation Channels

  • Content Marketing (Blog, Whitepapers, E-books, Case Studies):

* Purpose: Attract organic traffic, establish thought leadership, educate potential customers on industry challenges and solutions.

* Focus: SEO-optimized articles addressing pain points, data-driven insights, success stories.

  • Search Engine Optimization (SEO):

* Purpose: Improve organic search rankings for relevant keywords (e.g., "SaaS analytics tool," "workflow automation software").

* Focus: Technical SEO, on-page optimization, backlink building, local SEO where applicable.

  • Paid Search (Google Ads, Bing Ads):

* Purpose: Drive immediate, high-intent traffic for specific keywords related to product features, comparisons, and problems solved.

* Focus: Highly targeted campaigns, competitor bidding, remarketing lists.

  • Social Media Marketing (LinkedIn, Twitter, Facebook Groups):

* Purpose: Build brand awareness, engage with the community, share content, drive traffic.

* Focus: LinkedIn for B2B thought leadership and lead generation; Twitter for industry news and quick engagement; Facebook Groups for niche communities.

  • Webinars & Virtual Events:

* Purpose: Generate high-quality leads, showcase product capabilities, provide educational value.

* Focus: Live demos, expert panels, Q&A sessions, collaborating with industry influencers.

  • Industry Conferences & Trade Shows (Virtual/In-person):

* Purpose: Direct engagement with potential customers, networking, brand visibility.

* Focus: Booth presence, speaking slots, targeted outreach before/after events.

2.2. Nurturing & Conversion Channels

  • Email Marketing:

* Purpose: Nurture leads, share targeted content, announce new features/pricing, drive trial sign-ups/demos.

* Focus: Segmented lists, personalized campaigns, drip sequences for onboarding and re-engagement.

  • Retargeting/Remarketing Ads:

* Purpose: Re-engage website visitors who didn't convert, show relevant ads based on their browsing behavior.

* Focus: Display ads on Google Display Network, social media platforms (LinkedIn, Facebook).

  • Product Demos & Free Trials:

* Purpose: Allow prospects to experience the product firsthand, understand its value proposition.

* Focus: Seamless sign-up process, guided onboarding, personalized follow-up from sales.

  • Customer Referrals & Testimonials:

* Purpose: Leverage existing customer satisfaction to generate new leads and build trust.

* Focus: Referral programs, actively soliciting testimonials and case studies.

2.3. Retention & Expansion Channels

  • In-App Messaging & Notifications:

* Purpose: Guide users, announce new features, provide tips, encourage feature adoption.

* Focus: Contextual messages, personalized onboarding flows, feature highlights.

  • Customer Success & Support:

* Purpose: Ensure customer satisfaction, reduce churn, identify upsell/cross-sell opportunities.

* Focus: Proactive outreach, dedicated account managers for key clients, comprehensive knowledge base.

  • Community Forums/User Groups:

* Purpose: Foster a sense of community, enable peer-to-peer support, gather product feedback.

* Focus: Moderated forums, exclusive content for power users.


3. Messaging Framework

A consistent and compelling messaging framework ensures that your value proposition resonates across all touchpoints.

3.1. Core Value Proposition

  • Overall Statement: "Empower [Target Audience e.g., SMBs, operations teams] to [Key Benefit e.g., achieve operational excellence and data-driven growth] by [Unique Differentiator e.g., providing an intuitive, scalable, and integrated SaaS platform that simplifies complex tasks]."

3.2. Key Messaging Pillars (Tailored by Persona & Stage)

  • For "Efficiency Seekers" (Focus: Time, Productivity, Ease of Use)

* "Streamline your workflows and reclaim valuable time with our intuitive platform."

* "Boost team productivity by automating repetitive tasks and gaining instant insights."

* "Get up and running in minutes, no extensive training required, and see immediate impact."

* Pricing Angle: "Flexible tiers designed to scale with your team, ensuring you only pay for what you need."

  • For "Strategic Innovators" (Focus: Growth, Scalability, ROI, Data-driven Decisions)

* "Drive strategic growth and competitive advantage through advanced analytics and actionable insights."

* "Future-proof your operations with a scalable and integrated solution that evolves with your business."

* "Achieve measurable ROI by optimizing resource allocation and identifying new revenue opportunities."

* Pricing Angle: "Enterprise-grade features and support across all tiers, with transparent pricing that aligns with your long-term business objectives."

3.3. Differentiators

  • Ease of Use: "Intuitive interface, minimal learning curve, quick adoption."
  • Integration Capabilities: "Seamlessly connects with your existing tech stack (e.g., Salesforce, HubSpot, Slack)."
  • Scalability: "Grows with your business, from startup to enterprise, without disruption."
  • Data Security & Compliance: "Robust security protocols and adherence to industry standards (e.g., GDPR, SOC 2)."
  • Dedicated Support: "Exceptional customer success team, 24/7 support for critical issues."
  • Innovation: "Regular feature updates based on user feedback and market trends."

4. Key Performance Indicators (KPIs)

To measure the success of the marketing strategy and its impact on the new pricing initiative, specific KPIs will be tracked.

4.1. Awareness & Lead Generation KPIs

  • Website Traffic: Unique visitors, page views, time on site.
  • Organic Search Performance: Keyword rankings, organic traffic, impressions, click-through rate (CTR).
  • Paid Ad Performance: Impressions, clicks, CTR, Cost Per Click (CPC), Cost Per Lead (CPL).
  • Social Media Engagement: Reach, impressions, engagement rate, follower growth.
  • Content Downloads: Number of whitepaper/e-book downloads.
  • Webinar Registrations & Attendance: Number of sign-ups and attendees.
  • Marketing Qualified Leads (MQLs): Leads meeting predefined criteria for sales readiness.

4.2. Nurturing & Conversion KPIs

  • Email Marketing Metrics: Open rate, CTR, conversion rate (e.g., to demo request, trial sign-up).
  • Demo Requests/Trial Sign-ups: Number of qualified requests/sign-ups.
  • Sales Qualified Leads (SQLs): MQLs accepted and worked by the sales team.
  • Conversion Rate (Trial to Paid): Percentage of free trial users who convert to a paid subscription.
  • Cost Per Acquisition (CPA): Total marketing and sales cost divided by the number of new customers.
  • Sales Cycle Length: Time from initial contact to closed-won deal.
  • Pricing Page Views & Engagement: Time spent on pricing page, clicks on pricing tiers, feature comparisons.

4.3. Revenue & Business Growth KPIs

  • Monthly Recurring Revenue (MRR) / Annual Recurring Revenue (ARR): Total predictable revenue.
  • Average Revenue Per User (ARPU) / Average Revenue Per Account (ARPA): Revenue generated per customer.
  • Customer Lifetime Value (CLTV): Predicted revenue from a customer relationship.
  • Churn Rate: Percentage of customers who cancel their subscription over a period.
  • Expansion MRR: Additional revenue from existing customers (upgrades, cross-sells).
  • Customer Acquisition Cost (CAC) Payback Period: Time it takes to recoup the cost of acquiring a customer.

4.4. Customer Satisfaction & Retention KPIs

  • Net Promoter Score (NPS): Measure of customer loyalty and willingness to recommend.
  • Customer Satisfaction (CSAT): Satisfaction with product and support.
  • Feature Adoption Rate: Percentage of users actively using key features.

This comprehensive marketing strategy provides a robust framework to support your SaaS pricing initiative. Regular review and optimization based on these KPIs will be essential for sustained success.

gemini Output

SaaS Pricing Strategy Document

Project: SaaS Pricing Strategy Development

Date: October 26, 2023

Prepared For: [Customer Name/Company Name]

Prepared By: PantheraHive


1. Executive Summary

This document outlines a comprehensive, data-driven pricing strategy for [Your SaaS Product Name], designed to optimize revenue, market penetration, and customer lifetime value (LTV). It integrates insights from competitive analysis, willingness-to-pay (WTP) research, and strategic feature gating to propose a robust tiered pricing model. This strategy aims to align product value with pricing, ensuring competitiveness while maximizing profitability and providing a clear path for customer acquisition and expansion. A detailed migration plan for existing customers is also included to ensure a smooth transition.

2. Strategic Objectives & Guiding Principles

2.1. Objectives:

  • Increase Average Revenue Per User (ARPU) by [X%] within 12 months.
  • Improve conversion rates from free trials/lower tiers to paid subscriptions by [Y%].
  • Enhance market share within target segments.
  • Maximize customer lifetime value (LTV) through effective upselling and cross-selling.
  • Ensure pricing reflects the perceived value of the product and its features.
  • Maintain a competitive edge in the market.

2.2. Guiding Principles:

  • Value-Based Pricing: Price based on the perceived and delivered value to the customer, not solely on cost.
  • Simplicity & Transparency: Pricing should be easy to understand and free of hidden fees.
  • Flexibility & Scalability: Tiers should cater to different customer segments and allow for easy upgrades as customer needs grow.
  • Data-Driven Decisions: All pricing decisions are informed by market data, customer insights, and competitive intelligence.
  • Profitability & Sustainability: Ensure pricing supports healthy margins for continued investment in product development and customer success.

3. Competitive Analysis

3.1. Methodology:

A detailed analysis was conducted on [Number] direct and indirect competitors, including [Competitor 1, Competitor 2, Competitor 3, etc.]. The analysis focused on:

  • Pricing Models: Subscription types (per user, per usage, flat fee), monthly vs. annual pricing, discounts.
  • Tier Structure: Number of tiers, naming conventions, target audience for each tier.
  • Feature Sets: Core features, premium features, gated features per tier.
  • Value Proposition: How competitors articulate their unique selling points (USPs) and differentiate themselves.
  • Customer Reviews & Perception: Public sentiment regarding pricing and value.

3.2. Key Findings:

  • Common Pricing Metrics: The majority of competitors utilize a "per user, per month" model, often combined with feature-gating. Some also incorporate usage-based metrics (e.g., API calls, storage, data volume).
  • Tier Proliferation: Most competitors offer 3-4 distinct tiers, typically an entry-level/free option, a standard/pro, and an enterprise solution.
  • Feature Gating Trends: Common features gated to higher tiers include advanced analytics, integrations, priority support, custom branding, and increased usage limits.
  • Pricing Anchoring: Competitors often anchor their pricing around a mid-tier offering, making the higher tiers seem more valuable and the lower tiers more accessible.
  • Value Gaps & Opportunities: [Your SaaS Product Name] has an opportunity to differentiate by [e.g., offering a specific feature at a lower tier, providing superior customer support, focusing on a niche that competitors overlook].

3.3. Implications for [Your SaaS Product Name]:

  • Our pricing structure must be competitive yet reflect our unique value proposition.
  • There's an opportunity to optimize feature gating to drive upgrades, particularly around [specific feature categories].
  • A clear value metric (e.g., per user, per project) will be crucial for scalability and customer understanding.

4. Willingness-to-Pay (WTP) Analysis

4.1. Methodology:

Our WTP analysis leveraged a combination of quantitative and qualitative methods:

  • Customer Surveys: Conducted using [e.g., Van Westendorp's Price Sensitivity Meter, Gabor-Granger method] with a sample size of [N] target customers.
  • Customer Interviews: In-depth discussions with [N] existing and prospective customers to understand their perceived value of specific features and their budget constraints.
  • Historical Data Analysis: Review of past pricing experiments, trial conversion rates, and churn data.
  • Feature Value Assessment: Ranking of features by perceived importance and impact on business outcomes.

4.2. Key Findings:

  • Price Sensitivity Segments:

* Small Businesses/Startups: Highly price-sensitive, valuing core functionality and ease of use over advanced features. WTP range: $[X] - $[Y] per month.

* Mid-Market Companies: Value advanced features, integrations, and reliable support. Less price-sensitive than small businesses, but require clear ROI. WTP range: $[A] - $[B] per month.

* Enterprise Clients: Prioritize customization, dedicated support, security, and scalability. Price is less of a barrier if significant business value is demonstrated. WTP for bespoke solutions: $[C]+ per month.

  • Valued Features: Customers consistently demonstrated high WTP for features such as [Feature 1 - e.g., advanced analytics, custom integrations, real-time collaboration].
  • Perceived Value Drivers: Key drivers influencing WTP include [e.g., time savings, increased efficiency, revenue generation potential, compliance adherence].
  • Optimal Price Points: The analysis suggests optimal price points for entry, mid-tier, and premium offerings, allowing for clear differentiation without cannibalization.

4.3. Implications for Pricing Strategy:

  • The pricing tiers should directly address the needs and WTP of these distinct customer segments.
  • High-value features identified (e.g., [Feature 1, Feature 2]) should be strategically gated to higher tiers to incentivize upgrades.
  • The entry-level tier needs to be compelling enough to attract price-sensitive segments without devaluing the product.

5. Proposed Pricing Strategy Framework

5.1. Overall Strategy: Value-Based Tiered Pricing with a "Freemium-like" entry point.

This strategy combines the accessibility of an entry-level option (either Free or a very low-cost Starter) to attract a wide top-of-funnel, with value-based tiers that scale with customer needs and growth.

5.2. Primary Value Metric: [e.g., Per User, Per Project, Per Active Client, Per X Units of Usage].

  • Rationale: This metric directly correlates with the value customers derive from [Your SaaS Product Name] and allows for transparent scalability.

5.3. Secondary Value Metrics (Optional): [e.g., Storage limits, API call limits, Number of integrations, Number of reports].

  • Rationale: These provide additional levers for differentiation between tiers and for capturing value from heavy users.

6. Tier Design & Feature Gating

We propose a [e.g., 3-tier plus Enterprise custom] pricing structure: Starter, Professional, Business, and Enterprise (Custom).


6.1. Tier 1: Starter

  • Target Segment: Small businesses, startups, individual users, or those evaluating the product.
  • Core Value Proposition: Essential functionality to get started and experience core benefits.
  • Proposed Pricing: $[X] per user/month (or Free with limits); $[Y] per user/year (20% discount)
  • Key Features (Included):

* [Feature 1 - e.g., Basic Project Management]

* [Feature 2 - e.g., Limited Reporting]

* [Feature 3 - e.g., Standard Email Support]

* [Usage Limit 1 - e.g., Up to 5 projects]

* [Usage Limit 2 - e.g., 1GB Storage]

  • Gated Features (Not Included):

* Advanced analytics

* Integrations (API access)

* Custom branding

* Priority support

  • Rationale: Designed to be highly accessible, reduce friction for new users, and act as a strong lead magnet. The limited feature set encourages upgrades as needs evolve.

6.2. Tier 2: Professional

  • Target Segment: Growing teams, small to medium-sized businesses requiring more robust tools.
  • Core Value Proposition: Enhanced productivity, collaboration, and deeper insights.
  • Proposed Pricing: $[A] per user/month; $[B] per user/year (15% discount)
  • Key Features (Included):

* All Starter features, PLUS:

* [Feature 4 - e.g., Advanced Project Management]

* [Feature 5 - e.g., Custom Reporting & Dashboards]

* [Feature 6 - e.g., 3rd Party Integrations (up to 5)]

* [Feature 7 - e.g., Priority Email & Chat Support]

* [Usage Limit 3 - e.g., Unlimited projects]

* [Usage Limit 4 - e.g., 10GB Storage]

  • Gated Features (Not Included):

* Single Sign-On (SSO)

* Dedicated Account Manager

* Custom development/API support

* Advanced security features

  • Rationale: This is expected to be our most popular tier, balancing value and affordability. It includes features that address common pain points for scaling teams, driving significant upgrades from the Starter tier.

6.3. Tier 3: Business

  • Target Segment: Medium to large enterprises, organizations with complex needs and higher demands for security and customization.
  • Core Value Proposition: Maximum flexibility, control, and dedicated support for mission-critical operations.
  • Proposed Pricing: $[C] per user/month; $[D] per user/year (10% discount)
  • Key Features (Included):

* All Professional features, PLUS:

* [Feature 8 - e.g., Advanced Workflow Automation]

* [Feature 9 - e.g., Single Sign-On (SSO) & SAML]

* [Feature 10 - e.g., Dedicated Account Manager]

* [Feature 11 - e.g., Advanced Security & Compliance Features]

* [Usage Limit 5 - e.g., Unlimited Storage]

* [Usage Limit 6 - e.g., Unlimited Integrations]

  • Rationale: Designed for organizations where compliance, security, and dedicated support are paramount. The higher price point reflects the increased value, resources, and reduced risk provided.

6.4. Enterprise (Custom Pricing)

  • Target Segment: Large corporations, highly regulated industries, or organizations with unique requirements.
  • Core Value Proposition: Tailored solutions, bespoke integrations, on-premise options, and premium service level agreements (SLAs).
  • Proposed Pricing: Contact Sales
  • Key Features (Included):

* All Business features, PLUS:

* Custom feature development

* On-premise or private cloud deployment

* Dedicated technical support team (24/7)

* Advanced data residency options

* Custom SLAs

  • Rationale: Caters to the highest-value customers with highly specific needs, allowing for maximum flexibility and negotiation based on scope.

7. Pricing Recommendations & Justification

The proposed pricing (e.g., Starter: $19/user/month, Professional: $49/user/month, Business: $99/user/month) is justified by:

  • Competitive Positioning: Our Starter tier is positioned competitively to attract new users, while our Professional and Business tiers offer superior value compared to direct competitors at similar price points, particularly concerning [mention 1-2 key differentiating features].
  • WTP Alignment: The price points align with the WTP analysis findings for each identified customer segment, minimizing price resistance and maximizing perceived value.
  • Value Realization: Features are strategically gated to ensure customers unlock higher value as they upgrade, creating clear incentives for moving up the tiers.
  • Psychological Pricing: Utilizing charm pricing (e.g., ending in .99) and anchoring (mid-tier as the perceived "best value") to influence purchasing decisions.
  • Annual Discounts: Offering a compelling discount for annual subscriptions (e.g., 10-20%) encourages longer-term commitments and improves cash flow.

8. Migration Plan for Existing Customers

A well-executed migration plan is crucial to retain existing customers and minimize churn when introducing new pricing.

8.1. Strategy for Existing Customers:

We recommend a "Grandfathering with Incentivized Upgrade" approach.

  • Grandfathering: Existing customers currently on [Old Plan Name] will be allowed to remain on their current plan and pricing for a specified period (e.g., 6-12 months) or until their next renewal cycle. This builds trust and avoids immediate disruption.
  • Incentivized Upgrade: Offer existing customers a compelling discount or bonus features if they choose to proactively migrate to one of the new pricing tiers before their grandfathered period ends. For example, a 20% discount for the first year on a new Professional or Business plan.
  • Forced Migration (Post-Grandfathering): After the grandfathering period, customers who have not upgraded will be required to choose a new plan upon their next renewal. Clear communication will be provided well in advance.

8.2. Communication Plan:

  • Phase 1: Pre-Announcement (Internal): Train sales and support teams on new pricing, tiers, and migration process. Develop comprehensive FAQs.
  • Phase 2: Initial Announcement (External):

* Timing: [e.g., 60 days before new pricing goes live for new customers].

* Channels: Personalized email to all existing customers, in-app notification, dedicated landing page on website, blog post.

Key Message: Clearly explain the why*

gemini Output

SaaS Pricing Strategy: Comprehensive Deliverable

Date: October 26, 2023

Prepared For: [Client Name/Company Name]

Prepared By: PantheraHive Strategy Team


1. Executive Summary

This document outlines a data-driven SaaS pricing strategy designed to optimize revenue, enhance customer acquisition, improve retention, and effectively capture the value delivered by our platform. Based on extensive competitive analysis, willingness-to-pay (WTP) studies, and internal cost structures, we propose a tiered pricing model with clear feature gating. This strategy aims to cater to diverse customer segments, from individual users and small businesses to growing teams and large enterprises, while providing a clear upgrade path. A robust migration plan for existing customers is also detailed to ensure a smooth transition and minimize churn.

2. Goals of the SaaS Pricing Strategy

The primary objectives of this refined pricing strategy are:

  • Maximize Revenue Growth: Increase Average Revenue Per User (ARPU) and overall subscription revenue by aligning price with perceived value across different customer segments.
  • Improve Customer Acquisition: Offer accessible entry points while clearly demonstrating value progression to encourage new sign-ups and conversions.
  • Enhance Customer Retention & LTV: Foster long-term customer relationships by providing flexible plans that scale with customer needs and delivering continuous value.
  • Optimize Value Capture: Ensure our pricing reflects the innovation, functionality, and support we provide, preventing undervaluation of our product.
  • Strengthen Competitive Positioning: Differentiate our offering in the market, highlighting our unique value proposition against competitors.
  • Simplify Pricing Structure: Create a clear, understandable, and easy-to-communicate pricing model for both sales teams and customers.

3. Foundational Analysis: Data-Driven Insights

Our pricing strategy is built upon a foundation of rigorous data analysis, ensuring decisions are informed and strategic.

3.1. Competitive Landscape Analysis Summary

A comprehensive analysis of key competitors, including [Competitor A], [Competitor B], and [Competitor C], revealed several critical insights:

  • Common Pricing Models: Most competitors utilize a per-user per-month model, often combined with feature-based tiers. Some offer usage-based components (e.g., storage, API calls).
  • Pricing Tiers & Gaps: Competitor A excels in the enterprise space with high-touch sales, while Competitor B is strong in the SMB market with aggressive entry pricing. A notable gap exists in the "growth" segment, where businesses are scaling rapidly and require more advanced features than basic plans but aren't yet ready for enterprise commitments.
  • Feature Gating Trends: Common gating strategies include limiting storage, advanced analytics, integrations, user roles/permissions, and priority support.
  • Strengths & Weaknesses: Competitor A's strength lies in extensive integrations and enterprise-grade security; their weakness is high cost for smaller teams. Competitor B offers a strong free tier but struggles with complex use cases and scalability.
  • Opportunity: Our analysis indicates an opportunity to capture the mid-market and growth segments by offering a compelling value proposition that balances advanced features with competitive pricing, filling the identified market gap.

3.2. Willingness-to-Pay (WTP) Analysis Summary

Through a combination of customer surveys, conjoint analysis, and analysis of historical upgrade/downgrade patterns, we identified distinct willingness-to-pay thresholds across our target segments:

  • Entry-Level Users (Individuals/Small Teams): Showed strong WTP for core functionality at price points between \$9 - \$29 per user/month. High sensitivity to per-user costs.
  • Growth-Stage Teams (SMBs/Mid-Market): Demonstrated WTP for advanced features (e.g., enhanced collaboration, integrations, expanded limits) in the range of \$39 - \$79 per user/month. Value-added features drive upgrades.
  • Enterprise-Level Clients: Expressed WTP for comprehensive solutions including dedicated support, custom integrations, advanced security, and unlimited usage, often preferring annual contracts and custom pricing. Price points can range from \$100+ per user/month or significant flat annual fees, depending on scale and specific requirements.
  • Key Price Psychology: We observed critical psychological price points around \$29, \$49, and \$99, where perceived value significantly shifts.

3.3. Customer Segmentation Insights

Our customer base can be broadly segmented as follows, each with distinct needs and budget considerations:

  • Solopreneurs/Freelancers: Value simplicity, low cost, and core productivity features.
  • Small Teams (2-10 users): Need basic collaboration, shared workspaces, and essential integrations. Budget-conscious but willing to pay for efficiency.
  • Growth Teams (10-50 users): Require robust collaboration, advanced analytics, extensive integrations, user management, and scalable storage. Value features that drive team productivity and data insights.
  • Enterprise Clients (50+ users): Demand high-level security, compliance, dedicated support, custom solutions, API access, and granular user controls. Prioritize reliability and strategic partnership.

4. Proposed Pricing Strategy & Tier Design

We recommend a Value-Based Tiered Pricing Model with a per-user monthly/annual subscription, designed to scale with customer needs and capture value effectively.

4.1. Overall Pricing Model

  • Core Model: Per-user, per-month (PUPM) with a discount for annual billing.
  • Base Tiers: Three distinct tiers (Starter, Pro, Business) to address different customer segments.
  • Enterprise Tier: Custom pricing for large organizations with specific needs.
  • Optional Add-ons: Introduce specific high-value features as optional add-ons to avoid over-complicating tiers and provide flexibility (e.g., premium support, additional storage blocks beyond tier limits).

4.2. Tier Structure


Tier 1: Starter

  • Target Audience: Solopreneurs, freelancers, and very small teams (1-5 users) just beginning to use a professional solution.
  • Key Value Proposition: Affordable entry point for core productivity and basic collaboration.
  • Pricing:

* \$19 per user/month (billed monthly)

* \$15 per user/month (billed annually – 21% discount)

  • Core Features: (See Section 5 for detailed gating)

* Basic Project Management

* Limited Storage (e.g., 5GB per user)

* Standard Integrations (e.g., Google Drive, Slack basic)

* Email Support

* Up to 5 Projects


Tier 2: Professional

  • Target Audience: Growing teams (5-25 users) requiring enhanced collaboration, deeper insights, and more integrations.
  • Key Value Proposition: Comprehensive toolset for productive teams, balancing features and cost. This is our primary growth engine.
  • Pricing:

* \$49 per user/month (billed monthly)

* \$39 per user/month (billed annually – 20% discount)

  • Core Features: (Includes all Starter features, plus significant enhancements)

* Advanced Project Management (e.g., Gantt charts, custom workflows)

* Expanded Storage (e.g., 50GB per user)

* Premium Integrations (e.g., Salesforce, Jira, advanced Slack features)

* Advanced Analytics & Reporting

* User Roles & Permissions

* Priority Email & Chat Support

* Unlimited Projects


Tier 3: Business

  • Target Audience: Larger teams and departments (25-100 users) needing robust security, advanced administration, and comprehensive control.
  • Key Value Proposition: Enterprise-grade features scaled for larger operations, focusing on security, compliance, and advanced control.
  • Pricing:

* \$99 per user/month (billed monthly)

* \$79 per user/month (billed annually – 20% discount)

  • Core Features: (Includes all Professional features, plus significant enhancements)

* Granular Access Controls & SSO (SAML/OAuth)

* Audit Logs & Activity Tracking

* Dedicated Account Manager

* Enhanced Security Features (e.g., IP whitelisting)

* API Access

* Unlimited Storage

* 24/7 Priority Phone & Chat Support

* Custom Onboarding & Training


Tier 4: Enterprise

  • Target Audience: Large organizations (100+ users) with complex requirements, custom integrations, and dedicated support needs.
  • Key Value Proposition: Tailored solution with white-glove service, designed for mission-critical operations.
  • Pricing: Custom Quote
  • Core Features: (Includes all Business features, plus)

* Dedicated Technical Account Manager

* Custom Integrations & Development Support

* On-premise deployment options (if applicable)

* SLA Guarantees

* Advanced Compliance & Data Residency Options

* Volume Discounts


5. Detailed Feature Gating

The following table details the feature availability across each proposed tier. This gating strategy is designed to incentivize upgrades by providing increasing value and removing friction as customers scale.

| Feature Category | Specific Feature | Starter | Professional | Business | Enterprise | Rationale for Gating |

| :------------------------ | :-------------------------------- | :------ | :----------- | :------- | :--------- | :------------------------------------------------------------ |

| Core Platform | User Seats | 1-5 | 5-25 | 25-100 | 100+ | Basic scaling factor; aligns with team size. |

| | Projects | 5 | Unlimited | Unlimited| Unlimited | Encourages growth, limits complexity for small users. |

| | Storage (per user) | 5 GB | 50 GB | Unlimited| Unlimited | Direct cost driver; scales with usage. |

| Project Management | Basic Task Management | ✓ | ✓ | ✓ | ✓ | Core functionality for all users. |

| | Custom Workflows | | ✓ | ✓ | ✓ | Adds complexity, needed for structured teams. |

| | Gantt Charts & Timelines | | ✓ | ✓ | ✓ | Visual planning for more sophisticated project managers. |

| | Advanced Reporting & Dashboards | | ✓ | ✓ | ✓ | Data-driven insights for growing teams. |

| Collaboration | Basic Team Chat | ✓ | ✓ | ✓ | ✓ | Essential for all collaboration. |

| | Guest Access | | ✓ | ✓ | ✓ | Facilitates external collaboration for growing teams. |

| | Shared Templates | | ✓ | ✓ | ✓ | Improves efficiency for structured teams. |

| Integrations | Basic (Slack, Google Drive) | ✓ | ✓ | ✓ | ✓ | Common tools, low barrier to entry. |

| | Premium (Salesforce, Jira, HubSpot)| | ✓ | ✓ | ✓ | Connects to core business systems, higher value. |

| | Custom API Access | | | ✓ | ✓ | For advanced development & custom solutions. |

| Security & Admin | Standard Data Encryption | ✓ | ✓ | ✓ | ✓ | Baseline security for all. |

| | User Roles & Permissions | | ✓ | ✓ | ✓ | Critical for larger teams to manage access. |

| | Single Sign-On (SSO) (SAML/OAuth) | | | ✓ | ✓ | Enterprise security requirement. |

| | Audit Logs & Activity Tracking | | | ✓ | ✓ | Compliance & accountability for larger organizations. |

| | IP Whitelisting | | | ✓ | ✓ | Advanced network security for sensitive environments. |

| Support | Email Support | ✓ | ✓ | ✓ | ✓ | Standard support channel. |

| | Priority Chat Support | | ✓ | ✓ | ✓ | Faster response for paying customers. |

| | 24/7 Phone Support | | | ✓ | ✓ | Critical for business continuity for larger clients. |

| | Dedicated Account Manager | | | ✓ | ✓ | Personalized service for high-value accounts. |

| | Custom Onboarding & Training | | | ✓ | ✓ | Tailored support for complex implementations. |

6. Migration Plan for Existing Customers

A well-executed migration plan is crucial to minimize churn, maintain customer satisfaction, and ensure a smooth transition to the new pricing structure.

6.1. Principles

  • Fairness & Transparency: Clearly communicate the changes, the rationale, and the benefits.
  • Value-Driven: Emphasize the enhanced value and new features available in the new plans.
  • Minimize Disruption: Provide ample time and support for customers to adapt.
  • Incentivize Upgrades: Offer compelling reasons and pathways for customers to move to higher-value tiers.

6.2. Migration Strategies

  1. Grandfathering with Incentive:

* Existing Customers on Current Plans: All customers currently on a plan will be "grandfathered" into their existing plan and pricing for a defined period (e.g., 6-12 months from the launch date of the new pricing). This provides stability and time to adapt.

* Incentive to Migrate: During the grandfathering period, offer a one-time discount (e.g., 20% off the first year of the new plan) for customers who proactively migrate to a

saas_pricing_strategy.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}