मुख्य सामग्री पर जाएं

Customer Lifetime Value

इस ट्यूटोरियल में जानें कि Python में Customer Lifetime Value कैसे 계산 करें।
अपडेट किया गया 25 सित॰ 2026  · 11 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

इतालवी अर्थशास्त्री विलफ्रेडो पैरेटो के अनुसार 80% प्रभाव 20% कारणों से आता है। इसे 80/20 नियम या पैरेटो सिद्धांत कहा जाता है। इसी तरह, कंपनियों के 80% व्यवसाय 20% ग्राहकों से आते हैं। कंपनियों को उन शीर्ष ग्राहकों की पहचान करनी चाहिए और उनके साथ संबंध बनाए रखने चाहिए ताकि निरंतर राजस्व सुनिश्चित हो सके। ग्राहकों के साथ दीर्घकालिक संबंध बनाए रखने के लिए, कंपनियों को छूट, ऑफ़र, कूपन, बोनस पॉइंट और उपहार जैसे लॉयल्टी कार्यक्रमों की योजना बनानी चाहिए।

नए ग्राहक को लक्षित करना, मौजूदा ग्राहकों को बनाए रखने की तुलना में अधिक महंगा होता है, क्योंकि आपको नए ग्राहकों को हासिल करने के लिए संसाधन, समय और मेहनत खर्च नहीं करनी पड़ती। आपको बस मौजूदा ग्राहकों को संतुष्ट रखना होता है। बिजनेस एनालिस्ट CLTV (Customer Lifetime Value) का उपयोग करके ग्राहक अधिग्रहण लागत को सटीकता से 계산 करते हैं। CLTV संपूर्ण संबंध अवधि के दौरान ग्राहक से प्राप्त कुल राजस्व को दर्शाता है। CLTV कंपनियों को उन संभावित ग्राहकों पर ध्यान केंद्रित करने में मदद करता है जो भविष्य में अधिक राजस्व ला सकते हैं।

Customer Lifetime Value (CLTV)

"Customer Lifetime Value एक मौद्रिक मान है जो उस राजस्व या लाभ की राशि का प्रतिनिधित्व करता है जो कोई ग्राहक संबंध अवधि के दौरान कंपनी को देगा"। CLTV, अल्पकालिक ग्राहकों की तुलना में दीर्घकालिक ग्राहकों को प्राप्त करने के निहितार्थ दिखाता है। कस्टमर लाइफ़टाइम वैल्यू (CLV) हर कंपनी के लिए बिक्री से जुड़े सबसे महत्वपूर्ण प्रश्नों का उत्तर देने में आपकी मदद कर सकता है:

  • सबसे अधिक लाभदायक ग्राहकों की पहचान कैसे करें?
  • कंपनी सर्वश्रेष्ठ उत्पाद कैसे पेश कर सकती है और अधिकतम कमाई कैसे कर सकती है?
  • लाभदायक ग्राहकों का विभाजन कैसे करें?
  • ग्राहक हासिल करने के लिए कितना बजट खर्च करना चाहिए?

Customer Lifetime Value की गणना करें

CLTV की गणना के लिए कई दृष्टिकोण उपलब्ध हैं। हर किसी का इस पर अपना मत है। CLTV की गणना के लिए हमें ग्राहकों का ऐतिहासिक डेटा चाहिए, लेकिन नए ग्राहकों के लिए आप इसकी गणना नहीं कर पाएंगे। इस समस्या को हल करने के लिए बिजनेस एनालिस्ट नए ग्राहकों के CLTV की भविष्यवाणी करने हेतु मशीन लर्निंग मॉडल विकसित करते हैं। आइए CLTV गणना के कुछ दृष्टिकोण देखें:

1) आप किसी दिए गए चक्र में ग्राहकों से होने वाले लाभ/राजस्व को जोड़कर इसे गणना कर सकते हैं। उदाहरण के लिए, यदि ग्राहक पिछले 3 वर्षों से आपके साथ जुड़ा है, तो आप इन 3 वर्षों के सभी लाभों को जोड़ सकते हैं। आप लाभ का औसत वार्षिक, अर्धवार्षिक या मासिक निकाल सकते हैं, लेकिन इस तरीके से आप नए ग्राहकों के लिए प्रेडिक्टिव मॉडल नहीं बना पाएंगे।

