FTSE ESG Analyzer
รายงานภาพรวมโปรเจค ระบบ และความแม่นยำ

เอกสารอธิบายโปรเจคทั้งหมด — สถาปัตยกรรม ฐานความรู้ (KB) วิธีการ derive ตัวชี้วัด การสอบเทียบกับผลประเมินจริง และข้อจำกัดที่ทราบ — เพื่อให้ผู้อ่านตรวจสอบหลักการและขั้นตอนของระบบได้ครบถ้วน

จัดทำโดย: ทีม ShareInvestor (SI) วันที่: 12 มิถุนายน 2569 ระบบ: esg.ohmai.me
381
Indicators ใน KB
827
Sub-indicators
14
Themes
173
ICB Subsectors ในระบบ
2
บริษัทที่สอบเทียบกับผลจริง

1โปรเจคนี้คืออะไร

FTSE ESG Analyzer คือระบบที่รับ URL เว็บไซต์ของบริษัทจดทะเบียน แล้ววิเคราะห์อัตโนมัติว่า ข้อมูล ESG ที่บริษัทเปิดเผยต่อสาธารณะครอบคลุมตัวชี้วัด (indicators) ของ FTSE Russell ESG Scores มากน้อยเพียงใด พร้อมให้คะแนนรายธีมและราย pillar (E / S / G) ผลลัพธ์ใช้เป็นเครื่องมือ pre-assessment สำหรับทีมที่ปรึกษาและบริษัทที่ต้องการเตรียมตัวเข้ารับการประเมิน FTSE จริง

ระบบให้บริการที่ https://esg.ohmai.me ผู้ใช้กรอก URL เลือกอุตสาหกรรม (หรือให้ AI ตรวจจับอัตโนมัติ) แล้วระบบจะ crawl เว็บไซต์ อ่านเอกสาร แล้วประเมินทีละตัวชี้วัด

2หลักการสำคัญ: No-Leakage (แยกระบบออกจากเฉลย)

กติกาที่ระบบยึดถือ: ฐานความรู้ (KB) ของระบบทั้งหมด derive มาจากเอกสารสาธารณะของ FTSE Russell — เอกสารผลประเมินจริงของบริษัทใดๆ (เฉลย) ใช้เพื่อ สอบเทียบโครงสร้าง (ตัวชี้วัดใด applicable กับอุตสาหกรรมใด มีข้อย่อยกี่ข้อ) เท่านั้น ไม่มีการนำคำตอบหรือคะแนนของบริษัทไหลกลับเข้าระบบ

ปัจจุบันระบบผ่านการสอบเทียบกับผลจริง 2 ชุด: (1) เอกสาร Gap Analysis ของผู้เชี่ยวชาญสำหรับ TIDLOR และ (2) ไฟล์ CDD (Company Data Download) อย่างเป็นทางการของ FTSE สำหรับ PTG Energy — รายละเอียดในหัวข้อ 7

3สถาปัตยกรรมระบบ

