docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거

Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.

- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
  자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
  동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
  Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
  Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
  나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
  title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
  원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
  지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
This commit is contained in:
Antigravity Agent
2026-07-05 00:33:48 +09:00
parent 1cfd3bbb56
commit 9148c358d0
6455 changed files with 1 additions and 86875 deletions
@@ -0,0 +1,217 @@
---
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 |