2) मौजूदा ग्राहकों के लिए एक रिग्रेशन मॉडल बनाएं। हाल के छह महीनों के डेटा को स्वतंत्र चर और तीन वर्षों के कुल राजस्व को आश्रित चर के रूप में लें और इस डेटा पर रिग्रेशन मॉडल बनाएं।

3) CLTV को RFM (Recency, Frequency, Monetary) मानों का उपयोग करके भी लागू किया जा सकता है। अधिक विवरण के लिए आप मेरे ट्यूटोरियल को देखें।

4) निम्नलिखित समीकरण का उपयोग करते हुए: CLTV = ((Average Order Value x Purchase Frequency)/Churn Rate) x Profit margin.

      Customer Value = Average Order Value * Purchase Frequency
  • Average Order Value (AOV): औसत ऑर्डर मूल्य आपके कुल राजस्व और कुल ऑर्डर्स की संख्या का अनुपात है। AOV दर्शाता है कि ग्राहक एक ऑर्डर पर औसतन कितना खर्च करता है।

                         Average Order Value = Total Revenue / Total Number of Orders
    
  • Purchase Frequency (PF): परचेज फ़्रीक्वेंसी कुल ऑर्डर्स की संख्या और कुल ग्राहकों की संख्या का अनुपात है। यह दर्शाता है कि प्रत्येक ग्राहक द्वारा औसतन कितने ऑर्डर दिए गए।

                        Purchase Frequency =  Total Number of Orders / Total Number of Customers
    
  • Churn Rate: चर्न रेट उन ग्राहकों का प्रतिशत है जिन्होंने दोबारा ऑर्डर नहीं किया है।

  • Customer Lifetime: कस्टमर लाइफ़टाइम वह अवधि है जिसके दौरान ग्राहक लगातार ऑर्डर करता रहा है।

                                  Customer Lifetime=1/Churn Rate
    
  • Repeat Rate: रिपीट रेट को इस प्रकार परिभाषित किया जा सकता है: एक से अधिक ऑर्डर करने वाले ग्राहकों की संख्या का यूनिक ग्राहकों की संख्या से अनुपात। उदाहरण: यदि किसी महीने में आपके 10 ग्राहक हैं जिनमें से 4 वापस आते हैं, तो आपका रिपीट रेट 40% है।

                                   Churn Rate= 1-Repeat Rate
    

फॉर्मूला का उपयोग करके Python में CLTV का इम्प्लीमेंटेशन

आवश्यक लाइब्रेरी आयात करना

#import modules
import pandas as pd # for dataframes
import matplotlib.pyplot as plt # for plotting graphs
import seaborn as sns # for plotting graphs
import datetime as dt
import numpy as np

डेटासेट लोड करना

सबसे पहले pandas की read CSV फंक्शन का उपयोग करके आवश्यक Online Retail डेटासेट लोड करते हैं। आप डेटा यहाँ से डाउनलोड कर सकते हैं।

data = pd.read_excel("Online_Retail.xlsx")
data.head()
  InvoiceNo StockCode Description Quantity InvoiceDate UnitPrice CustomerID Country
0 536365 85123A WHITE HANGING HEART T-LIGHT HOLDER 6 2010-12-01 08:26:00 2.55 17850.0 United Kingdom
1 536365 71053 WHITE METAL LANTERN 6 2010-12-01 08:26:00 3.39 17850.0 United Kingdom
2 536365 84406B CREAM CUPID HEARTS COAT HANGER 8 2010-12-01 08:26:00 2.75 17850.0 United Kingdom
3 536365 84029G KNITTED UNION FLAG HOT WATER BOTTLE 6 2010-12-01 08:26:00 3.39 17850.0 United Kingdom
4 536365 84029E RED WOOLLY HOTTIE WHITE HEART. 6 2010-12-01 08:26:00 3.39 17850.0 United Kingdom

डुप्लिकेट हटाना

कभी-कभी आपको गंदा डेटासेट मिलता है। आपको डुप्लिकेट्स से निपटना पड़ सकता है, जो आपके विश्लेषण को बिगाड़ देंगे। Python में, pandas drop_duplicates() फंक्शन देता है, जो दोहराए गए या डुप्लिकेट रिकॉर्ड्स को हटा देता है।