ส่วนประกอบเทคโนโลยีหน้าที่
FrontendNext.js + Tailwind + shadcn/uiหน้ากรอก URL, แสดงผลคะแนน, ตาราง gap, Website Architecture, ประวัติการวิเคราะห์
BackendPython FastAPIAPI, จัดการคิววิเคราะห์, derive ตัวชี้วัด, คำนวณคะแนน
CrawlerPlaywright (headless browser)เก็บเนื้อหาเว็บ + PDF (เช่น รายงานความยั่งยืน) รวม subdomain ด้าน IR/sustainability
AIOpenAI gpt-4.1-miniตรวจจับอุตสาหกรรม + ประเมินตัวชี้วัดทีละข้อจากเนื้อหาที่ crawl ได้
DatabaseSupabase (PostgreSQL)เก็บผลวิเคราะห์, รายชื่อ 173 ICB subsectors, theme summaries
DeployDocker บน AWS EC2โดเมน esg.ohmai.me ผ่าน nginx, API key ฝั่ง server เท่านั้น (proxy), มี rate limiting
1
รับ URL + อุตสาหกรรมผู้ใช้เลือกจาก 20 กลุ่มอุตสาหกรรม หรือเลือก Auto-detect ให้ AI อ่านเนื้อหาเว็บแล้วระบุรหัส ICB subsector เอง (ถ้าตรวจไม่ได้ ระบบใช้ตัวชี้วัดครบทั้ง 381 ตัว)
2
Crawl เว็บไซต์เก็บหน้าเว็บ + PDF ที่เกี่ยวข้องกับ ESG (รายงานความยั่งยืน, นโยบาย CG, สิทธิมนุษยชน ฯลฯ) รวม subdomain เช่น investor.*, sustainability.*
3
Derive ตัวชี้วัดที่ applicableคัดกรอง 3 ชั้นตามอุตสาหกรรม (หัวข้อ 5) ให้เหลือเฉพาะตัวชี้วัดที่ FTSE ใช้กับอุตสาหกรรมนั้นจริง
4
AI ประเมินทีละตัวชี้วัดตรวจว่าเนื้อหาที่ crawl ได้ ตอบตัวชี้วัดย่อยแต่ละข้อหรือไม่ พร้อมอ้างอิงแหล่งที่มา (URL/หน้าเอกสาร)
5
คำนวณคะแนนรวมเป็นคะแนนรายธีม (0–5) → pillar E/S/G → คะแนนรวม แล้วบันทึกลงฐานข้อมูลให้ frontend แสดงผล

4ฐานความรู้ (KB) — แหล่งข้อมูลสาธารณะที่ใช้

ไฟล์ในระบบเนื้อหาเอกสารต้นทาง (สาธารณะ)
ftse_indicators.jsonตัวชี้วัด 381 ตัว พร้อมชื่อ คำอธิบาย และธีม (14 ธีม)FTSE ESG Data Model Indicators RC11 2024–2025 (ฉบับภาษาไทย)
indicator_subsector_mapping.jsonประเภทของตัวชี้วัดแต่ละตัว (core / sector-specific / performance) และรายชื่อ subsector ที่เกี่ยวข้องคอลัมน์ Subsector ในเอกสาร RC11 (แปลงรหัส ICB เดิม → รหัส 8 หลัก)
indicator_subparts.jsonตัวชี้วัดย่อย (sub-indicators) รวม 827 รายการข้อ a./b./c. ในคำอธิบาย RC11 + โครงสร้างข้อย่อยจาก CDD (หัวข้อ 7)
sector_themes.pyตารางธีมต่ออุตสาหกรรม (66 subsectors แบบระบุชัด + ค่า default)Guidelines FTSE Russell 2026 (ฉบับภาษาไทย) หน้า 41–51
icb_old_to_new.json + ตาราง DBรายชื่อ ICB 173 subsectors + การแปลงรหัสเก่า/ใหม่ICB official structure + legacy mapping
กฎการ apply ธีม (จากเอกสาร FTSE Data Model Methodology หน้า 9): แต่ละธีมถูกกำหนด exposure จากปัจจัยต่างกัน — ทุกธีมขึ้นกับ Subsector แต่บางธีม (Biodiversity, Water Security, Health & Safety, Human Rights, Labour Standards, Anti-Corruption) ขึ้นกับ Geography ด้วย และบางธีม (Anti-Corruption, Tax Transparency) ขึ้นกับความเป็น Multinational — FTSE ไม่เผยแพร่รายชื่อประเทศต่อธีม ระบบจึงใช้ override สำหรับบริษัทไทย (เช่น ไม่ apply Tax Transparency กับ Emerging Markets)

5Logic การคัดกรองตัวชี้วัด 3 ชั้น

1
ชั้นธีม — อุตสาหกรรมนี้ถูกประเมินธีมใดบ้างเปิดตาราง sector_themes.py ตามรหัส ICB subsector เช่น Consumer Lending ได้ 7 ธีม, Integrated Oil & Gas ได้ 10 ธีม (โดย Climate Change และ Biodiversity คงไว้ระดับธีมแต่ไม่มีตัวชี้วัด สำหรับบริษัทไทยที่ไม่ใช่ multinational)
2
ชั้นตัวชี้วัด — ในธีมนั้นตัวใด applicableตัวชี้วัด core/performance ใช้กับทุกบริษัทในธีมที่ apply ส่วน sector-specific ใช้เฉพาะ subsector ที่ระบุใน mapping และมี exclude/เงื่อนไขการดำเนินงานตาม footnote ของ RC11 (เช่น ตัวชี้วัด fracking ใช้เฉพาะบริษัทที่มีกระบวนการ E&P)
3
ชั้นตัวชี้วัดย่อย — แต่ละตัวต้องตรวจกี่ข้อแตกจากข้อ a./b./c. ในคำอธิบาย + ช่องข้อมูลเชิงโครงสร้าง (Coverage, Currency, Base Year, Target Year ฯลฯ) ที่ปรากฏในระบบประเมินจริงของ FTSE

