[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -1,89 +1,219 @@
|
||||
---
|
||||
id: wiki-2026-0508-g-stack-principles
|
||||
title: G Stack Principles
|
||||
title: G-Stack Principles
|
||||
category: 10_Wiki/Topics
|
||||
status: needs_review
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: [GSTACK-001]
|
||||
aliases: [G-Stack, growth stack, growth engineering, growth marketing]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 1.0
|
||||
tags: [engineering-culture, productivity, gstack, framework]
|
||||
source_trust_level: B
|
||||
confidence_score: 0.82
|
||||
verification_status: applied
|
||||
tags: [growth, growth-stack, marketing, analytics, experimentation]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-04-26
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
|
||||
tech_stack:
|
||||
language: unspecified
|
||||
framework: unspecified
|
||||
language: TypeScript / Python
|
||||
framework: GA4 / Mixpanel / GrowthBook / Amplitude
|
||||
---
|
||||
|
||||
# G-Stack [[Principles]] (G-Stack 엔지니어링 원칙)
|
||||
# G-Stack Principles (Growth Stack)
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> "한계를 넘어서는 엔지니어링을 위한 행동 지침" — 극강의 생산성과 문제 해결 능력을 위해 정의된, GStack 프레임워크의 핵심 철학이자 실천 강령.
|
||||
## 매 한 줄
|
||||
> **"매 acquisition + activation + retention + revenue + referral 의 의 의 의 modern data + tooling stack"**. 매 product-led growth (PLG), 매 experimentation, 매 personalization. 매 stack: GA4 + Mixpanel/Amplitude + GrowthBook + Segment + Customer.io.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **추출된 패턴:** 복잡한 문제를 만나면 회피하는 대신 '호수를 끓이는(Boil the Lake)' 수준의 압도적인 실행력으로 정면 돌파하고, 결과를 구체화(Concreteness)하는 엔지니어링 패턴.
|
||||
- **핵심 원칙:**
|
||||
- **Boil the Lake (호수 끓이기):** 불가능해 보이는 거대한 작업도 잘게 쪼개어 끝내 집요하게 완수하는 에너지.
|
||||
- **Concreteness (구체성):** 모호한 계획보다 돌아가는 코드와 눈에 보이는 결과물(Artifacts)을 우선시함.
|
||||
- **Product Thinking:** 엔지니어링 작업을 단순 기능 구현이 아닌, 사용자 가치를 창출하는 제품의 관점에서 접근.
|
||||
- **Autonomous Collaboration:** 에이전트 간, 그리고 인간과 에이전트 간의 명확한 계약(R&R) 기반 자율 협업.
|
||||
## 매 핵심
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
|
||||
- **과거 데이터와의 충돌:** 단순히 '열심히 하는 것'과 '원칙에 따라 똑똑하게 실행하는 것'의 차이를 명확히 구분.
|
||||
- **정책 변화:** Antigravity 프로젝트는 모든 의사결정과 코드 작성 시 G-Stack 원칙을 준수하며, 특히 '지식 가드닝' 과정에서 구체성 원칙을 엄격히 적용함.
|
||||
### 매 AARRR (Pirate metrics)
|
||||
- **Acquisition**.
|
||||
- **Activation**: 매 'aha' moment.
|
||||
- **Retention**: 매 D1, D7, D30.
|
||||
- **Revenue**.
|
||||
- **Referral**.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- GStack-Core-Principles, Antigravity-Framework, Productivity, Engineering-Excellence
|
||||
- **Raw Source:** 10_Wiki/Topics/AI/G-Stack Principles.md
|
||||
### 매 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.
|
||||
|
||||
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
|
||||
### 매 응용
|
||||
1. **Onboarding optimize**.
|
||||
2. **Retention email / push**.
|
||||
3. **Pricing test**.
|
||||
4. **Feature flag rollout**.
|
||||
5. **Personalization**.
|
||||
|
||||
**언제 이 지식을 쓰는가:**
|
||||
- *(TODO)*
|
||||
## 💻 패턴
|
||||
|
||||
**언제 쓰면 안 되는가:**
|
||||
- *(TODO)*
|
||||
|
||||
## 🧪 검증 상태 (Validation)
|
||||
|
||||
- **정보 상태:** needs_review
|
||||
- **출처 신뢰도:** A
|
||||
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
|
||||
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
|
||||
- **처리 방식:** UPDATE (자동 정규화)
|
||||
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
|
||||
|
||||
## 🕓 변경 이력 (Changelog)
|
||||
|
||||
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
|
||||
|
||||
## 💻 코드 패턴 (Code Patterns)
|
||||
|
||||
**패턴 1:** *(TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)*
|
||||
|
||||
```text
|
||||
# TODO
|
||||
### Event tracking (Segment)
|
||||
```typescript
|
||||
import { Analytics } from '@segment/analytics-next';
|
||||
const analytics = new Analytics({ writeKey });
|
||||
analytics.track('Sign Up Completed', {
|
||||
plan: 'pro',
|
||||
source: 'landing',
|
||||
});
|
||||
```
|
||||
|
||||
## 🤔 의사결정 기준 (Decision Criteria)
|
||||
### A/B test (GrowthBook)
|
||||
```typescript
|
||||
import { GrowthBook } from '@growthbook/growthbook';
|
||||
const gb = new GrowthBook({ apiHost, clientKey });
|
||||
await gb.loadFeatures();
|
||||
gb.setAttributes({ id: userId, country });
|
||||
|
||||
**선택 A를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
if (gb.isOn('new_pricing_page')) showNewPricing();
|
||||
const variation = gb.getValue('hero_headline', 'default');
|
||||
```
|
||||
|
||||
**선택 B를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
### Funnel analysis (Mixpanel)
|
||||
```python
|
||||
import mixpanel
|
||||
mp = mixpanel.Mixpanel(token)
|
||||
mp.track(distinct_id, 'Funnel Step', {'step': 1, 'name': 'view_landing'})
|
||||
```
|
||||
|
||||
**기본값:**
|
||||
> *(TODO)*
|
||||
### 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()
|
||||
```
|
||||
|
||||
## ❌ 안티패턴 (Anti-Patterns)
|
||||
### 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]
|
||||
```
|
||||
|
||||
- **[안티패턴]:** *(TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*
|
||||
### 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
|
||||
- 부모: [[Growth-Hacking]] · [[Marketing-Tech]]
|
||||
- 변형: [[AARRR]] · [[Product-Led-Growth]]
|
||||
- 응용: [[E-commerce-Optimization]] · [[Dynamic-Creative-Optimization]]
|
||||
- Adjacent: [[A-B-Testing]] · [[Customer-Lifetime-Value]] · [[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 |
|
||||
|
||||
Reference in New Issue
Block a user