이숲컴퍼니
경력근거: 온라인 스토어를 재무실사부터 계약까지 안전하게 거래하는 이커머스 M&A 플랫폼
※ 실제 산출물이 아닌 AI 예측 시안입니다.
이숲컴퍼니는 스마트스토어·쿠팡·자사몰 매물을 재무실사부터 계약까지 거래하는 이커머스 M&A 플랫폼으로, 매물 거래·매각 프로세스와 자체 데이터 분석 엔진을 운영합니다. 가치평가 근거를 짚는 데서 IM 초안 생성으로 이어지는 사슬은 온라인 스토어 매물의 매출·정산 구조라는 이숲 고유 도메인 데이터가 있어야 의미가 있고, 다른 회사 데이터로는 그대로 만들 수 없습니다.
재무실사부터 계약까지 한 흐름을 디지털 전환하는 게 제품의 핵심입니다. IM 자동생성과 실사 디지털화를 한 루프로 묶는 것이 PE 업무의 최소 단위입니다.
매물·고객 행동 데이터를 수집해 가치평가 기능과 연동하는 게 명시된 업무입니다. 거래 데이터에서 가치 근거를 짚는 사슬이 필요합니다.
프론트엔드부터 백엔드까지 직접 개발·운영하는 풀스택을 요구합니다. 데이터 수집부터 IM 생성·대시보드까지 한 사람이 닫는 구조가 잘 맞습니다.
스마트스토어·쿠팡·자사몰 매물의 매출·트래픽·정산 데이터를 한곳에 모아 한 화면에서 봅니다. LLM 이 매물 가치평가 근거 Top3 와 투자설명서(IM) 초안을 근거 지표와 함께 만들고, 매물이 들어올 때마다 슬랙으로 초안 알림을 보냅니다. 근거는 채용공고 정렬이고, 데이터는 작성자가 만든 더미입니다.
이숲컴퍼니 Product Engineer. 매물이 들어올 때마다 매출·정산·트래픽을 손으로 정리해 IM 초안을 만들던 일을 끝내고, 그 평가가 실제 거래가와 얼마나 맞았는지까지 확인하고 싶은 사람입니다.
매물의 매출·트래픽·정산 데이터를 한 스키마로 묶으면, LLM 이 (a) 가치평가 근거 Top3 와 (b) IM 초안 핵심 섹션을 근거 지표와 함께 몇 초 안에 만들고, (c) 실제 거래 성사가로 그 평가가 맞았는지 확인합니다.
매물의 매출·트래픽·정산 데이터를 한곳에 모아, 가치평가 근거 Top3 와 IM 핵심 섹션 초안을 LLM 이 만들고 매물 등록 시 슬랙으로 알리는 동작하는 도구입니다.
지난 매물에 매긴 가치평가 밴드를 실제 성사가와 맞춰보고, M&A 검토자 2명이 평가 근거가 타당한지 라벨링해 신뢰도를 보여주는 대시보드입니다.
확인된 평가를 바탕으로 정산·세금계산서 정합성 등 실사 체크리스트를 자동 점검해, IM 초안에 리스크 플래그를 함께 붙이는 단계입니다.
매물 시나리오 10개를 넣으면, 가치평가 근거 Top3 와 IM 초안 핵심 섹션이 몇 초 안에 나오는 걸 시연합니다
일부러 만든 악성·결측 입력 30종을 넣어도 출력 형식(Zod 스키마)이 한 번도 안 깨집니다
매물 등록 시 슬랙으로 IM 초안 알림이 자동 발송되는 걸 매물 14건치 시연으로 보여줍니다
직접 만든 정답 30건 중 가치 밴드가 성사가 구간을 맞춘 게 23건(약 77%)입니다. 단, 정답과 데이터를 모두 작성자가 만든 합성 기준이라 '성능 검증'이 아니라 '데모 조건에서의 동작'입니다
위 수치는 전부 작성자가 만든 더미데이터 자가채점이며, 실제 평가 정확도·일치도는 이숲컴퍼니 실 거래 데이터와 실 M&A 검수가 있어야 측정 가능합니다. 이 도구는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다.
이건 고객·실데이터 없이 혼자 만든 포트폴리오입니다. 모든 수치는 합성 데이터 자가채점이라 '성능 증명'이 아닙니다. 면접에서 '데모 조건 동작 + 실검증 준비 상태'로 솔직히 설명합니다
정답을 작성자가 만들었으니 잘 맞는 것이 당연합니다. 헷갈리는 결측·악성·경계 케이스를 더미에 일부러 섞어, 쉬운 문제만 푸는 게 아님을 보여줍니다
'트래픽이 늘어서 가치가 높다'는 상관일 뿐 인과가 아닐 수 있습니다. 단정 표현을 강제로 누그러뜨리고 별도 LLM 검사로 거래가 단정까지 거릅니다
스토어·플랫폼 표기가 매물마다 제각각입니다. 표기 유사도로 같은 플랫폼으로 묶고, 못 묶은 건 추측하지 말고 '미매핑'으로 알립니다
실제 도입 시 달라지는 것을 명시합니다. 실 거래 분포는 더미와 다르므로 가치 밴드폭·보정값을 다시 맞춰야 하고, M&A 검수도 실제 인력으로 교체해야 합니다(도입 단계 과제로 분리)
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
거래 매물로 올라온 온라인 스토어의 기본 정보입니다. 가치평가 LLM 이 가장 먼저 질의하는 테이블로, 운영 현실대로 결측(정산 미입력)·미등록 카테고리·플랫폼 별칭 표기·경계값을 일부러 섞어 쉬운 데이터만 푸는 게 아님을 보여줍니다.
| listing_id | platform_raw | platform_id | category | asking_price_krw | monthly_gmv_krw | settled_ratio | listed_at |
|---|---|---|---|---|---|---|---|
| S-001 | 스마트스토어 | p_smartstore | fashion | 120,000,000 | 48,000,000 | 0.92 | 2026-04-01 |
| S-002 | 쿠팡 | p_coupang | food | 80,000,000 | 31,000,000 | 0.88 | 2026-04-02 |
| S-003 | 네이버 스마트스토어 | p_smartstore | beauty | 210,000,000 | 76,000,000 | 0.9 | 2026-04-03 |
| S-004 | 자사몰(카페24) | p_cafe24 | living | — | 22,000,000 | 0.85 | 2026-04-04 |
| S-005 | 쿠팡 | p_coupang | digital | 60,000,000 | — | 0.8 | 2026-04-05 |
아래 Zod 스키마에 맞는 이커머스 매물 30행을 JSON 배열로 생성합니다.
{"type":"object","properties":{"listing_id":{"type":"string"},"platform_raw":{"type":"string"},"platform_id":{"type":["string","null"]},"category":{"type":"string","enum":["fashion","food","beauty","living","digital"]},"asking_price_krw":{"type":["integer","null"]},"monthly_gmv_krw":{"type":["integer","null"]},"settled_ratio":{"type":["number","null"]},"listed_at":{"type":"string"}},"required":["listing_id","platform_raw","platform_id","category","asking_price_krw","monthly_gmv_krw","settled_ratio","listed_at"]}
쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라(쉬운 문제만 푸는 함정 회피): (1) 같은 플랫폼의 별칭 표기('스마트스토어'/'네이버 스마트스토어', '쿠팡'/'쿠팡 윙'이 platform_id 로 정규화돼야 함), (2) platform_id=null 인 미등록 신규 플랫폼 1~2건, (3) asking_price_krw/monthly_gmv_krw/settled_ratio 가 null 인 결측 행 각 1~2건, (4) 경계값 asking_price_krw 0·monthly_gmv_krw 0(휴면 매물)과 5억 이상 고가 매물 각 1건. JSON 배열만.{"type":"object","properties":{"listing_id":{"type":"string"},"platform_raw":{"type":"string"},"platform_id":{"type":["string","null"]},"category":{"type":"string","enum":["fashion","food","beauty","living","digital"]},"asking_price_krw":{"type":["integer","null"]},"monthly_gmv_krw":{"type":["integer","null"]},"settled_ratio":{"type":["number","null"]},"listed_at":{"type":"string"}},"required":["listing_id","platform_raw","platform_id","category","asking_price_krw","monthly_gmv_krw","settled_ratio","listed_at"]}매물별 월간 매출·트래픽·정산 추이입니다. 가치평가의 성장률·안정성 근거로 쓰이며, 정산 미반영(결측)과 환불 폭증 경계값을 일부러 섞어 결측·이상치를 만나도 안 깨지는지 보여줍니다.
| listing_id | month | gmv_krw | visitors | refund_ratio | settled_krw |
|---|---|---|---|---|---|
| S-001 | 2026-01 | 44,000,000 | 21,000 | 0.04 | 40,500,000 |
| S-001 | 2026-02 | 46,000,000 | 22,500 | 0.05 | 42,300,000 |
| S-001 | 2026-03 | 48,000,000 | 24,000 | 0.04 | 44,100,000 |
| S-002 | 2026-01 | 30,000,000 | 15,000 | 0.07 | 26,500,000 |
| S-002 | 2026-02 | 31,000,000 | 15,500 | 0.08 | 27,300,000 |
아래 Zod 스키마에 맞는 매물별 월간 매출 추이를 매물당 3개월씩 JSON 배열로, store_listings 의 listing_id 와 매칭되도록 생성합니다.
{"type":"object","properties":{"listing_id":{"type":"string"},"month":{"type":"string"},"gmv_krw":{"type":["integer","null"]},"visitors":{"type":["integer","null"]},"refund_ratio":{"type":["number","null"]},"settled_krw":{"type":["integer","null"]}},"required":["listing_id","month","gmv_krw","visitors","refund_ratio","settled_krw"]}
쉬운 데이터만 만들지 말 것. 하드 케이스 의도적 혼입: (1) gmv_krw/visitors/settled_krw 가 null 인 정산 미반영 행 각 1~2건, (2) 경계값 refund_ratio 0.5 이상(환불 폭증) 1건과 gmv_krw 0(휴면 월) 1건, (3) 성장 매물과 역성장 매물이 섞이도록 추이 다양화. JSON 배열만.{"type":"object","properties":{"listing_id":{"type":"string"},"month":{"type":"string"},"gmv_krw":{"type":["integer","null"]},"visitors":{"type":["integer","null"]},"refund_ratio":{"type":["number","null"]},"settled_krw":{"type":["integer","null"]}},"required":["listing_id","month","gmv_krw","visitors","refund_ratio","settled_krw"]}| Python | ingest 파이프라인(스토어 매출·정산 CSV/JSON 을 PostgreSQL 로 upsert), LLM eval 스크립트(Cohen's κ·MAPE 계산) |
| PostgreSQL | store_listings / sales_monthly 단일 진실원과 가치평가 집계 뷰(`v_listing_valuation`)를 둡니다 |
| FastAPI | 가치평가·IM 생성 API(`POST /valuate`. 매물 id 입력으로 output_schema 반환)와 등록 알림 워커를 띄웁니다 |
| Next.js | 매물 평가 근거 카드와 IM 초안 미리보기를 보여주는 대시보드를 그립니다 |
| TypeScript | 프런트 평가 카드 렌더링과 Zod 런타임 검증을 담당합니다 |
| Slack Webhook | 매물 등록 시 IM 초안 알림을 자동 발송합니다 |
✓ pass → 그대로 멈춰도 완결입니다. 더 키우려면 2주차(평가가 실제 거래가와 맞았는지 확인)로 진행합니다.
✓ pass → 여기서 멈춰도 완결입니다. 더 키우면 3주차(실사 체크리스트 자동 점검)로 진행합니다.
1) 매물 가치평가 근거 카드(해석·근거 지표·완곡 표현), 2) 가치 밴드 3구간 + 확신도, 3) IM 핵심 섹션 초안, 4) 실제 성사가로 적중 여부 검증입니다. 평가에서 확인까지 한 주기를 한 스키마에 담습니다.
{"type":"object","properties":{"listing_id":{"type":"string"},"rationale":{"type":"array","items":{"type":"object","properties":{"point_id":{"type":"string"},"headline":{"type":"string","minLength":10},"interpretation":{"type":"string","minLength":20},"evidence_metrics":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"anyOf":[{"type":"number"},{"type":"string"}]}},"required":["name","value"]},"minItems":1},"hedge":{"type":["string","null"],"minLength":8}},"required":["point_id","headline","interpretation","evidence_metrics","hedge"]},"minItems":2,"maxItems":5},"valuation_band":{"type":"object","properties":{"low_krw":{"type":"integer"},"mid_krw":{"type":"integer"},"high_krw":{"type":"integer"},"confidence":{"type":"string","enum":["low","mid","high"]}},"required":["low_krw","mid_krw","high_krw","confidence"]},"im_sections":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string","minLength":20}},"required":["title","body"]},"minItems":3},"verification":{"type":["object","null"],"properties":{"actual_deal_krw":{"type":"integer"},"in_band":{"type":"boolean"},"mape":{"type":"number"}},"required":["actual_deal_krw","in_band","mape"]}},"required":["listing_id","rationale","valuation_band","im_sections","verification"]}[
{
"input_ref": "S-001 (성장 패션 스마트스토어)",
"output": {
"listing_id": "S-001",
"rationale": [
{
"point_id": "v_001_01",
"headline": "3개월 연속 GMV 성장",
"interpretation": "월 GMV 44M에서 48M로 분기 9% 성장. 정산비율 0.92로 현금 흐름 안정.",
"evidence_metrics": [
{
"name": "gmv_growth_pct_3m",
"value": 9
},
{
"name": "settled_ratio",
"value": 0.92
}
],
"hedge": "표본 3개월. 시즌성 미통제로 성장 지속 단정은 어렵습니다."
}
],
"valuation_band": {
"low_krw": 95000000,
"mid_krw": 120000000,
"high_krw": 140000000,
"confidence": "mid"
},
"im_sections": [
{
"title": "사업 개요",
"body": "패션 카테고리 스마트스토어로 월 GMV 약 4,800만원, 정산비율 0.92 수준의 안정적 매물입니다."
},
{
"title": "성장성",
"body": "최근 3개월 GMV 9% 성장, 방문자 24,000명대로 트래픽 동반 증가가 관찰됩니다."
},
{
"title": "리스크",
"body": "표본 기간이 3개월로 짧아 시즌성 검증이 필요합니다. 합성 기준 추정이라 실거래 검증이 별도로 요구됩니다."
}
],
"verification": {
"actual_deal_krw": 128000000,
"in_band": true,
"mape": 6.7
}
}
},
{
"input_ref": "S-005 (환불 폭증 디지털 매물)",
"output": {
"listing_id": "S-005",
"rationale": [
{
"point_id": "v_005_01",
"headline": "환불비율 55%로 정산 신뢰도 낮음",
"interpretation": "3월 환불비율 0.55, GMV 결측. 정산 데이터 부재로 가치 산정 근거가 약함.",
"evidence_metrics": [
{
"name": "refund_ratio",
"value": 0.55
},
{
"name": "gmv_krw",
"value": "null"
}
],
"hedge": "GMV 결측으로 밴드 폭을 넓게 둡니다. 직접 단정 불가합니다."
}
],
"valuation_band": {
"low_krw": 20000000,
"mid_krw": 38000000,
"high_krw": 60000000,
"confidence": "low"
},
"im_sections": [
{
"title": "사업 개요",
"body": "디지털 카테고리 쿠팡 매물로 환불비율이 높고 정산 데이터가 일부 누락된 상태입니다."
},
{
"title": "데이터 결손",
"body": "3월 GMV·정산액이 결측이라 가치 밴드를 넓게 제시합니다. 실사에서 보완이 필요합니다."
},
{
"title": "리스크",
"body": "환불 폭증과 데이터 결손으로 거래 전 정산 정합성 점검이 선행돼야 합니다. 합성 기준 추정입니다."
}
],
"verification": null
}
},
{
"input_ref": "S-008 (대형 뷰티 자사몰)",
"output": {
"listing_id": "S-008",
"rationale": [
{
"point_id": "v_008_01",
"headline": "월 GMV 1.8억 대형 매물",
"interpretation": "정산비율 0.95로 현금 흐름 우수. 자사몰 기반으로 플랫폼 수수료 의존도 낮음.",
"evidence_metrics": [
{
"name": "monthly_gmv_krw",
"value": 180000000
},
{
"name": "settled_ratio",
"value": 0.95
}
],
"hedge": "단월 데이터 비중이 커 추세 확인이 필요합니다."
}
],
"valuation_band": {
"low_krw": 420000000,
"mid_krw": 500000000,
"high_krw": 600000000,
"confidence": "mid"
},
"im_sections": [
{
"title": "사업 개요",
"body": "뷰티 카테고리 자사몰로 월 GMV 약 1.8억, 정산비율 0.95의 대형 매물입니다."
},
{
"title": "수익 구조",
"body": "자사몰 기반으로 플랫폼 수수료 의존이 낮아 마진 안정성이 상대적으로 높습니다."
},
{
"title": "리스크",
"body": "추세 데이터가 짧아 성장 지속성 검증이 필요합니다. 합성 기준 추정입니다."
}
],
"verification": null
}
}
]자동: (1) Zod parse, (2) evidence_metrics.name 이 입력 스키마의 실제 메트릭 이름인지 확인, (3) im_sections 에 거래가 단정 토큰 검출 + LLM-as-judge 의미 평가, (4) valuation_band 와 mape 는 합성 기준 추정값이라 자가채점 지표로만 봅니다. 수동: M&A 검토자 2명 비동기 라벨로 bootstrap Cohen's κ CI 하한 ≥ 0.6, judge 인간 spot check 5%. verification 은 실제 성사가 자동 조인입니다.