filtered_data=data[['Country','CustomerID']].drop_duplicates()

आइए डेटा इनसाइट्स में उतरते हैं

#Top ten country's customer
filtered_data.Country.value_counts()[:10].plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot at 0x7fe677a887f0>
bar chart

दिए गए डेटासेट में, आप देख सकते हैं कि अधिकतर ग्राहक "United Kingdom" से हैं। इसलिए, आप United Kingdom के ग्राहकों के लिए डेटा फ़िल्टर कर सकते हैं।

uk_data=data[data.Country=='United Kingdom']
uk_data.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 495478 entries, 0 to 541893
Data columns (total 8 columns):
InvoiceNo      495478 non-null object
StockCode      495478 non-null object
Description    494024 non-null object
Quantity       495478 non-null int64
InvoiceDate    495478 non-null datetime64[ns]
UnitPrice      495478 non-null float64
CustomerID     361878 non-null float64
Country        495478 non-null object
dtypes: datetime64[ns](1), float64(2), int64(1), object(4)
memory usage: 34.0+ MB

pandas में describe() फंक्शन विभिन्न सार-सांख्यिकी प्राप्त करने में सहायक है। यह फंक्शन डेटा की गिनती, माध्य, मानक विचलन, न्यूनतम और अधिकतम मान तथा क्वांटाइल्स लौटाता है।

uk_data.describe()
  Quantity UnitPrice CustomerID
count 495478.000000 495478.000000 361878.000000
mean 8.605486 4.532422 15547.871368
std 227.588756 99.315438 1594.402590
min -80995.000000 -11062.060000 12346.000000
25% 1.000000 1.250000 14194.000000
50% 3.000000 2.100000 15514.000000
75% 10.000000 4.130000 16931.000000
max 80995.000000 38970.000000 18287.000000

यहाँ, आप देख सकते हैं कि कुछ ग्राहकों ने नकारात्मक मात्रा में ऑर्डर किया है, जो संभव नहीं है। इसलिए, आपको Quantity शून्य से अधिक फ़िल्टर करनी होगी।

uk_data = uk_data[(uk_data['Quantity']>0)]
uk_data.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 486286 entries, 0 to 541893
Data columns (total 8 columns):
InvoiceNo      486286 non-null object
StockCode      486286 non-null object
Description    485694 non-null object
Quantity       486286 non-null int64
InvoiceDate    486286 non-null datetime64[ns]
UnitPrice      486286 non-null float64
CustomerID     354345 non-null float64
Country        486286 non-null object
dtypes: datetime64[ns](1), float64(2), int64(1), object(4)
memory usage: 33.4+ MB

आवश्यक कॉलम फ़िल्टर करें

यहाँ, आप CLTV की गणना के लिए आवश्यक कॉलम फ़िल्टर कर सकते हैं। आपको केवल पाँच कॉलम चाहिए: CustomerID, InvoiceDate, InvoiceNo, Quantity और UnitPrice।

  • CustomerID आपके ग्राहकों को अद्वितीय रूप से परिभाषित करेगा।
  • InvoiceDate यह गणना करने में मदद करेगा कि ग्राहक आपके उत्पाद के साथ कितने दिनों तक बना रहा।
  • InvoiceNo यह गिनने में मदद करेगा कि कितनी बार लेन-देन किया गया (frequency)।
  • Quantity प्रत्येक लेन-देन में खरीदी गई यूनिट्स की संख्या है।
  • UnitPrice ग्राहक द्वारा खरीदी गई प्रत्येक यूनिट की कीमत, कुल खरीदी गई राशि निकालने में मदद करेगी।
uk_data=uk_data[['CustomerID','InvoiceDate','InvoiceNo','Quantity','UnitPrice']]
#Calulate total purchase
uk_data['TotalPurchase'] = uk_data['Quantity'] * uk_data['UnitPrice']