จำนวนตัวชี้วัดต่ออุตสาหกรรม (20 กลุ่มที่เปิดให้เลือกบนเว็บ — ตรวจนับจากระบบจริง)

อุตสาหกรรมรหัส ICBธีมIndicatorsSub-indicators
Oil, Gas & Energy (Integrated)6010100010142413
Electricity & Utilities6510101510199499
Renewable Energy651010109166448
Mining & Metals5510200010180483
Chemicals5520100011186490
Construction & Materials501010109158380
Food & Beverages4510202013214544
Personal & Household Goods452010208143351
Healthcare & Pharmaceuticals2010301510173409
Banks & Financial Services301010107149301
Consumer Finance302010207120251
Real Estate3510101012215549
Technology101010158136315
Telecommunications1510201510167398
Media & Entertainment403010205104215
Retail & Consumer Services404010108138283
Travel & Leisure405010259146358
Transportation & Logistics *5020606010165394
Automobiles & Parts401010208152367
Industrial & Manufacturing *5020300010165394

* สองกลุ่มนี้ยังใช้ชุดธีม default (ตาราง Guidelines ไม่มีคอลัมน์ของ subsector นี้โดยตรง) — อีก 18 กลุ่มใช้โปรไฟล์ธีมเฉพาะอุตสาหกรรมตามเอกสาร FTSE

6การประเมินด้วย AI

เมื่อได้รายการตัวชี้วัดย่อยแล้ว ระบบส่งเนื้อหาที่ crawl ได้ (แยกหน้าเว็บ/PDF พร้อม URL ต้นทาง) ให้ AI ตรวจทีละธีมว่า แต่ละข้อย่อยมีข้อมูลเปิดเผยหรือไม่ ผลแต่ละข้อคือสถานะ (พบ / พบบางส่วน / ไม่พบ) พร้อมข้อความอ้างอิงและแหล่งที่มา จากนั้นคำนวณเป็นคะแนนธีม 0–5 ตามสัดส่วนข้อที่ตอบได้ และถ่วงน้ำหนักรวมเป็น pillar E/S/G ด้วยระดับ exposure ของธีม (High = 3, Medium = 2, Low = 1 ตามวิธีของ FTSE)

ข้อสังเกตเรื่องความนิ่งของคะแนน: การรันวิเคราะห์ซ้ำบนเว็บเดียวกันให้คะแนนต่างกันได้ราว ±0.5–1.0 ต่อ pillar จากความแปรปรวนของ AI (ตัวอย่างจริง: PTG รัน 2 ครั้งห่างกัน 1 วัน ได้คะแนนรวม 2.34 และ 2.48 จากเนื้อหา 26 หน้าเท่ากัน) — การปรับให้คะแนนนิ่งและตรง band ของผลจริง เป็นงานเฟสถัดไป

7การสอบเทียบกับผลจริง (2 บริษัท)

7.1 TIDLOR — เทียบกับ Gap Analysis ของผู้เชี่ยวชาญ

รายการระบบ SIผู้เชี่ยวชาญ (REF)ผล
ธีมที่ applicable77ตรงกัน
Indicators120120ตรงกัน
Gap ที่ผู้เชี่ยวชาญพบ — ระบบครอบคลุม60/6060100%
Sub-indicators251219ต่างจากรูปแบบการนับ (REF นับตัวชี้วัดที่แตกข้อย่อยเป็น 1 แถว)

7.2 PTG Energy — เทียบกับ CDD อย่างเป็นทางการของ FTSE

