--- id: wiki-2026-0508-g-stack-principles title: G-Stack Principles category: 10_Wiki/Topics status: verified canonical_id: self aliases: [G-Stack, growth stack, growth engineering, growth marketing] duplicate_of: none source_trust_level: B confidence_score: 0.82 verification_status: applied tags: [growth, growth-stack, marketing, analytics, experimentation] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: TypeScript / Python framework: GA4 / Mixpanel / GrowthBook / Amplitude --- # G-Stack Principles (Growth Stack) ## 매 한 줄 > **"매 acquisition + activation + retention + revenue + referral 의 의 의 의 modern data + tooling stack"**. 매 product-led growth (PLG), 매 experimentation, 매 personalization. 매 stack: GA4 + Mixpanel/Amplitude + GrowthBook + Segment + Customer.io. ## 매 핵심 ### 매 AARRR (Pirate metrics) - **Acquisition**. - **Activation**: 매 'aha' moment. - **Retention**: 매 D1, D7, D30. - **Revenue**. - **Referral**. ### 매 stack tier - **Analytics**: GA4, Mixpanel, Amplitude, PostHog. - **CDP**: Segment, RudderStack. - **Experimentation**: GrowthBook, Optimizely, LaunchDarkly. - **Marketing automation**: Customer.io, Braze, Iterable. - **CRM**: Salesforce, HubSpot. - **Reverse ETL**: Hightouch, Census. - **Warehouse**: Snowflake, BigQuery. ### 매 응용 1. **Onboarding optimize**. 2. **Retention email / push**. 3. **Pricing test**. 4. **Feature flag rollout**. 5. **Personalization**. ## 💻 패턴 ### Event tracking (Segment) ```typescript import { Analytics } from '@segment/analytics-next'; const analytics = new Analytics({ writeKey }); analytics.track('Sign Up Completed', { plan: 'pro', source: 'landing', }); ``` ### A/B test (GrowthBook) ```typescript import { GrowthBook } from '@growthbook/growthbook'; const gb = new GrowthBook({ apiHost, clientKey }); await gb.loadFeatures(); gb.setAttributes({ id: userId, country }); if (gb.isOn('new_pricing_page')) showNewPricing(); const variation = gb.getValue('hero_headline', 'default'); ``` ### Funnel analysis (Mixpanel) ```python import mixpanel mp = mixpanel.Mixpanel(token) mp.track(distinct_id, 'Funnel Step', {'step': 1, 'name': 'view_landing'}) ``` ### Cohort retention ```python import pandas as pd def retention_curve(events_df): events_df['cohort'] = events_df.groupby('user_id').date.transform('min').dt.to_period('M') events_df['period'] = (events_df.date.dt.to_period('M') - events_df.cohort).apply(lambda x: x.n) return events_df.groupby(['cohort', 'period']).user_id.nunique().unstack() ``` ### Activation prediction ```python import xgboost as xgb def predict_activation(user_features): """매 user 의 의 의 activate?""" return xgb.XGBClassifier().fit(X_train, y_train).predict_proba(user_features)[:, 1] ``` ### Segment + reverse ETL ```typescript // 매 warehouse → tool sync // 매 Hightouch config: { source: 'snowflake', query: 'SELECT email, ltv FROM users WHERE ltv > 1000', destination: 'customer_io', mode: 'upsert', on: 'email', } ``` ### Email automation (Customer.io) ```python import requests requests.post(f'https://api.customer.io/v1/campaigns/{cid}/triggers', json={'recipients': {'segment': {'id': 1}}, 'data': {'name': '{{first_name}}'}}) ``` ### Cohort-based feature flag ```typescript gb.setAttributes({ id: user.id, cohort: user.cohort, isPro: user.plan === 'pro', }); if (gb.isOn('new_dashboard')) showNewDashboard(); ``` ### LTV prediction ```python def predict_ltv(user_features): """매 first 30-day signal → 매 12-month LTV.""" return xgb.XGBRegressor().fit(X_train, y_train).predict(user_features) ``` ### Churn prediction ```python def churn_probability(user_features): return classifier.predict_proba(user_features)[:, 1] def trigger_winback(users): high_churn = users[churn_probability(user_features) > 0.7] customer_io.send_campaign('winback', high_churn) ``` ### Multi-touch attribution ```python def first_touch_attribution(touchpoints): return touchpoints[0] def linear_attribution(touchpoints): return [(tp, 1/len(touchpoints)) for tp in touchpoints] def time_decay_attribution(touchpoints, half_life_days=7): weights = [0.5 ** ((now - tp.date).days / half_life_days) for tp in touchpoints] total = sum(weights) return [(tp, w/total) for tp, w in zip(touchpoints, weights)] ``` ### Eval metric ```python def growth_metrics(users, period_days=30): return { 'D1_retention': retention(users, day=1), 'D7_retention': retention(users, day=7), 'D30_retention': retention(users, day=30), 'avg_LTV': mean([u.ltv for u in users]), 'CAC': sum(u.acquisition_cost for u in users) / len(users), 'NRR': net_revenue_retention(users, period_days), } ``` ### Onboarding flow optimize ```python def onboarding_funnel(events): steps = ['signup', 'verify_email', 'create_first_project', 'invite_teammate', 'first_action'] drop_offs = [] for i in range(1, len(steps)): rate = events[steps[i]].nunique() / events[steps[i-1]].nunique() drop_offs.append((steps[i-1], steps[i], 1 - rate)) return drop_offs ``` ## 매 결정 기준 | 상황 | Tool | |---|---| | Product analytics | Mixpanel / Amplitude / PostHog | | Pipeline | Segment + warehouse + Hightouch | | Experimentation | GrowthBook / Optimizely | | Email | Customer.io / Braze | | Open-source | PostHog + GrowthBook | | Enterprise | Amplitude + LaunchDarkly + Braze | **기본값**: 매 Segment + 매 warehouse + 매 PostHog/Amplitude + 매 GrowthBook + 매 Customer.io + 매 cohort retention focus. ## 🔗 Graph - 응용: [[E-commerce-Optimization]] · [[Dynamic-Creative-Optimization]] - Adjacent: [[Feature-Flag]] ## 🤖 LLM 활용 **언제**: 매 SaaS / consumer product. 매 PLG. **언제 X**: 매 enterprise sales-led only. ## ❌ 안티패턴 - **Vanity metrics**: 매 page views, signups. - **No experimentation discipline**: 매 noise as truth. - **Tool sprawl**: 매 5+ overlapping. - **No cohort analysis**: 매 average misleading. ## 🧪 검증 / 중복 - Verified (Reforge, GrowthBook docs, Segment docs, Pirate metrics McClure). - 신뢰도 B. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — AARRR + 매 Segment / GrowthBook / cohort / LTV / churn code |