यहाँ, आप निम्नलिखित कार्य करने जा रहे हैं:

  • प्रत्येक ग्राहक से अंतिम खरीद की तारीख और वर्तमान तारीख के बीच के दिनों की संख्या की गणना करें।
  • प्रत्येक ग्राहक के लिए ऑर्डर्स की संख्या की गणना करें।
  • प्रत्येक ग्राहक के लिए खरीद मूल्य का योग निकालें।
uk_data_group=uk_data.groupby('CustomerID').agg({'InvoiceDate': lambda date: (date.max() - date.min()).days,
                                        'InvoiceNo': lambda num: len(num),
                                        'Quantity': lambda quant: quant.sum(),
                                        'TotalPurchase': lambda price: price.sum()})
uk_data_group.head()
  InvoiceDate InvoiceNo Quantity TotalPurchase
CustomerID        
12346.0 0 1 74215 77183.60
12747.0 366 103 1275 4196.01
12748.0 372 4596 25748 33719.73
12749.0 209 199 1471 4090.88
12820.0 323 59 722 942.34

कॉलम का नाम बदलें

# Change the name of columns
uk_data_group.columns=['num_days','num_transactions','num_units','spent_money']
uk_data_group.head()
  num_days num_transactions num_units spent_money
CustomerID        
12346.0 0 1 74215 77183.60
12747.0 366 103 1275 4196.01
12748.0 372 4596 25748 33719.73
12749.0 209 199 1471 4090.88
12820.0 323 59 722 942.34

निम्नलिखित फॉर्मूला का उपयोग करके CLTV की गणना करें:

 CLTV = ((Average Order Value x Purchase Frequency)/Churn Rate) x Profit margin.

 Customer Value = Average Order Value * Purchase Frequency

1. औसत ऑर्डर मूल्य की गणना

# Average Order Value
uk_data_group['avg_order_value']=uk_data_group['spent_money']/uk_data_group['num_transactions']
uk_data_group.head()
  num_days num_transactions num_units spent_money avg_order_value
CustomerID          
12346.0 0 1 74215 77183.60 77183.600000
12747.0 366 103 1275 4196.01 40.737961
12748.0 372 4596 25748 33719.73 7.336756
12749.0 209 199 1471 4090.88 20.557186
12820.0 323 59 722 942.34 15.971864

2. परचेज फ़्रीक्वेंसी की गणना

purchase_frequency=sum(uk_data_group['num_transactions'])/uk_data_group.shape[0]

3. रिपीट रेट और चर्न रेट की गणना

# Repeat Rate
repeat_rate=uk_data_group[uk_data_group.num_transactions > 1].shape[0]/uk_data_group.shape[0]
#Churn Rate
churn_rate=1-repeat_rate
purchase_frequency,repeat_rate,churn_rate
(90.37107880642694, 0.9818923743942872, 0.018107625605712774)

4. प्रॉफिट मार्जिन की गणना

प्रॉफिट मार्जिन आम तौर पर इस्तेमाल किया जाने वाला लाभप्रदता अनुपात है। यह दर्शाता है कि कुल बिक्री का कितना प्रतिशत लाभ के रूप में कमाया गया है। मान लें कि हमारे व्यवसाय में कुल बिक्री पर लगभग 5% लाभ है।

# Profit Margin
uk_data_group['profit_margin']=uk_data_group['spent_money']*0.05
uk_data_group.head()
  num_days num_transactions num_units spent_money avg_order_value profit_margin
CustomerID            
12346.0 0 1 74215 77183.60 77183.600000 3859.1800
12747.0 366 103 1275 4196.01 40.737961 209.8005
12748.0 372 4596 25748 33719.73 7.336756 1685.9865
12749.0 209 199 1471 4090.88 20.557186 204.5440
12820.0 323 59 722 942.34 15.971864 47.1170

5. कस्टमर लाइफ़टाइम वैल्यू की गणना

# Customer Value
uk_data_group['CLV']=(uk_data_group['avg_order_value']*purchase_frequency)/churn_rate
#Customer Lifetime Value
uk_data_group['cust_lifetime_value']=uk_data_group['CLV']*uk_data_group['profit_margin']
uk_data_group.head()
  num_days num_transactions num_units spent_money avg_order_value profit_margin CLV cust_lifetime_value