CDD (Company Data Download) คือไฟล์ผลประเมินจริงที่ FTSE ส่งให้บริษัท ระบุรายตัวว่าตัวชี้วัดใด applicable (YES/NAP) และแต่ละตัวมีข้อย่อยรหัสอะไรบ้าง — เป็น ground truth ที่ละเอียดที่สุดที่มี

รายการระบบ SIFTSE CDDผล
ธีมที่มีตัวชี้วัด88ตรงกัน
Indicators142142ตรงกัน 142/142 (ไม่มีเกิน ไม่มีขาด)
Sub-indicators413413ตรงกัน 413/413
ความแม่นยำแบบไม่ดูเฉลย: ก่อนการสอบเทียบกับ CDD ระบบ (ที่ derive จากเอกสารสาธารณะล้วน) ได้ 154 indicators เทียบกับเฉลย 142 — ครบทุกตัวที่ควรมี (recall 100%) แต่เกินมา 12 ตัว (~92% precision) ส่วนเกินทั้งหมดอธิบายได้: 7 ตัวจากธีม Biodiversity ที่ขึ้นกับเงื่อนไข geography (กฎอยู่ในเอกสารสาธารณะ แต่รายชื่อประเทศไม่เผยแพร่) และ 5 ตัวจาก footnote เงื่อนไขการดำเนินงานใน RC11 ที่ KB ตกหล่นตอนสกัดข้อมูล — แก้ไขแล้วทั้งหมด

8การตรวจสอบคุณภาพ KB (Audit ที่ผ่านมา)

ระบบผ่านการ audit ฐานความรู้ครั้งใหญ่ โดยเทียบกับเอกสารสาธารณะและ CDD พบและแก้ไขปัญหาดังนี้

ปัญหาที่พบรายละเอียดการแก้ไข
รหัสอุตสาหกรรมบนหน้าเว็บผิด 9/20 ตัว2 ตัวไม่มีอยู่ในรายชื่อ ICB (เลือกแล้ว error ทันที), หลายตัวชี้ผิด subsector เช่น "Mining" ชี้ไปรหัสของ Forestry, "Real Estate" ชี้ไปรหัสของ Health Care REITsแก้ทั้ง 20 ตัวให้ตรงรายชื่อ ICB 173 และตรวจกับฐานข้อมูลจริงแล้ว
ธีม Biodiversity เกินสำหรับ Integrated O&Gตาราง Guidelines ระบุว่าธีมนี้ขึ้นกับ geography/multinational ซึ่งบริษัทไทยล้วนไม่เข้าเงื่อนไขปิดตัวชี้วัดธีมนี้สำหรับ subsector ดังกล่าว (แนวเดียวกับ Climate Change)
ตัวชี้วัด EWT36–40 เกินRC11 มี footnote "เฉพาะบริษัทที่มีกระบวนการ E&P/กลั่น" ซึ่ง KB ตกหล่นตอนสกัดปรับ mapping + บันทึกเงื่อนไขจาก footnote ไว้ในข้อมูล
ข้อย่อยขาด 42 รายการช่องข้อมูลเชิงโครงสร้าง (Coverage, Currency, Base Year ฯลฯ) ไม่ปรากฏในเอกสารสาธารณะ — เห็นได้จากระบบจริงของ FTSE เท่านั้นเติมจากโครงสร้าง CDD (ไม่ใช่คำตอบของบริษัท)
ชื่อตัวชี้วัดผูกผิดรหัส 49/381 ตัวกระจุกในธีม Supply Chain: Social (36 ตัว — สลับกับตัวชี้วัดกลุ่มธนาคาร/ประกัน/asset managers), บล็อก Anti-Corruption เลื่อน 1 ตำแหน่ง, กลุ่ม Water 7 ตัว — จำนวนนับไม่เคยผิด (mapping ถูก) แต่ AI อ่านโจทย์ผิดความหมายสร้างชื่อ+คำอธิบายใหม่จากแถวนิยามใน RC11 ทั้ง 49 ตัว ตรวจซ้ำด้วย CDD แล้วทุกตัวที่เทียบได้
ข้อย่อย b. ขาด 27 ตัวผลพวงจากชื่อที่ผูกผิด — โครงสร้างจริงมี a./b. แต่ KB มีแค่ข้อเดียวเติมครบจากแถว RC11

