Files
alla-allaos-fullstack/plans/task-j.0.md
phaichayon 5be6c54272 taks-d.2.1
2026-06-17 14:46:52 +07:00

4.1 KiB

Task J.0: KPI Definition Freeze

Goal

Freeze KPI Definitions และ Sales Pipeline Definitions ก่อนเริ่มสร้าง CRM Dashboard KPI

หลัง Task J.0 ผ่านแล้ว ห้ามเปลี่ยนนิยาม KPI โดยไม่มี ADR ใหม่


Sales Pipeline Definition

Lead

Definition:

ยังไม่ได้ Assign Sales

Rules:

assignedToUserId = null
pipelineStage = lead

KPI Impact:

Lead Count
Lead Aging
Lead Source
New Leads

Opportunity

Definition:

Assign Sales แล้ว

Rules:

assignedToUserId != null
pipelineStage = opportunity

Auto Transition:

Lead
↓ Assign Sales
Opportunity

KPI Impact:

Opportunity Count
Opportunity Value
Hot Opportunities
Opportunity Aging

Closed Won

Definition:

ลูกค้ายืนยันรับงาน
หรือโครงการได้รับ Award

Rules:

pipelineStage = closed_won

Recommendation:

Add future field:

closedWonAt

Closed Lost

Definition:

แพ้คู่แข่ง
งบประมาณไม่ผ่าน
ลูกค้ายกเลิก
โครงการไม่เดินต่อ

Rules:

pipelineStage = closed_lost

Recommendation:

Add future field:

closedLostAt
lostReason

Opportunity Lifecycle

Lead
↓ Assign Sales
Opportunity
↓ Create Quotation
Opportunity
↓ Approved Quotation
Opportunity
↓ Award
Closed Won

Customer Party Definition

Billing Customer

Definition:

บริษัทที่ใช้ในการออกใบเสนอราคา
หรือวางบิล

Examples:

ALLA
Italian Thai
SCG

End Customer

Definition:

เจ้าของโครงการตัวจริง

Examples:

PTT
CP
SCG Chemicals

Contractor

Definition:

ผู้รับเหมาก่อสร้าง

Consultant

Definition:

ที่ปรึกษาโครงการ

Customer

Definition:

คู่ค้าหรือผู้เกี่ยวข้องทั่วไป

KPI Definitions

Lead Metrics

Lead Count
New Leads
Unassigned Leads
Lead Aging

Lead Count:

pipelineStage = lead

Opportunity Metrics

Opportunity Count
Open Opportunities
Hot Opportunities

Opportunity Count:

pipelineStage = opportunity

Conversion Metrics

Lead → Opportunity

Formula:

Opportunity Created
/
Total Leads

Opportunity → Quotation

Formula:

Opportunity With Quotation
/
Total Opportunities

Quotation → Won

Formula:

Closed Won
/
Total Opportunities With Quotation

Revenue Metrics

Opportunity Value

Source:

crm_enquiries.estimatedValue

Condition:

pipelineStage = opportunity

Quotation Value

Source:

crm_quotations.totalAmount

Condition:

quotation status != cancelled

Won Value

Source:

crm_quotations.totalAmount

Condition:

pipelineStage = closed_won

Lost Value

Source:

crm_quotations.totalAmount

Condition:

pipelineStage = closed_lost

Sales Ownership

Dashboard must use:

assignedToUserId

for:

Lead
Opportunity

and

salesmanId

for:

Quotation

Future Fields (Not In Scope)

Do NOT implement now.

Track as technical debt:

convertedToOpportunityAt
closedWonAt
closedLostAt
lostReason
defaultPartyRole

Output

  1. KPI Definitions Frozen
  2. Sales Pipeline Frozen
  3. Customer Party Definitions Frozen
  4. Revenue Rules Frozen
  5. Dashboard Ready

Definition of Done

✔ Lead definition frozen

✔ Opportunity definition frozen

✔ Won/Lost definition frozen

✔ Billing Customer definition frozen

✔ Project Party role definition frozen

✔ KPI formulas frozen

✔ Revenue formulas frozen

✔ Ready for Task J