CustomerID                
12346.0 0 1 74215 77183.60 77183.600000 3859.1800 3.852060e+08 1.486579e+12
12747.0 366 103 1275 4196.01 40.737961 209.8005 2.033140e+05 4.265538e+07
12748.0 372 4596 25748 33719.73 7.336756 1685.9865 3.661610e+04 6.173424e+07
12749.0 209 199 1471 4090.88 20.557186 204.5440 1.025963e+05 2.098545e+07
12820.0 323 59 722 942.34 15.971864 47.1170 7.971198e+04 3.755789e+06

CLTV के लिए प्रेडिक्शन मॉडल

आइए CLTV प्रेडिक्शन मॉडल बनाते हैं।

यहाँ, आप Linear Regression मॉडल का उपयोग करके CLTV का पूर्वानुमान लगाने जा रहे हैं।

सबसे पहले ऊपर लोड और फ़िल्टर किए गए डेटा का उपयोग करें।

uk_data.head()
  CustomerID InvoiceDate InvoiceNo Quantity UnitPrice TotalPurchase month_yr
0 17850.0 2010-12-01 08:26:00 536365 6 2.55 15.30 Dec-2010
1 17850.0 2010-12-01 08:26:00 536365 6 3.39 20.34 Dec-2010
2 17850.0 2010-12-01 08:26:00 536365 8 2.75 22.00 Dec-2010
3 17850.0 2010-12-01 08:26:00 536365 6 3.39 20.34 Dec-2010
4 17850.0 2010-12-01 08:26:00 536365 6 3.39 20.34 Dec-2010

InvoiceDate से महीना और वर्ष निकालें।

uk_data['month_yr'] = uk_data['InvoiceDate'].apply(lambda x: x.strftime('%b-%Y'))
uk_data.head()
  CustomerID InvoiceDate InvoiceNo Quantity UnitPrice TotalPurchase month_yr
0 17850.0 2010-12-01 08:26:00 536365 6 2.55 15.30 Dec-2010
1 17850.0 2010-12-01 08:26:00 536365 6 3.39 20.34 Dec-2010
2 17850.0 2010-12-01 08:26:00 536365 8 2.75 22.00 Dec-2010
3 17850.0 2010-12-01 08:26:00 536365 6 3.39 20.34 Dec-2010
4 17850.0 2010-12-01 08:26:00 536365 6 3.39 20.34 Dec-2010

पिवट टेबल इनपुट के रूप में कॉलम लेती है और प्रविष्टियों को दो-आयामी टेबल में इस तरह समूहित करती है कि डेटा का बहु-आयामी सार-संक्षेप प्रदान हो सके।

sale=uk_data.pivot_table(index=['CustomerID'],columns=['month_yr'],values='TotalPurchase',aggfunc='sum',fill_value=0).reset_index()
sale.head()
month_yr CustomerID Apr-2011 Aug-2011 Dec-2010 Dec-2011 Feb-2011 Jan-2011 Jul-2011 Jun-2011 Mar-2011 May-2011 Nov-2011 Oct-2011 Sep-2011
0 12346.0 0.00 0.00 0.00 0.00 0.00 77183.60 0.00 0.00 0.00 0.00 0.00 0.00 0.00
1 12747.0 0.00 301.70 706.27 438.50 0.00 303.04 0.00 376.30 310.78 771.31 312.73 675.38 0.00
2 12748.0 1100.37 898.24 4228.13 1070.27 389.64 418.77 1113.27 2006.26 1179.37 2234.50 10639.23 2292.84 6148.84
3 12749.0 0.00 1896.13 0.00 763.06 0.00 0.00 0.00 0.00 0.00 859.10 572.59 0.00 0.00
4 12820.0 0.00 0.00 0.00 210.35 0.00 170.46 0.00 0.00 0.00 0.00 0.00 343.76 217.77

आइए सभी महीनों की बिक्री को जोड़ें।