หลังการแก้ไขทั้งหมด: ชื่อตัวชี้วัด 381/381 ตรงกับแถวนิยามใน RC11 (ยกเว้น ECC22 ซึ่ง RC11 ฉบับภาษาไทยไม่มีแถวนิยาม มีเพียงการอ้างถึง) และผลสอบเทียบ TIDLOR/PTG ในหัวข้อ 7 ยังคงครบถ้วน

9เครื่องมือตรวจสอบซ้ำ (Reproducibility)

สคริปต์หน้าที่
scripts/verify_against_refs.pyเทียบผล derive ของระบบกับ ground truth ทั้ง 2 ชุด (TIDLOR + PTG) — รันซ้ำได้ทุกเมื่อ
scripts/validate_kb_against_rc11.pyตรวจชื่อ/คำอธิบายทั้ง 381 ตัว เทียบกับแถวนิยามใน RC11 แบบ row-level (exit code 1 ถ้าพบไม่ตรง)
scripts/fix_kb_names_from_rc11.pyเครื่องมือซ่อมชื่อจาก RC11 (dry-run เป็นค่าเริ่มต้น)
scripts/add_cdd_subparts.pyเติมโครงสร้างข้อย่อยจาก CDD (idempotent)
scripts/generate_tidlor_compare.pyสร้างรายงานเปรียบเทียบ TIDLOR (HTML)

10ข้อจำกัดที่ทราบ และงานเฟสถัดไป

ข้อจำกัดผลกระทบ / แนวทาง
FTSE ไม่เผยแพร่รายชื่อประเทศต่อธีม (Geography rule)ธีมที่ขึ้นกับ geography ต้องอนุมานจากผลจริง — แม่นยำเต็มที่เฉพาะอุตสาหกรรม/ประเทศที่เคยสอบเทียบ
โครงสร้างข้อย่อยเชิงระบบไม่อยู่ในเอกสารสาธารณะเติมได้จาก CDD ของลูกค้าแต่ละราย — ทุกการสอบเทียบใหม่ทำให้ KB แม่นขึ้นถาวร
ตาราง Guidelines มี 55 subsectors — ระบบ map ตรงตัวได้ 34คอลัมน์ที่เหลือ (เช่น Airlines, Marine Transportation, Tires) ใช้ค่า default ไปก่อน เพราะเอกสารไม่ระบุระดับ exposure ให้เพิ่มเองได้โดยไม่เดา
ตัวชี้วัดแบบมีเงื่อนไขการดำเนินงาน (เช่น fracking)ระบบคัดที่ระดับ subsector — บริษัทใน subsector เดียวกันที่มี operations ต่างกัน (เช่น Integrated O&G ที่มีโรงกลั่น) อาจต้องปรับรายบริษัท
คะแนนยังแกว่งจาก AI (±0.5–1.0 ต่อ pillar) และยังต่ำกว่า band ผลจริงเฟสถัดไป: score band calibration (ตัวอย่าง PTG ระบบให้ 2.48 ขณะที่ผลจริงได้ 3.3)
ECC22 ไม่มีแถวนิยามใน RC11 ฉบับภาษาไทยคงชื่อใน KB ไว้ (สอดคล้องกับบริบทการอ้างถึงในเอกสาร) — รอเทียบกับ CDD ของบริษัทที่ธีม Climate Change applicable

11สรุป

FTSE ESG Analyzer เป็นระบบ pre-assessment ที่ derive ตัวชี้วัดจากเอกสารสาธารณะของ FTSE Russell ทั้งหมด ผ่านการสอบเทียบโครงสร้างกับผลประเมินจริง 2 บริษัท — TIDLOR ตรง 120/120 indicators และครอบคลุม gap ของผู้เชี่ยวชาญ 60/60 และ PTG ตรงกับ CDD อย่างเป็นทางการ 142/142 indicators และ 413/413 sub-indicators — ฐานความรู้ผ่านการ audit ชื่อครบทั้ง 381 ตัวเทียบกับ RC11 พร้อมเครื่องมือตรวจสอบซ้ำอัตโนมัติ งานเฟสถัดไปคือการปรับความนิ่งและ band ของคะแนนให้ตรงกับผลประเมินจริง