from sympy import symbols, Eq, solve, simplify10 คณิตศาสตร์ของค่าเสื่อมราคา (Mathematics of Depreciation)
10.1 บทนำ (Introduction)
ในทางคณิตศาสตร์การเงิน ค่าเสื่อมราคา (Depreciation) คือกระบวนการปันส่วนมูลค่าของสินทรัพย์ที่มีตัวตน (Tangible Assets) ออกเป็นค่าใช้จ่ายตลอดอายุการใช้งานที่ประมาณการไว้ มูลค่าที่ลดลงนี้ไม่ได้สะท้อนเพียงการเสื่อมสภาพทางกายภาพเท่านั้น แต่ยังรวมถึงความล้าสมัยทางเทคโนโลยีและการเสื่อมค่าตามกาลเวลา
การเข้าใจกลไกคณิตศาสตร์ของค่าเสื่อมราคามีความสำคัญอย่างยิ่งในการวางแผนภาษี (Tax Planning) และการประเมินโครงการลงทุน เนื่องจากค่าเสื่อมราคาเป็นค่าใช้จ่ายทางบัญชีที่ไม่ได้จ่ายเป็นเงินสดจริง (Non-cash expense) แต่สามารถนำไปลดภาระภาษีได้ ซึ่งส่งผลโดยตรงต่อมูลค่าปัจจุบันของกระแสเงินสดสุทธิ
10.2 นิยามและตัวแปรพื้นฐาน
เพื่อให้การวิเคราะห์เชิงสัญลักษณ์ด้วย ซิมไพ เป็นไปอย่างเป็นระบบ เราจะกำหนดตัวแปรมาตรฐานดังนี้:
\(C\) : ราคาทุนเริ่มต้น (Original Cost)
\(S\) : มูลค่าซาก (Salvage Value / Scrap Value)
\(n\) : อายุการใช้งานที่คาดไว้ (Useful Life in years)
\(W = C - S\) : มูลค่าที่ต้องเสื่อมสภาพรวม (Total Depreciable Amount)
\(d_t\) : ค่าเสื่อมราคาในปีที่ \(t\)
\(BV_t\) : มูลค่าตามบัญชี ณ สิ้นปีที่ \(t\) (Book Value)
10.3 วิธีการคำนวณค่าเสื่อมราคา (Methods of Depreciation)
ตัวอย่าง สมมติว่าบริษัทซื้อเครื่องจักรมาในราคา 100,000 บาท (\(C\)) โดยคาดการณ์ว่าจะมีอายุการใช้งาน 5 ปี (\(n\)) และเมื่อสิ้นสุดอายุการใช้งานจะสามารถขายเป็นซากได้ในราคา 10,000 บาท (\(S\))
เราสามารถใช้ซิมไพ แทนค่าตัวแปรเพื่อหาค่าเสื่อมราคารายปี (\(d\)) และมูลค่าตามบัญชี ณ สิ้นปีที่ 3 (\(BV_3\)) ได้ดังนี้:
# 1. นิยามตัวแปรและสมการ
C, S, n, t = symbols('C S n t')
d = (C - S) / n
BV_t = C - (t * d)
# 2. กำหนดค่าตัวเลข (Substitution)
values = {C: 100000, S: 10000, n: 5}
# 3. คำนวณค่าเสื่อมราคารายปี
annual_dep = d.subs(values)
print(f"ค่าเสื่อมราคารายปี (d): {annual_dep} บาท")
# 4. คำนวณมูลค่าตามบัญชี ณ สิ้นปีที่ 3 (t = 3)
bv_year_3 = BV_t.subs(values).subs(t, 3)
print(f"มูลค่าตามบัญชี ณ สิ้นปีที่ 3 (BV_3): {bv_year_3} บาท")ค่าเสื่อมราคารายปี (d): 18000 บาท
มูลค่าตามบัญชี ณ สิ้นปีที่ 3 (BV_3): 46000 บาท
ตัวอย่าง พิจารณาสินทรัพย์ที่มีราคาทุน 100,000 บาท (\(C\)) มูลค่าซาก 10,000 บาท (\(S\)) และมีอายุการใช้งาน 5 ปี (\(n\)) เราต้องการทราบค่าเสื่อมราคาในปีที่ 1 และปีที่ 2 ซึ่งวิธี SYD จะต้องมียอดค่าเสื่อมในระยะแรกสูงกว่าวิธีเส้นตรง
# 1. กำหนดค่าตัวแปร (ต่อจากสมการสัญลักษณ์เดิม)
values_syd = {C: 100000, S: 10000, n: 5}
# 2. คำนวณค่าเสื่อมราคาในปีที่ 1 (t = 1)
dep_year_1 = d_t.subs(values_syd).subs(t, 1)
print(f"ค่าเสื่อมราคาในปีที่ 1: {dep_year_1} บาท")
# 3. คำนวณค่าเสื่อมราคาในปีที่ 2 (t = 2)
dep_year_2 = d_t.subs(values_syd).subs(t, 2)
print(f"ค่าเสื่อมราคาในปีที่ 2: {dep_year_2} บาท")ค่าเสื่อมราคาในปีที่ 1: 30000 บาท
ค่าเสื่อมราคาในปีที่ 2: 24000 บาท
ตัวอย่าง เพื่อให้เห็นภาพการตัดสินใจเชิงกลยุทธ์ เราจะสร้างสมการมูลค่าปัจจุบันของเกราะภาษี (\(PV_{TS}\)) และหาอนุพันธ์เพื่อดูว่าหากอัตราดอกเบี้ยในตลาด (\(i\)) เปลี่ยนแปลงไป จะส่งผลต่อผลประโยชน์ทางภาษีของวิธีเส้นตรง (SL) อย่างไร
from sympy import symbols, Sum, diff, simplify
# 1. นิยามตัวแปรสัญลักษณ์
C, S, n, t, i, tau = symbols('C S n t i tau')
# 2. นิยามค่าเสื่อมราคาแบบเส้นตรง (SL)
d_SL = (C - S) / n
# 3. สร้างสมการ PV ของ Tax Shield (Geometric Series Sum)
# เราใช้สูตรผลรวมอนุกรมเรขาคณิตสำหรับ Annuity มาช่วยจัดรูป
pv_ts_sl = Sum((d_SL * tau) / (1 + i)**t, (t, 1, n)).doit()
# 4. หาอนุพันธ์เทียบกับ i (Sensitivity to Interest Rate)
sensitivity_i = diff(pv_ts_sl, i)
# แสดงผลการจัดรูปสมการความไว
simplify(sensitivity_i)\(\displaystyle \begin{cases} 0 & \text{for}\: \frac{1}{i + 1} = 1 \\\frac{\tau \left(C - S\right) \left(i n \left(\frac{1}{i + 1}\right)^{n + 1} + i \left(\frac{1}{i + 1}\right)^{n + 1} + \left(\frac{1}{i + 1}\right)^{n + 1} - 1\right)}{i^{2} n} & \text{otherwise} \end{cases}\)
10.4 การวิเคราะห์เปรียบเทียบเชิงบูรณาการ (Comprehensive Comparison)
เพื่อให้เห็นความแตกต่างของแต่ละนโยบายการบัญชี พิจารณาสินทรัพย์ราคา \(C = 200,000\) บาท มูลค่าซาก \(S = 20,000\) บาท อายุการใช้งาน \(n = 8\) ปี โดยกำหนดอัตราภาษีเงินได้นิติบุคคล \(\tau = 20\%\) และอัตราคิดลด (Discount Rate) \(i = 5\%\)
import matplotlib.pyplot as plt
import pandas as pd
from sympy import symbols, N
# 1. กำหนดค่าตัวแปร
C_val, S_val, n_val = 200000, 20000, 8
years = list(range(1, n_val + 1))
# --- วิธีที่ 1: Straight-Line (SL) ---
d_sl = (C_val - S_val) / n_val
dep_sl = [d_sl] * n_val
# --- วิธีที่ 2: Sum-of-the-Years'-Digits (SYD) ---
syd_sum = n_val * (n_val + 1) / 2
dep_syd = [(C_val - S_val) * (n_val - t + 1) / syd_sum for t in years]
# --- วิธีที่ 3: Declining Balance (DB) ---
k_db = 1 - (S_val / C_val)**(1/n_val)
dep_db = []
bv_temp = C_val
for t in years:
d = bv_temp * k_db
dep_db.append(d)
bv_temp -= d
# --- วิธีที่ 4: Double Declining Balance (DDB) - ยอดนิยมในทางปฏิบัติ ---
k_ddb = 2 / n_val
dep_ddb = []
bv_temp = C_val
for t in years:
d = bv_temp * k_ddb
# ปรับแต่งปีสุดท้ายไม่ให้ต่ำกว่ามูลค่าซาก
if bv_temp - d < S_val:
d = bv_temp - S_val
dep_ddb.append(d)
bv_temp -= d10.5 แบบฝึกหัดท้าย
ส่วนที่ 1: การคำนวณพื้นฐาน (Fundamental Calculations)
บริษัทแห่งหนึ่งซื้อลิขสิทธิ์ซอฟต์แวร์วิเคราะห์ข้อมูลราคา 500,000 บาท คาดว่าจะมีอายุการใช้งาน 4 ปี โดยไม่มีมูลค่าซาก (\(S=0\)) จงคำนวณค่าเสื่อมราคารายปีด้วยวิธีเส้นตรง (Straight-Line) และแสดงสมการมูลค่าตามบัญชี (\(BV_t\))
เครื่องจักรราคา 1,200,000 บาท อายุการใช้งาน 5 ปี มูลค่าซาก 200,000 บาท จงหาค่าเสื่อมราคาในปีที่ 1 และปีที่ 2 หากใช้วิธีผลรวมจำนวนปี (SYD)
สินทรัพย์ชนิดหนึ่งราคา 800,000 บาท อายุการใช้งาน 10 ปี มูลค่าซาก 80,000 บาท จงคำนวณหาอัตราค่าเสื่อมราคาคงที่ (\(k\)) สำหรับวิธีพิกัดลดลง (Declining Balance) ที่ทำให้มูลค่าตามบัญชีปีสุดท้ายเท่ากับมูลค่าซากพอดี (แสดงทศนิยม 4 ตำแหน่ง)
จากโจทย์ข้อ 3 จงคำนวณมูลค่าตามบัญชี (\(BV_t\)) ณ สิ้นปีที่ 3 โดยใช้ซิมไพ ในการแทนค่าตัวเลขลงในสมการสัญลักษณ์
เปรียบเทียบค่าเสื่อมราคาสะสม (Accumulated Depreciation) ณ สิ้นปีที่ 2 ระหว่างวิธี SL และ SYD ของสินทรัพย์ราคา 600,000 บาท อายุการใช้งาน 3 ปี มูลค่าซาก 60,000 บาท
ส่วนที่ 2: การวิเคราะห์เชิงลึกและแนวคิด (Advanced Analysis & Concepts)
จงใช้ SymPy พิสูจน์ว่าผลรวมของค่าเสื่อมราคาทุกปี (\(d_1 + d_2 + ... + d_n\)) ของวิธี SYD จะมีค่าเท่ากับมูลค่าที่ต้องเสื่อมสภาพรวม (\(C-S\)) เสมอ
ในกรณีที่มูลค่าซาก (\(S\)) เป็นศูนย์ เหตุใดเราจึงไม่สามารถใช้วิธีพิกัดลดลง (DB) ตามทฤษฎีได้โดยตรง และในทางปฏิบัติวิศวกรรมการเงินมีวิธีแก้ไขปัญหานี้อย่างไร
พิจารณาสินทรัพย์ราคา \(C\) อายุการใช้งาน \(n\) ปี อัตราภาษี \(\tau\) และอัตราคิดลด \(i\) จงสร้างสมการเชิงสัญลักษณ์ในซิมไพ เพื่อหาค่ามูลค่าปัจจุบันของเกราะภาษี (\(PV_{TS}\)) สำหรับวิธีเส้นตรง และหาอนุพันธ์เทียบกับอัตราภาษี (\(\frac{\partial PV_{TS}}{\partial \tau}\)) เพื่ออธิบายความไวของผลประโยชน์ทางภาษี
หากอัตราดอกเบี้ยในตลาด (\(i\)) มีแนวโน้มเพิ่มสูงขึ้นอย่างรวดเร็ว ในฐานะนักการเงิน ท่านจะแนะนำให้บริษัทเลือกใช้วิธีคิดค่าเสื่อมราคาแบบเร่ง (Accelerated) หรือแบบเส้นตรง (SL) เพื่อรักษาความมั่งคั่งของบริษัท จงอธิบายโดยใช้หลักการมูลค่าของเงินตามเวลาประกอบ
(โจทย์บูรณาการ) จงเขียนสคริปต์ไพธอนสั้นๆ โดยใช้ซิมไพ เพื่อเปรียบเทียบว่า ระหว่างวิธี SYD และ DB วิธีใดให้ค่าเสื่อมราคาในปีแรกสูงกว่ากัน สำหรับสินทรัพย์ราคา \(C=1,000,000\) บาท \(S=100,000\) บาท และ \(n=5\) ปี