sale['CLV']=sale.iloc[:,2:].sum(axis=1)
sale.head()
month_yr CustomerID Apr-2011 Aug-2011 Dec-2010 Dec-2011 Feb-2011 Jan-2011 Jul-2011 Jun-2011 Mar-2011 May-2011 Nov-2011 Oct-2011 Sep-2011 CLV
0 12346.0 0.00 0.00 0.00 0.00 0.00 77183.60 0.00 0.00 0.00 0.00 0.00 0.00 0.00 77183.60
1 12747.0 0.00 301.70 706.27 438.50 0.00 303.04 0.00 376.30 310.78 771.31 312.73 675.38 0.00 4196.01
2 12748.0 1100.37 898.24 4228.13 1070.27 389.64 418.77 1113.27 2006.26 1179.37 2234.50 10639.23 2292.84 6148.84 32619.36
3 12749.0 0.00 1896.13 0.00 763.06 0.00 0.00 0.00 0.00 0.00 859.10 572.59 0.00 0.00 4090.88
4 12820.0 0.00 0.00 0.00 210.35 0.00 170.46 0.00 0.00 0.00 0.00 0.00 343.76 217.77 942.34

फ़ीचर का चयन

यहाँ, आपको दिए गए कॉलम्स को दो प्रकार के वेरिएबल्स में बाँटना है: आश्रित (या टार्गेट वेरिएबल) और स्वतंत्र (या फ़ीचर वेरिएबल्स)। नवीनतम 6 महीनों को स्वतंत्र वेरिएबल्स के रूप में चुनें।

X=sale[['Dec-2011','Nov-2011', 'Oct-2011','Sep-2011','Aug-2011','Jul-2011']]
y=sale[['CLV']]

डेटा विभाजित करना

मॉडल के प्रदर्शन को समझने के लिए, डेटासेट को ट्रेनिंग सेट और टेस्ट सेट में बाँटना एक अच्छा तरीका है।

आइए train_test_split() फंक्शन का उपयोग करके डेटासेट को विभाजित करें। आपको 3 पैरामीटर पास करने होंगे: फीचर्स, टार्गेट और टेस्ट सेट का आकार। अतिरिक्त रूप से, आप reproducibility बनाए रखने के लिए random_state को एक सीड मान के रूप में उपयोग कर सकते हैं, जिसका अर्थ है कि जब भी आप डेटा को विभाजित करेंगे तो परिणाम प्रभावित नहीं होंगे। साथ ही, यदि random_state None है, तो रैंडम नंबर जेनरेटर रिकॉर्ड्स को रैंडम चुनने के लिए np.random का उपयोग करता है। यानी यदि आप सीड सेट नहीं करते, तो हर बार यह अलग होगा।

#split training set and test set
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y,random_state=0)

मॉडल विकास

पहले Linear Regression मॉड्यूल इम्पोर्ट करें और Linear Regression ऑब्जेक्ट बनाएँ। फिर fit() फंक्शन का उपयोग करके अपने मॉडल को ट्रेन सेट पर फिट करें और predict() फंक्शन का उपयोग करके टेस्ट सेट पर प्रेडिक्शन करें।

# import model
from sklearn.linear_model import LinearRegression

# instantiate
linreg = LinearRegression()

# fit the model to the training data (learn the coefficients)
linreg.fit(X_train, y_train)

# make predictions on the testing set
y_pred = linreg.predict(X_test)
# print the intercept and coefficients
print(linreg.intercept_)
print(linreg.coef_)
[208.50969617]
[[0.99880551 0.80381254 1.60226829 1.67433228 1.52860813 2.87959449]]

मॉडल डेटा को कितना अच्छा फिट करता है?

लिनियर मॉडल की समग्र फिट का आकलन करने के लिए हम R-squared मान का उपयोग करते हैं। R-squared, मॉडल द्वारा समझाई गई वैरिएंस का अनुपात है। R-squared का मान 0 और 1 के बीच होता है। R-squared का उच्च मान बेहतर माना जाता है क्योंकि यह दर्शाता है कि मॉडल द्वारा अधिक वैरिएंस समझाई गई है।

from sklearn import metrics

# compute the R Square for model
print("R-Square:",metrics.r2_score(y_test, y_pred))
R-Square: 0.9666074402817512

इस मॉडल का R-squared (0.96) उच्च है। यह मॉडल डेटा के लिए बेहतर फिट प्रदान करता है।

मॉडल मूल्यांकन

