ການແບ່ງກຸ່ມລູກຄ້າສຳລັບບໍລິສັດໂທລະຄົມລາວດ້ວຍ K-Means
ໃນຕະຫຼາດໂທລະຄົມທີ່ມີການແຂ່ງຂັນສູງຂອງລາວ — ບ່ອນທີ່ຜູ້ໃຫ້ບໍລິການຫຼັກໆ ເຊັ່ນ Unitel, Lao Telecom, ETL ແລະ Beeline ຕ່າງພາກັນແຂ່ງຂັນເພື່ອແຍ່ງຊີງຊ່ວງເວລາ ແລະ ຄວາມສົນໃຈຂອງລູກຄ້າ — ການສະເໜີ “ແພັກເກັດຂະໜາດດຽວເໝາະສຳລັບທຸກຄົນ” ແມ່ນບໍ່ພຽງພໍອີກຕໍ່ໄປ. ລູກຄ້າແຕ່ລະຄົນມີພຶດຕິກຳການໃຊ້ງານທີ່ແຕກຕ່າງກັນຢ່າງສິ້ນເຊີງ: ບາງຄົນໂທຫຼາຍແຕ່ໃຊ້ອິນເຕີເນັດໜ້ອຍ, ບາງຄົນສະຕຣີມ TikTok ແລະ YouTube ທຸກຄືນ, ໃນຂະນະທີ່ນັກທຸລະກິດອາດຈະໃຊ້ຂໍ້ມູນຢ່າງໜັກໃນຊ່ວງເວລາເຮັດວຽກ.
ຄຳຖາມທີ່ວ່າ “ພວກເຮົາຈະເຂົ້າໃຈລູກຄ້າທັງໝົດ 7 ລ້ານຄົນຂອງພວກເຮົາໄດ້ແນວໃດ ໂດຍທີ່ບໍ່ຕ້ອງເບິ່ງທີລະຄົນ?” ນີ້ຄືບ່ອນທີ່ K-Means Clustering ເຂົ້າມາມີບົດບາດ — ເຕັກນິກ Machine Learning ແບບ Unsupervised ທີ່ສາມາດຈັດກຸ່ມລູກຄ້າຫຼາຍລ້ານຄົນໃຫ້ກາຍເປັນກຸ່ມທີ່ຈັດການໄດ້ພຽງແຕ່ 4-5 ກຸ່ມຕາມພຶດຕິກຳ ພາຍໃນເວລາບໍ່ເທົ່າໃດວິນາທີ.
K-Means Clustering ແມ່ນຫຍັງ?
K-Means ແມ່ນໜຶ່ງໃນອັລກໍຣິທຶມ (algorithm) ທີ່ນິຍົມທີ່ສຸດໃນການແບ່ງກຸ່ມຂໍ້ມູນ. ແນວຄວາມຄິດຫຼັກຂອງມັນແມ່ນງ່າຍດາຍຫຼາຍ: ໃຫ້ຄອມພິວເຕີຊອກຫາ ຈຸດສູນກາງ (centroid) ທີ່ສາມາດຈັດກຸ່ມຂໍ້ມູນຈຳນວນ K ກຸ່ມ ໂດຍທີ່ແຕ່ລະຈຸດຂອງຂໍ້ມູນຈະຖືກຈັດໃຫ້ຢູ່ໃກ້ກັບຈຸດສູນກາງທີ່ໃກ້ທີ່ສຸດ.
ສິ່ງສຳຄັນທີ່ຄວນຈື່: K-Means ແມ່ນ Unsupervised Learning ໝາຍຄວາມວ່າມັນບໍ່ຕ້ອງການ “ຄຳຕອບທີ່ຖືກ” ລ່ວງໜ້າ. ພວກເຮົາພຽງແຕ່ໃຫ້ຂໍ້ມູນກັບມັນ ແລະ ມັນຈະຄົ້ນພົບຮູບແບບທີ່ເຊື່ອງຢູ່ໃຫ້ພວກເຮົາເອງ.
ຫຼັກການເຮັດວຽກຂອງມັນມີ 4 ຂັ້ນຕອນງ່າຍໆ:
- ເລືອກຈຳນວນກຸ່ມ K (ເຊັ່ນ: K=4)
- ສຸ່ມເລືອກ 4 ຈຸດເພື່ອເປັນ ຈຸດສູນກາງ ເບື້ອງຕົ້ນ
- ຈັດແຕ່ລະລູກຄ້າໃຫ້ຢູ່ໃນກຸ່ມທີ່ມີຈຸດສູນກາງທີ່ໃກ້ທີ່ສຸດ
- ຄິດໄລ່ຈຸດສູນກາງໃໝ່ ແລະ ເຮັດຊ້ຳຈົນກວ່າກຸ່ມຈະບໍ່ປ່ຽນແປງ
ເປັນຫຍັງບໍລິສັດໂທລະຄົມຈຶ່ງຕ້ອງການ Customer Segmentation?
ກ່ອນທີ່ພວກເຮົາຈະເຂົ້າສູ່ໂຄ້ດ, ລອງພິຈາລະນາປະໂຫຍດທາງທຸລະກິດທີ່ແທ້ຈິງສຳລັບຜູ້ໃຫ້ບໍລິການໃນລາວ:
1. ອອກແບບແພັກເກັດທີ່ຕອບໂຈດລູກຄ້າໄດ້ດີຂຶ້ນ
ແທນທີ່ຈະມີແພັກເກັດແບບດຽວ, ຜູ້ໃຫ້ບໍລິການສາມາດສ້າງແພັກເກັດສະເພາະເຈາະຈົງສຳລັບແຕ່ລະກຸ່ມ ເຊັ່ນ “ແພັກເກັດນັກຮຽນ-ນັກສຶກສາ” ທີ່ເນັ້ນຂໍ້ມູນສຳລັບໃຊ້ Facebook ແລະ TikTok ໃນຄ່າໃຊ້ຈ່າຍຕໍ່າ, ຫຼື “ແພັກເກັດນັກທຸລະກິດ” ທີ່ເນັ້ນການໂທສາກົນ ແລະ Roaming.
2. ຫຼຸດອັດຕາ Churn (ການຍ້າຍຄ່າຍ)
ເມື່ອຮູ້ວ່າລູກຄ້າແຕ່ລະກຸ່ມມີຄ່າຄ້າຍຄືກັນແນວໃດ, ທີມການຕະຫຼາດສາມາດຕິດຕາມ ສັນຍານເຕືອນ ທີ່ລູກຄ້າມີແນວໂນ້ມຈະຍ້າຍໄປຄ່າຍຄູ່ແຂ່ງ ແລະ ສະເໜີໂປຣໂມຊັນທີ່ຕົງຈຸດເພື່ອຮັກສາພວກເຂົາໄວ້.
3. ການຕະຫຼາດແບບເຈາະຈົງ (Targeted Marketing)
ການສົ່ງ SMS ໂປຣໂມຊັນຫາລູກຄ້າທຸກຄົນໃນຄັ້ງດຽວແມ່ນການສິ້ນເປືອງງົບປະມານ. ການແບ່ງກຸ່ມຊ່ວຍໃຫ້ທ່ານສົ່ງຂໍ້ຄວາມທີ່ຖືກຕ້ອງ ໄປຫາຄົນທີ່ຖືກຕ້ອງ ໃນເວລາທີ່ຖືກຕ້ອງ.
ການລົງມືປະຕິບັດດ້ວຍ Python
ຕໍ່ໄປນີ້ແມ່ນຕົວຢ່າງຂັ້ນຕອນການນຳໃຊ້ K-Means ກັບຂໍ້ມູນຜູ້ໃຊ້ໂທລະຄົມຈຳລອງໃນລາວ.
ຂັ້ນຕອນທີ 1: ກະກຽມຂໍ້ມູນ
ສົມມຸດວ່າພວກເຮົາມີຂໍ້ມູນ CDR (Call Detail Records) ທີ່ສະແດງພຶດຕິກຳການໃຊ້ງານຂອງລູກຄ້າຕໍ່ເດືອນ ປະກອບດ້ວຍຟີເຈີ 4 ຕົວ: ນາທີການໂທ, ຈຳນວນ SMS, ການໃຊ້ອິນເຕີເນັດ (GB), ແລະ ຄ່າໃຊ້ຈ່າຍລາຍເດືອນ (LAK).
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
# ສ້າງຂໍ້ມູນຈຳລອງຜູ້ໃຊ້ໂທລະຄົມລາວ
np.random.seed(42)
data = pd.DataFrame({
'call_minutes': np.random.randint(0, 800, 500),
'sms_count': np.random.randint(0, 200, 500),
'data_gb': np.random.uniform(0, 50, 500),
'monthly_spend_lak': np.random.randint(30000, 500000, 500)
})
print(data.head())
ຂັ້ນຕອນທີ 2: Feature Scaling
ເນື່ອງຈາກ K-Means ອາໄສການຄິດໄລ່ໄລຍະຫ່າງ (distance), ຟີເຈີທີ່ມີຂະໜາດໃຫຍ່ (ເຊັ່ນ: monthly_spend_lak ທີ່ມີຄ່າເປັນແສນ) ຈະຄອບງຳຟີເຈີທີ່ມີຂະໜາດນ້ອຍກວ່າ. ດັ່ງນັ້ນພວກເຮົາຕ້ອງ ປັບມາດຕະຖານ ຂໍ້ມູນກ່ອນ.
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)
ຂັ້ນຕອນທີ 3: ຊອກຫາຄ່າ K ທີ່ເໝາະສົມດ້ວຍ Elbow Method
ການເລືອກຈຳນວນກຸ່ມ K ແມ່ນສິ່ງທ້າທາຍ. ວິທີທີ່ນິຍົມທີ່ສຸດແມ່ນ Elbow Method: ພວກເຮົາທົດລອງຄ່າ K ຫຼາຍໆຄ່າ ແລະ ເບິ່ງຫາຈຸດ “ຂໍ້ສອກ” ທີ່ຄ່າ Inertia ເລີ່ມລົງຊ້າລົງ.
inertias = []
K_range = range(1, 11)
for k in K_range:
kmeans = KMeans(n_clusters=k, random_state=42, n_init=10)
kmeans.fit(scaled_data)
inertias.append(kmeans.inertia_)
plt.plot(K_range, inertias, 'bo-')
plt.xlabel('ຈຳນວນ Cluster (K)')
plt.ylabel('Inertia')
plt.title('Elbow Method for Optimal K')
plt.show()
ຂັ້ນຕອນທີ 4: ຝຶກໂມເດລ ແລະ ຕີຄວາມໝາຍຜົນ
ຈາກ Elbow Method, ສົມມຸດວ່າ K=4 ແມ່ນຄ່າທີ່ເໝາະສົມທີ່ສຸດສຳລັບຂໍ້ມູນຂອງພວກເຮົາ.
kmeans = KMeans(n_clusters=4, random_state=42, n_init=10)
data['cluster'] = kmeans.fit_predict(scaled_data)
# ເບິ່ງຄ່າສະເລ່ຍຂອງແຕ່ລະກຸ່ມ
cluster_profile = data.groupby('cluster').mean()
print(cluster_profile)
ການຕີຄວາມໝາຍກຸ່ມລູກຄ້າ
ຫຼັງຈາກລັນໂມເດລແລ້ວ, ພວກເຮົາຈະໄດ້ 4 ກຸ່ມທີ່ມີລັກສະນະແຕກຕ່າງກັນ. ໜ້າທີ່ທີ່ສຳຄັນທີ່ສຸດຂອງ Data Scientist ແມ່ນການ ຕີຄວາມໝາຍ ກຸ່ມເຫຼົ່ານີ້ໃຫ້ເປັນພາສາທຸລະກິດທີ່ເຂົ້າໃຈງ່າຍ:
Cluster 0: “ຜູ້ໃຊ້ຂໍ້ມູນໜັກ” (Data Heavy Users)
ກຸ່ມນີ້ໃຊ້ອິນເຕີເນັດຫຼາຍ (ເກີນ 30GB/ເດືອນ) ແຕ່ໂທໜ້ອຍ. ສ່ວນຫຼາຍເປັນໄວໜຸ່ມທີ່ມັກສະຕຣີມ TikTok ແລະ YouTube. ຂໍ້ສະເໜີແນະ: ແພັກເກັດ Unlimited Social Media ຫຼື YouTube Premium Bundle.
Cluster 1: “ຜູ້ໃຊ້ພື້ນຖານ” (Basic Users)
ໂທໜ້ອຍ, ສົ່ງ SMS ໜ້ອຍ, ໃຊ້ຂໍ້ມູນໜ້ອຍ. ຄ່າໃຊ້ຈ່າຍລາຍເດືອນຕໍ່າ. ສ່ວນຫຼາຍເປັນລູກຄ້າຢູ່ເຂດຊົນນະບົດ ຫຼື ຜູ້ສູງອາຍຸ. ຂໍ້ສະເໜີແນະ: ແພັກເກັດລາຄາປະຢັດທີ່ເນັ້ນການໂທເປັນຫຼັກ.
Cluster 2: “ນັກທຸລະກິດ” (Business Users)
ໂທຫຼາຍ (400+ ນາທີ), ຄ່າໃຊ້ຈ່າຍສູງ, ມີການໃຊ້ຂໍ້ມູນປານກາງ. ນີ້ແມ່ນກຸ່ມທີ່ມີ ARPU (Average Revenue Per User) ສູງທີ່ສຸດ. ຂໍ້ສະເໜີແນະ: ແພັກເກັດ Corporate Plan ພ້ອມ Roaming ສາກົນ.
Cluster 3: “ຜູ້ໃຊ້ທີ່ສົມດຸນ” (Balanced Users)
ໃຊ້ບໍລິການຢ່າງສະໝໍ່າສະເໝີໃນທຸກດ້ານ. ເປັນກຸ່ມທີ່ໃຫຍ່ທີ່ສຸດ ແລະ ເປັນ “ຄວາມຊື່ສັດ” ຕໍ່ຄ່າຍ. ຂໍ້ສະເໜີແນະ: ໂປຣແກຣມ Loyalty Rewards ເພື່ອຮັກສາພວກເຂົາໄວ້.
ຂໍ້ຄວນລະວັງເມື່ອໃຊ້ K-Means
K-Means ເຖິງວ່າຈະມີປະສິດທິພາບ ແຕ່ກໍມີຂໍ້ຈຳກັດບາງຢ່າງທີ່ວິສະວະກອນ ML ໃນລາວຄວນຮູ້:
- ຕ້ອງເລືອກ K ລ່ວງໜ້າ — ການເລືອກ K ທີ່ຜິດຈະເຮັດໃຫ້ໄດ້ຜົນທີ່ບໍ່ມີຄວາມໝາຍ. ນອກຈາກ Elbow Method ແລ້ວ, ຄວນລອງໃຊ້ Silhouette Score ເພື່ອຢັ້ງຢືນ.
- ອ່ອນໄຫວຕໍ່ Outliers — ລູກຄ້າ VIP ທີ່ໃຊ້ຈ່າຍສູງຜິດປົກກະຕິສາມາດດຶງຈຸດສູນກາງໃຫ້ຜິດເພດ້ຽນໄດ້. ຄວນກວດ ແລະ ຈັດການ outliers ກ່ອນການຝຶກ.
- ສົມມຸດຕິຖານຮູບຊົງວົງມົນ — K-Means ເຮັດວຽກໄດ້ດີທີ່ສຸດເມື່ອ cluster ມີຮູບຊົງຄ້າຍກັບວົງມົນ. ສຳລັບຂໍ້ມູນທີ່ຊັບຊ້ອນກວ່ານັ້ນ, ລອງໃຊ້ DBSCAN ຫຼື Gaussian Mixture Models ແທນ.
ບາດກ້າວຕໍ່ໄປ
ຫຼັງຈາກທີ່ທ່ານໄດ້ແບ່ງກຸ່ມລູກຄ້າແລ້ວ, ຂັ້ນຕອນຕໍ່ໄປແມ່ນ Operationalize ຜົນໄດ້ຮັບເຫຼົ່ານີ້:
- ເຊື່ອມຕໍ່ກັບລະບົບ CRM ເພື່ອໃຫ້ທີມຂາຍ ແລະ ທີມການຕະຫຼາດສາມາດເບິ່ງ cluster ຂອງລູກຄ້າແຕ່ລະຄົນໄດ້
- ສ້າງ Dashboard ດ້ວຍ Power BI ຫຼື Metabase ເພື່ອຕິດຕາມການເຕີບໂຕຂອງແຕ່ລະກຸ່ມ
- A/B Testing ເພື່ອວັດແທກວ່າແຄມເປນທີ່ເຈາະຈົງສຳລັບແຕ່ລະ cluster ມີປະສິດທິພາບດີກວ່າວິທີເກົ່າແທ້ຫຼືບໍ່
K-Means Clustering ເປັນເຄື່ອງມືທີ່ຊົງພະລັງ ແລະ ເຂົ້າເຖິງງ່າຍ ສຳລັບບໍລິສັດໂທລະຄົມໃນລາວທີ່ຕ້ອງການຍົກລະດັບຈາກການຕັດສິນໃຈແບບພຶ່ງສັນຊາດຕະຍານ ໄປສູ່ການຕັດສິນໃຈແບບອີງໃສ່ຂໍ້ມູນ (Data-Driven). ດ້ວຍພຽງໂຄ້ດ Python ບໍ່ເທົ່າໃດແຖວ ແລະ ຄວາມເຂົ້າໃຈທາງທຸລະກິດທີ່ດີ, ທ່ານສາມາດປ່ຽນຂໍ້ມູນ CDR ທີ່ເປັນລ້ານໆແຖວ ໃຫ້ກາຍເປັນ insights ທີ່ສາມາດສ້າງລາຍຮັບ ແລະ ຮັກສາລູກຄ້າໃຫ້ຢູ່ກັບບໍລິສັດຂອງທ່ານດົນຂຶ້ນໄດ້.