रिग्रेशन समस्याओं के लिए निम्न मूल्यांकन मेट्रिक्स का उपयोग किया जाता है (Ritchie Ng):

  • Mean Absolute Error (MAE) त्रुटियों के परिमाण का औसत है।
  • Mean Squared Error (MSE) त्रुटियों के वर्गों का औसत है।
  • Root Mean Squared Error (RMSE) त्रुटियों के वर्गों के औसत का वर्गमूल है।
# calculate MAE using scikit-learn
print("MAE:",metrics.mean_absolute_error(y_test,y_pred))

#calculate mean squared error
print("MSE",metrics.mean_squared_error(y_test, y_pred))
# compute the RMSE of our predictions
print("RMSE:",np.sqrt(metrics.mean_squared_error(y_test, y_pred)))
MAE: 595.0282284701234
MSE 2114139.8898678957
RMSE: 1454.0082151995896

RMSE, MSE और MAE की तुलना में अधिक लोकप्रिय है क्योंकि RMSE y के समान यूनिट्स में होता है, इसलिए इसे समझना आसान है।

CLTV के लाभ और सीमाएँ

CLTV आपको एक प्रभावी बिजनेस प्लान बनाने में मदद करता है और आपके व्यवसाय को स्केल करने का अवसर भी प्रदान करता है। CLTV सार्थक ग्राहक सेगमेंट खींचता है जो विभिन्न सेगमेंट की जरूरतों की पहचान करने में आपकी मदद कर सकते हैं।

Customer Lifetime Value एक उपकरण है, रणनीति नहीं। CLTV सबसे अधिक लाभदायक ग्राहकों का पता लगा सकता है, लेकिन उनसे लाभ कैसे कमाना है, यह आपकी रणनीति पर निर्भर करता है। आम तौर पर, CLTV मॉडलों को लेकर भ्रम होता है और उनका गलत उपयोग होता है। CLTV के प्रति जुनून कई बार नज़रियाहीनता पैदा कर सकता है। कंपनियाँ केवल सर्वश्रेष्ठ ग्राहक समूह को खोजने, उन पर ध्यान केंद्रित करने और व्यवसाय दोहराने पर ध्यान देती हैं, लेकिन अन्य ग्राहकों पर ध्यान देना भी महत्वपूर्ण है।

निष्कर्ष

बधाई हो, आप इस ट्यूटोरियल के अंत तक पहुँच गए हैं!

इस ट्यूटोरियल में, आपने Customer Lifetime Value के बारे में कई विवरण कवर किए। आपने जाना कि कस्टमर लाइफ़टाइम वैल्यू क्या है, CLTV की गणना के तरीके, Python में शुरुआत से CLTV का इम्प्लीमेंटेशन, CLTV के लिए एक प्रेडिक्शन मॉडल, और CLTV के लाभ व सीमाएँ। साथ ही, आपने pandas के कुछ बुनियादी कॉन्सेप्ट्स जैसे groupby और पिवट टेबल को भी कवर किया, जो चयनित कॉलम्स और पंक्तियों का सार-संक्षेप निकालने में उपयोगी हैं।

उम्मीद है, अब आप अपने स्वयं के डेटासेट का विश्लेषण करने के लिए CLTV की अवधारणा का उपयोग कर सकते हैं। इस ट्यूटोरियल को पढ़ने के लिए धन्यवाद!

यदि आप Python में ग्राहक डेटा का विश्लेषण करने के बारे में और सीखना चाहते हैं, तो DataCamp का Customer Analytics & A/B Testing in Python कोर्स करें।

विषय
Python
डेटा साइंस

Python कोर्स

कोर्स

Python परिचय

4 घंटा
7.1M
Python के साथ डेटा विश्लेषण की बुनियादी बातें सिर्फ चार घंटे में सीखें। यह ऑनलाइन पाठ्यक्रम Python इंटरफ़ेस का परिचय देगा और लोकप्रिय पैकेजों का अन्वेषण करेगा।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें

कोर्स

Python में Data Science परिचय

4 घंटा
503.7K
Python से डेटा विज्ञान में उतरें और अपने डेटा का प्रभावी विश्लेषण व विज़ुअलाइज़ेशन करना सीखें। कोई कोडिंग अनुभव या कौशल की आवश्यकता नहीं।
और देखेंRight Arrow