Open06

41
Comparative Study on Classification Techniques to Identify 3G Customers GUO Jing GD405, Motorola (China) Electronics Ltd. Beijing Second Branch, No.39A Zi Zhu Yuan Road, Hai Dian District, Beijing China, 100089 E-mail: [email protected] 1. Introduction Along with the worldwide spreading of 3G network, the mobile market is undergoing a major transition. In many countries, penetration rates are beginning to peak, and therefore, the operators are moving from a strategy of new customer acquisition to one of retention and increasing customer spending and profitability. Identifying which customers are likely to switch to using their 3G network will definitely be a major approach to achieve this goal.

Transcript of Open06

Page 1: Open06

Comparative Study on Classification

Techniques to Identify 3G Customers

GUO Jing

GD405, Motorola (China) Electronics Ltd. Beijing Second Branch, No.39A

Zi Zhu Yuan Road, Hai Dian District, Beijing China, 100089

E-mail: [email protected]

1. Introduction

Along with the worldwide spreading of 3G network, the mobile market is

undergoing a major transition. In many countries, penetration rates are beginning to

peak, and therefore, the operators are moving from a strategy of new customer

acquisition to one of retention and increasing customer spending and profitability.

Identifying which customers are likely to switch to using their 3G network will

definitely be a major approach to achieve this goal.

Many mobile operators already have tremendous customer usage and demographic

data in their system. However, data is characterized as recorded facts, while

information is the set of patterns or expectations that underlie the data. There is a

huge amount of information locked up there, in the operators’ databases - information

that is potentially important but has not yet been discovered or articulated. Our

mission is to bring it forth. As stated, the data, in many cases, already exist. It is a

matter of knowing which kind of data contributes more useful information and finding

the methodologies to make use of the data to present the information.

Data mining is the extraction of implicit, previously unknown, and potentially

useful information from data. The idea is to build computer programs that examine

through data bases automatically, seeking regularities or patterns. Strong patterns, if

found, will likely generalize to make accurate predictions on future data.

Page 2: Open06

The data mining task in this paper aims at solving a given classification problem for

which the objective is to accurately predict as many current 3G customers as possible

from the “holdout” sample provided (See Table 1). An original sample dataset of

20,000 2G network customers and 4,000 3G network customers has been provided

with more than 200 data fields. The target categorical variable is “Customer_Type”

(2G/3G). Of course, in the total 24,000 instances and 251 attributes, there exist

problems. Many of the attributes will be uninteresting and banal. Others will be

spurious, contingent on accidental coincidences in the particular dataset used. In a

word, the real data is imperfect.

Table 1 2G/3G Network Customers’ Distribution in Training/Test Set and

Prediction Set

Training /Testing Set Prediction Set

2G user number 3G user number 2G user number 3G user number

15K 3K 5K 1K

For this classification case, various models were built up to find strong patterns,

which will make accurate enough predictions on customer type (2G/3G). In this

paper, we will discuss the employed approaches, full technical details of algorithms as

well as the trained classification model. Although the trained model will never be the

elixir to all kinds of cases, the whole procedure of solving a practical problem will

surely leave us a trace to the whole forest. Finally, we discuss on the insight gained

from the model in terms of identifying current 2G customers with the potential to

switch to 3G.

It should be mentioned that all the analysis results and constructed pattern obtained

in this paper are based on a well-known data mining tool, Weka, which is a collection

of state-of-art machine learning algorithm and data preprocessing tools (See Figure 1).

Page 3: Open06

Figure 1 The Weka Explorer Interface

2. Data Preprocessing

We have 24,000 instances at hand, each of which contains 251 attributes.

Obviously there exist some problems in the raw data. Data type varies (nominal or

numeric), missing values exist and not all of attributes contain information we need.

Therefore, we take several steps to make sure the data for later machine learning is

reasonable and clean.

2.1 Remove the banal and uninteresting attributes

Table 2 The List of Removed Attributes in the Data Preprocessing Step

Removed Attributes Reasons

SERIAL_NUMBER {SERIAL_NUMBER<=3000|3G}{SERIAL_NUMBER>=3000|2G}This attribute is meaningless.

HS_CHANGE, TOT_PAST_DEMAND, All the instances share the same value in

Page 4: Open06

VAS_DRIVE_FLAG, VAS_VMN_FLAG, VAS_INFOSRV, VAS_SN_FLAG, VAS_CSMS_FLAG, DELINQ_FREQ, AVG_VAS_IDU, AVG_VAS_WLINK, AVG_VAS_MILL, AVG_VAS_IFSMS, AVG_VAS_#123#, AVG_VAS_CG, AVG_VAS_IEM, AVG_VAS_ISMS, AVG_VAS_SS, STD_VAS_IDU, STD_VAS_WLINK, STD_VAS_MILL, STD _VAS_IFSMS, STD _VAS_#123#, STD _VAS_CG, STD _VAS_IEM, STD_VAS_ISMS, STD _VAS_SS

the training/test set or the prediction set with regard to this attribute.

VAS_VMP_FLAG, TELE_CHANGE_FLAG

Expect for less than 5 instances, nearly all the instances share the same value with regard to this attribute.

TOT_DIS_1900, TOT_USAGE_DAYS There are other similar attributes (AVG_DIS_1900, AVG_USAGE_DAYS) in the data set.

2.2 Remove certain instances that are regarded as

outliers

In the training and testing set, there are 108 numeric attributes out of total 251 ones

that are regarded interesting. However, certain instances appear to have merely 0

values for most of the numeric instances. We can simply remove those outliers in the

first place by setting a lower enough threshold 0.001. The instances with 0 values

(below the threshold 0.001) for important numeric attributes like AVG_CALL

(Average number of calls in the last 6 months) will be deleted. In this way, we could

clean and reduce the data to 17577 instances out of 18000 in the training and testing

set.

2.3 Deal with missing values

The next enhancement to the data mining problem deals with the problems of

missing values. Missing values are endemic in real-world data sets. Most machine

learning methods make the implicit assumption that there is no particular significance

in the fact that a certain instance has an attribute value missing: the value is simply

Page 5: Open06

not known. However, some attribute like OCCUP_CD (occupation code) shows great

importance in the attribute selection procedure, at the same time contains more than

60% missing values. With regard to this kind of attribute, we should find the value of

the highest frequency (e.g. OTH appears to be the most common value in the attribute

OCCUP_CD) and replace the missing values with it. Since instances with missing

values often provide a good deal of information, taking this approach is much better

than simply ignoring all instances in which some of the values are missing.

3. Construct the Prediction Model

Experience shows that no single machine learning scheme is appropriate to all data

mining program. The universal learner is an idealistic fantasy. Real datasets vary,

and to obtain accurate models the bias of the learning algorithm must match the

structure of the domain. Therefore, after attribute selection, we build the prediction

model by learning a serial of models and combining them together to make trust

worthy and wiser decisions on true positives.

It should be mentioned that, since error rate on the training set is too optimistic to

be a good indicator of future performance, in this section we always measure a

classifier’s performance using 10 times cross-validation.

3.1 Attribute Selection

Most machine learning algorithms are designed to learn which are the most

appropriate attributes to use for making decision. For example, decision tree methods

choose the most promising attribute to split on at each point and should - in theory -

never select irrelevant or unhelpful attributes. Having more features should surely - in

theory - result in more discriminating power. However, in practice, adding irrelevant

or distracting attributes to a data set often ”confuses” machine learning systems.

In the data preprocessing step, we have managed to remove some obviously

Page 6: Open06

uninteresting attributes. However, there are still hundreds of attributes in the dataset

some of which may be irrelevant and could probably cause negative effects to the

machine learning schemes. Weka’s attribute selection panel provides us a tool to

specify an attribute subset evaluator and a search method. Subset evaluator takes a

subset of attributes and returns a numeric measure that guides the search. For

instance, CfsSubsetEval assesses the predictive ability of each attribute individually

and the degree of redundancy among them, preferring sets of attributes that are highly

correlated with the class but have low inter-correlation. Search methods traverse that

attribute space to find a good subset whose quality is measured by the chosen attribute

subset evaluator. For example, BestFirst performs greedy hill climbing with

backtracking, while RankSearch sorts attributes using a single-attribute evaluator and

then ranks promising subsets using an attribute subset evaluator. By this means, we

do a lot of experiments to specify certain attributes that should be retained for model

training as shown in the following list.

Table 3 The List of Retained Attributes in the Attribute Selection Step

AGE VAS_CND_FLAG AVG_MINS_INTT3

MARITAL_STATUS VAS_CNND_FLAG AVG_VAS_GAMES

HIGHEND_PROGRAM_FLAG VAS_NR_FLAG AVG_VAS_GPRS

NUM_ACT_TEL VAS_VM_FLAG AVG_VAS_CWAP

NUM_DELINQ_TEL VAS_AR_FLAG STD_VAS_GAMES

HS_AGE AVG_CALL_OB STD_VAS_GPRS

HS_MODEL AVG_CALL_MOB STD_VAS_CWAP

LOYALTY_POINTS_USAGE AVG_MINS_MOB STD_VAS_ESMS

BLACK_LIST_FLAG AVG_BILL_AMT CUSTOMER_TYPE

3.2 Decision Tree

The first machine learning scheme that we use to train the customer type model

derives from the simple divide-and-conquer algorithm for producing decision trees.

Page 7: Open06

We employ the popular decision tree algorithm C4.5 to construct model, which, with

its commercial successor C5.0, has emerged as the industry workhorse or off-the-shelf

machine learning. Compared with algorithm ID3, C4.5 has made a series of

improvements, which include methods dealing with numeric attributes, missing

values, noisy data, and generating rules from trees. Figure 2 shows the whole C4.5

training procedure and provides us a platform to think in terms of how data flows

through the system.

Figure 2 The Weka Knowledge Flow Interface

It is a surprising fact that the decision tree we construct with C4.5 is of great scale.

Most popular attribute seems to be HS_MODEL (Handset Model) where the tree

splits. There are 332 distinct handset models in the data set which could be merged

into several categories described in Table 4 and Figure 3. We hope that, by this

means, the decision tree induced from training data can be simplified, without loss of

accuracy.

Page 8: Open06

Table 4 Handset Models Merge into Different Categories

Handset Model Category Characteristic

baicj, bagia, bagib, bagic, bagid, baicb, bgcbj, bbcea, beccj (Total number: 9)

3G Very high proportions of customers with these handset models are 3G customers.

bahji, baggb, bdaac, bgbba, baggg, bagfc... (Total number: 145)

2G Few customers own handset of these kinds, and according to the training and test set, these handsets can only support 2G services.

Begac, bbacj, begaf, bdaab, bbafa, baibj… (Total number: 148)

0to1 Normal proportion patterns: 2G vs. 3G; instance number ranges from 0 to 100.

Bbbei, bbcdd, bbadi, bagfh, bgcac, bajci (Total number: 25)

1to5 Normal proportion patterns: 2G vs. 3G; instance number ranges from 101 to 500;

bgcab, baiai, baiaj, bbcch, bahfi (Total number:5)

5to10 Normal proportion patterns: 2G vs. 3G; instance number ranges from 501 to 1000.

Page 9: Open06

Figure 3 Handset Models Merge into Different Categories (in the histogram: blue stands for

3G instances while red stands for 2G instances)

Experiments have shown that this hardly affects the classification accuracy of C4.5

(evaluated by 10 times cross-validation). What the technique does affect is decision

tree size. The resulting trees are invariably much smaller than the original ones, even

though they perform almost the same. This comparison is shown in Table 5.

Table 5 Accuracy and Tree Size Comparison of Different Decision Tree Models

Before Merging Handset Models

After Merging Handset Models

Correctly Classified Instances 16124 (89.5778 %) 16110 (89.5%)

Confusion Matrix 3G 2G 1505 1495 | 3G 381 14619 | 2G

3G 2G 1614 1386 | 3G 504 14496 | 2G

Number of Leaves 773 240

Size of the tree 857 470

3.3 Lazy Classifier

We did plenty of experiments to find the second appropriate approach solving the

given classification problem to be Lazy learners, which store the training instances

and do no real work until classification time. IB1 is a basic instance-based learner

which finds the training instance closest in Euclidean distance to the given test

instance and predicts the same class as this training instance. If several instances

qualify as the closest, the first one found is used. IBk is a k-nearest-neighbors which

can be specified explicitly or determined automatically using leave-one-out cross-

validation, subject to an upper limit given by the specified value. In addition,

predictions from more than one neighbor can be weighted according to their distance

from the test instance. We set k to 3 to trade off between accuracy and complexity.

Results could be found in Table 6.

Table 6 Accuracy Comparison of Different Lazy Classifier

Page 10: Open06

1 nearest neighbour 3 nearest neighbour

Correctly Classified Instances 14919 (85.0522 %) 15488 (88.1152 %)

Confusion Matrix 3G 2G1538 1413 | 3G1209 13381 | 2G

3G 2G1501 1477 | 3G

612 13987 | 2G

3.4 Boosting

When wise people make critical decisions, they usually take into account the

opinions of several experts rather than relying on their own judgment or that of a

solitary trusted adviser. In data mining, an obvious approach to making decisions

more reliable is to combine the output of different models. The boosting method for

combining multiple models exploits this insight by explicitly seeking models that

complement one another. Boosting uses voting to combine the output of individual

models which are of the same type (here we employ C4.5). In boosting each new

model is influenced by the performance of those built previously, which means that

boosting encourages new models to become experts for instances handled incorrectly

by earlier ones. Boosting perhaps is the most powerful method to achieve true

positives. Results of boosting with learner AdaBoostingM1 is shown in Table 7.

Table 7 Results of Boosting with learner AdaBoostM1

Boosting with C4.5

Correctly Classified Instances 15571 (88.5874 %)

Confusion Matrix 3G 2G1775 1203 | 3G803 13796 | 2G

4. Conclusions

We have constructed many models with different machine learning algorithms.

According to 10 times cross-validation performance results, identifying true negatives

(2G customers) is much easier than identifying true positives (3G customers). Since

Page 11: Open06

the number of 3G instances in the training and test set is much smaller than the 2G’s,

there is not enough information identifying 3G customers out of massive 2G

customers. The data set at hand is limited, but we can make use of all kinds of

potentially useful data in the future to build a strong enough dataset in the first place.

As mentioned before, the real data is imperfect: Some parts are garbled, and some

are missing. Anything discovered will be inexact: There will be exceptions to every

rule and cases not covered by any rule. Therefore, algorithms need to be robust

enough to cope with imperfect data and to extract regularities that are inexact but

useful. There is no perfect thing in the universe, what we could do is to dig a little

deeper to make better prediction and make a step closer to the truth.

We combined all the meaningful models together to vote for the final decision on

classification. It is an exiting fact that the overlapped part of the classification results

derived from different algorithms and concepts is great (see Table 8), which also

proves that the models we gained is dependable to make future prediction. Finally we

successfully identified 884 3G customers out of the prediction set. The decision trees

derived from the given training and test set is of great scale, so we visualize one of

them in text form as an example, which can be found in Appendix A.

Table 8 A segment of Prediction Results Decided by Three Different Algorithms: AdaBoostM1,

LazyIBk, C4.5

AdaBoostM1 LazyIBk C4.5 Comparison

3G 3G 3G

2G 2G 2G

2G 2G 2G

2G 2G 2G

2G 2G 2G

2G 2G 2G

2G 2G 2G

2G 2G 2G

2G 3G 3G +

2G 2G 2G

Page 12: Open06

2G 2G 2G

2G 2G 2G

2G 2G 2G

2G 3G 3G +

3G 2G 2G +

2G 2G 2G

2G 2G 2G

3G 3G 3G

2G 3G 3G +

2G 2G 2G

2G 3G 3G +

2G 2G 2G

2G 2G 2G

2G 2G 2G

3G 3G 3G

2G 2G 2G

3G 3G 3G

The “false positives” which belong to 2G category but are classified into 3G

category answers our remaining question - how to identify current 2G customers with

the potential switching to 3G. According to the trained model, the reason why those

false positives are recognized to be 3G customers is that they must have something in

common with the real 3G customers. Some of them may use brand new handset

model which is developed to fulfill 3G purpose, some of them may play a lot of

games, while others would like to download via GPRS. The false positives in the

confusion matrix could tell us the truth and simply give us valuable information to

which customers the operators should pay more attention, when they intend to gain

more 3G customers and increase their customer spending and profitability.

Appendix A

=== Run information ===

Scheme: weka.classifiers.trees.J48 -C 0.25 -M 2

Relation: Classify_2G_3G-weka.filters.unsupervised.instance.RemoveWithValues-S0.0010-C71-Lfirst-last-

weka.filters.unsupervised.attribute.Remove-R2,4-6,8-15,17,19-21,23,25-28,31-46,49-50,53-54,56-63,65-75,77-

88,91-104,106-115,117,119-121,123-193,195,197,200-219

Page 13: Open06

Instances: 17577

Attributes: 27

AGE

MARITAL_STATUS

HIGHEND_PROGRAM_FLAG

NUM_ACT_TEL

NUM_DELINQ_TEL

HS_AGE

HS_MODEL

LOYALTY_POINTS_USAGE

BLACK_LIST_FLAG

VAS_CND_FLAG

VAS_CNND_FLAG

VAS_NR_FLAG

VAS_VM_FLAG

VAS_AR_FLAG

AVG_BILL_AMT

AVG_CALL_OB

AVG_CALL_MOB

AVG_MINS_MOB

AVG_MINS_INTT3

AVG_VAS_GAMES

AVG_VAS_GPRS

AVG_VAS_CWAP

STD_VAS_GAMES

STD_VAS_GPRS

STD_VAS_CWAP

STD_VAS_ESMS

CUSTOMER_TYPE

Test mode: 10-fold cross-validation

=== Classifier model (full training set) ===

J48 pruned tree

------------------

HS_AGE <= 3

| HS_MODEL = 5to10

| | AVG_VAS_GPRS <= 0

| | | HS_AGE <= 1

| | | | AVG_VAS_GAMES <= 6292.17

| | | | | HIGHEND_PROGRAM_FLAG = TRUE: 3G (4.0/1.0)

| | | | | HIGHEND_PROGRAM_FLAG = FALSE

| | | | | | HS_AGE <= 0

Page 14: Open06

| | | | | | | VAS_AR_FLAG = TRUE

| | | | | | | | VAS_VM_FLAG = TRUE

| | | | | | | | | AVG_CALL_OB <= 45.83: 2G (3.19/1.0)

| | | | | | | | | AVG_CALL_OB > 45.83: 3G (10.38/1.1)

| | | | | | | | VAS_VM_FLAG = FALSE

| | | | | | | | | AVG_MINS_INTT3 <= 0.09: 2G (4.0)

| | | | | | | | | AVG_MINS_INTT3 > 0.09: 3G (2.0)

| | | | | | | VAS_AR_FLAG = FALSE

| | | | | | | | AVG_CALL_MOB <= 90

| | | | | | | | | AVG_VAS_GAMES <= 111.17: 2G (22.57/2.0)

| | | | | | | | | AVG_VAS_GAMES > 111.17

| | | | | | | | | | MARITAL_STATUS = M: 2G (4.1/1.0)

| | | | | | | | | | MARITAL_STATUS = S: 3G (2.1)

| | | | | | | | AVG_CALL_MOB > 90: 3G (6.1/1.0)

| | | | | | HS_AGE > 0: 2G (24.38/2.19)

| | | | AVG_VAS_GAMES > 6292.17

| | | | | LOYALTY_POINTS_USAGE <= 2000

| | | | | | VAS_VM_FLAG = TRUE

| | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | LOYALTY_POINTS_USAGE <= 500

| | | | | | | | | VAS_AR_FLAG = TRUE

| | | | | | | | | | AGE <= 36: 3G (10.0/1.0)

| | | | | | | | | | AGE > 36: 2G (4.0)

| | | | | | | | | VAS_AR_FLAG = FALSE

| | | | | | | | | | MARITAL_STATUS = M

| | | | | | | | | | | AVG_BILL_AMT <= 186.05: 2G (5.0/1.0)

| | | | | | | | | | | AVG_BILL_AMT > 186.05: 3G (6.0)

| | | | | | | | | | MARITAL_STATUS = S: 3G (21.1/8.0)

| | | | | | | | LOYALTY_POINTS_USAGE > 500: 2G (2.0)

| | | | | | | NUM_ACT_TEL > 1

| | | | | | | | VAS_AR_FLAG = TRUE: 3G (11.19/3.1)

| | | | | | | | VAS_AR_FLAG = FALSE

| | | | | | | | | AVG_CALL_OB <= 46.5: 2G (6.29/1.1)

| | | | | | | | | AVG_CALL_OB > 46.5: 3G (10.0/1.0)

| | | | | | VAS_VM_FLAG = FALSE

| | | | | | | AVG_MINS_INTT3 <= 0.01

| | | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | | AVG_VAS_GAMES <= 25097.5: 2G (3.0)

| | | | | | | | | AVG_VAS_GAMES > 25097.5: 3G (14.19/1.1)

| | | | | | | | NUM_ACT_TEL > 1: 3G (16.1/1.1)

| | | | | | | AVG_MINS_INTT3 > 0.01: 3G (4.1/2.0)

| | | | | LOYALTY_POINTS_USAGE > 2000: 3G (12.0)

| | | HS_AGE > 1

| | | | STD_VAS_GAMES <= 621055.81: 2G (111.57/7.19)

Page 15: Open06

| | | | STD_VAS_GAMES > 621055.81

| | | | | AGE <= 41: 3G (8.14)

| | | | | AGE > 41: 2G (3.15/0.15)

| | AVG_VAS_GPRS > 0: 3G (47.34/5.29)

| HS_MODEL = 3g: 3G (996.13/71.06)

| HS_MODEL = 0to1

| | STD_VAS_GAMES <= 227724.49

| | | AVG_BILL_AMT <= 189.33: 2G (563.06/62.96)

| | | AVG_BILL_AMT > 189.33

| | | | HS_AGE <= 0

| | | | | STD_VAS_GPRS <= 78870.59

| | | | | | VAS_CNND_FLAG = TRUE

| | | | | | | NUM_ACT_TEL <= 1: 2G (6.0/1.0)

| | | | | | | NUM_ACT_TEL > 1: 3G (7.0)

| | | | | | VAS_CNND_FLAG = FALSE

| | | | | | | BLACK_LIST_FLAG = TRUE

| | | | | | | | VAS_AR_FLAG = TRUE: 3G (3.0)

| | | | | | | | VAS_AR_FLAG = FALSE: 2G (3.0/1.0)

| | | | | | | BLACK_LIST_FLAG = FALSE

| | | | | | | | STD_VAS_GAMES <= 47109.12

| | | | | | | | | LOYALTY_POINTS_USAGE <= 2000

| | | | | | | | | | NUM_ACT_TEL <= 2

| | | | | | | | | | | LOYALTY_POINTS_USAGE <= 500

| | | | | | | | | | | | VAS_AR_FLAG = TRUE

| | | | | | | | | | | | | HIGHEND_PROGRAM_FLAG = TRUE: 2G (11.0/2.0)

| | | | | | | | | | | | | HIGHEND_PROGRAM_FLAG = FALSE

| | | | | | | | | | | | | | AVG_VAS_GAMES <= 3155.17

| | | | | | | | | | | | | | | AVG_VAS_GAMES <= 197.17: 2G (18.64/6.64)

| | | | | | | | | | | | | | | AVG_VAS_GAMES > 197.17: 3G (7.0/1.0)

| | | | | | | | | | | | | | AVG_VAS_GAMES > 3155.17: 2G (18.0/4.0)

| | | | | | | | | | | | VAS_AR_FLAG = FALSE

| | | | | | | | | | | | | AVG_BILL_AMT <= 265.54: 2G (22.32/1.0)

| | | | | | | | | | | | | AVG_BILL_AMT > 265.54

| | | | | | | | | | | | | | AVG_BILL_AMT <= 309.15: 3G (7.32/2.0)

| | | | | | | | | | | | | | AVG_BILL_AMT > 309.15: 2G (6.32/0.32)

| | | | | | | | | | | LOYALTY_POINTS_USAGE > 500

| | | | | | | | | | | | VAS_VM_FLAG = TRUE

| | | | | | | | | | | | | AVG_BILL_AMT <= 275.33: 3G (3.0/1.0)

| | | | | | | | | | | | | AVG_BILL_AMT > 275.33: 2G (2.0)

| | | | | | | | | | | | VAS_VM_FLAG = FALSE: 3G (2.0)

| | | | | | | | | | NUM_ACT_TEL > 2

| | | | | | | | | | | NUM_ACT_TEL <= 3: 3G (6.0)

| | | | | | | | | | | NUM_ACT_TEL > 3: 2G (3.64/1.32)

| | | | | | | | | LOYALTY_POINTS_USAGE > 2000: 2G (30.0/3.0)

Page 16: Open06

| | | | | | | | STD_VAS_GAMES > 47109.12

| | | | | | | | | STD_VAS_GAMES <= 122633.47

| | | | | | | | | | AVG_MINS_INTT3 <= 0.12: 3G (14.32)

| | | | | | | | | | AVG_MINS_INTT3 > 0.12

| | | | | | | | | | | AVG_VAS_GAMES <= 70594.83: 2G (2.0)

| | | | | | | | | | | AVG_VAS_GAMES > 70594.83: 3G (2.0)

| | | | | | | | | STD_VAS_GAMES > 122633.47: 2G (7.0)

| | | | | STD_VAS_GPRS > 78870.59: 3G (27.0/3.0)

| | | | HS_AGE > 0

| | | | | STD_VAS_GAMES <= 4238.13: 2G (73.32/6.32)

| | | | | STD_VAS_GAMES > 4238.13

| | | | | | HIGHEND_PROGRAM_FLAG = TRUE

| | | | | | | AGE <= 44: 2G (28.64/2.0)

| | | | | | | AGE > 44

| | | | | | | | AVG_VAS_GAMES <= 11873.83: 2G (2.18)

| | | | | | | | AVG_VAS_GAMES > 11873.83: 3G (4.18/0.18)

| | | | | | HIGHEND_PROGRAM_FLAG = FALSE

| | | | | | | VAS_AR_FLAG = TRUE

| | | | | | | | AVG_VAS_GAMES <= 2257.83: 3G (3.0)

| | | | | | | | AVG_VAS_GAMES > 2257.83: 2G (66.28/13.96)

| | | | | | | VAS_AR_FLAG = FALSE

| | | | | | | | MARITAL_STATUS = M

| | | | | | | | | AVG_CALL_OB <= 94.5: 3G (5.36/1.0)

| | | | | | | | | AVG_CALL_OB > 94.5: 2G (10.47)

| | | | | | | | MARITAL_STATUS = S

| | | | | | | | | LOYALTY_POINTS_USAGE <= 2500: 2G (25.85/4.64)

| | | | | | | | | LOYALTY_POINTS_USAGE > 2500: 3G (2.64/0.64)

| | STD_VAS_GAMES > 227724.49

| | | VAS_AR_FLAG = TRUE

| | | | VAS_NR_FLAG = TRUE: 3G (7.64/1.0)

| | | | VAS_NR_FLAG = FALSE

| | | | | VAS_CNND_FLAG = TRUE

| | | | | | HS_AGE <= 1: 3G (13.0/3.0)

| | | | | | HS_AGE > 1

| | | | | | | AVG_VAS_GPRS <= 170177.17: 2G (7.0)

| | | | | | | AVG_VAS_GPRS > 170177.17: 3G (3.0)

| | | | | VAS_CNND_FLAG = FALSE

| | | | | | AVG_BILL_AMT <= 174.18

| | | | | | | MARITAL_STATUS = M

| | | | | | | | NUM_ACT_TEL <= 1: 2G (2.0)

| | | | | | | | NUM_ACT_TEL > 1: 3G (2.0)

| | | | | | | MARITAL_STATUS = S: 2G (7.0)

| | | | | | AVG_BILL_AMT > 174.18

| | | | | | | HIGHEND_PROGRAM_FLAG = TRUE

Page 17: Open06

| | | | | | | | AGE <= 39

| | | | | | | | | STD_VAS_GPRS <= 2203464.56

| | | | | | | | | | MARITAL_STATUS = M

| | | | | | | | | | | AVG_CALL_MOB <= 415.83: 2G (3.44)

| | | | | | | | | | | AVG_CALL_MOB > 415.83: 3G (2.0)

| | | | | | | | | | MARITAL_STATUS = S

| | | | | | | | | | | AVG_BILL_AMT <= 499.12: 3G (6.0/1.0)

| | | | | | | | | | | AVG_BILL_AMT > 499.12: 2G (13.29/2.74)

| | | | | | | | | STD_VAS_GPRS > 2203464.56: 3G (3.74)

| | | | | | | | AGE > 39: 3G (9.85/0.34)

| | | | | | | HIGHEND_PROGRAM_FLAG = FALSE

| | | | | | | | AVG_MINS_INTT3 <= 0.4

| | | | | | | | | MARITAL_STATUS = M

| | | | | | | | | | AGE <= 49: 3G (16.63/2.4)

| | | | | | | | | | AGE > 49: 2G (2.06/0.06)

| | | | | | | | | MARITAL_STATUS = S

| | | | | | | | | | VAS_VM_FLAG = TRUE

| | | | | | | | | | | NUM_ACT_TEL <= 0: 2G (2.0)

| | | | | | | | | | | NUM_ACT_TEL > 0

| | | | | | | | | | | | STD_VAS_GAMES <= 432755.93: 2G (3.8/1.19)

| | | | | | | | | | | | STD_VAS_GAMES > 432755.93: 3G (13.8/1.0)

| | | | | | | | | | VAS_VM_FLAG = FALSE

| | | | | | | | | | | STD_VAS_GAMES <= 563110.05: 3G (4.6)

| | | | | | | | | | | STD_VAS_GAMES > 563110.05: 2G (4.39/0.39)

| | | | | | | | AVG_MINS_INTT3 > 0.4: 3G (15.91/0.32)

| | | VAS_AR_FLAG = FALSE

| | | | VAS_CNND_FLAG = TRUE: 3G (3.0/1.0)

| | | | VAS_CNND_FLAG = FALSE

| | | | | HS_AGE <= 2

| | | | | | MARITAL_STATUS = M

| | | | | | | AVG_VAS_GPRS <= 118670.33

| | | | | | | | VAS_VM_FLAG = TRUE

| | | | | | | | | AGE <= 44

| | | | | | | | | | NUM_ACT_TEL <= 2

| | | | | | | | | | | HS_AGE <= 0

| | | | | | | | | | | | AVG_BILL_AMT <= 131.33: 2G (2.0)

| | | | | | | | | | | | AVG_BILL_AMT > 131.33

| | | | | | | | | | | | | AVG_CALL_OB <= 61.33: 3G (3.0)

| | | | | | | | | | | | | AVG_CALL_OB > 61.33: 2G (2.0)

| | | | | | | | | | | HS_AGE > 0: 2G (2.0/1.0)

| | | | | | | | | | NUM_ACT_TEL > 2: 3G (3.06)

| | | | | | | | | AGE > 44: 2G (12.48/1.07)

| | | | | | | | VAS_VM_FLAG = FALSE

| | | | | | | | | LOYALTY_POINTS_USAGE <= 1500: 2G (7.73/0.32)

Page 18: Open06

| | | | | | | | | LOYALTY_POINTS_USAGE > 1500

| | | | | | | | | | AGE <= 39: 2G (2.0)

| | | | | | | | | | AGE > 39: 3G (2.0)

| | | | | | | AVG_VAS_GPRS > 118670.33: 3G (2.41)

| | | | | | MARITAL_STATUS = S

| | | | | | | AVG_VAS_GAMES <= 1861379.5

| | | | | | | | AVG_MINS_INTT3 <= 0.04

| | | | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | | | HS_AGE <= 1

| | | | | | | | | | | HS_AGE <= 0

| | | | | | | | | | | | AGE <= 27: 2G (8.91/0.32)

| | | | | | | | | | | | AGE > 27: 3G (6.32/2.32)

| | | | | | | | | | | HS_AGE > 0

| | | | | | | | | | | | AVG_BILL_AMT <= 142.62: 2G (2.59/0.59)

| | | | | | | | | | | | AVG_BILL_AMT > 142.62: 3G (5.59/1.59)

| | | | | | | | | | HS_AGE > 1: 2G (8.0)

| | | | | | | | | NUM_ACT_TEL > 1

| | | | | | | | | | VAS_VM_FLAG = TRUE

| | | | | | | | | | | NUM_ACT_TEL <= 2

| | | | | | | | | | | | AVG_VAS_GPRS <= 153838

| | | | | | | | | | | | | AVG_CALL_OB <= 108.5: 2G (2.0)

| | | | | | | | | | | | | AVG_CALL_OB > 108.5: 3G (3.0)

| | | | | | | | | | | | AVG_VAS_GPRS > 153838: 2G (3.0)

| | | | | | | | | | | NUM_ACT_TEL > 2: 3G (3.19/1.0)

| | | | | | | | | | VAS_VM_FLAG = FALSE: 3G (4.0/1.0)

| | | | | | | | AVG_MINS_INTT3 > 0.04: 3G (3.0/1.0)

| | | | | | | AVG_VAS_GAMES > 1861379.5: 3G (6.0)

| | | | | HS_AGE > 2

| | | | | | AVG_CALL_OB <= 149.33: 2G (21.32/1.0)

| | | | | | AVG_CALL_OB > 149.33: 3G (2.32)

| HS_MODEL = 1to5

| | AVG_VAS_GPRS <= 103

| | | HS_AGE <= 0

| | | | AVG_CALL_MOB <= 34

| | | | | AVG_MINS_INTT3 <= 0.36: 2G (185.83/36.32)

| | | | | AVG_MINS_INTT3 > 0.36

| | | | | | AVG_BILL_AMT <= 168.85: 2G (4.32/0.32)

| | | | | | AVG_BILL_AMT > 168.85: 3G (9.32/2.0)

| | | | AVG_CALL_MOB > 34

| | | | | AGE <= 31

| | | | | | VAS_NR_FLAG = TRUE: 2G (2.0)

| | | | | | VAS_NR_FLAG = FALSE

| | | | | | | VAS_CNND_FLAG = TRUE: 3G (7.4)

| | | | | | | VAS_CNND_FLAG = FALSE

Page 19: Open06

| | | | | | | | NUM_ACT_TEL <= 2

| | | | | | | | | AVG_CALL_OB <= 264.17

| | | | | | | | | | AGE <= 27

| | | | | | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | | | | | STD_VAS_GAMES <= 62089.64

| | | | | | | | | | | | | VAS_VM_FLAG = TRUE: 3G (6.32)

| | | | | | | | | | | | | VAS_VM_FLAG = FALSE

| | | | | | | | | | | | | | AVG_MINS_MOB <= 105.92: 3G (4.0)

| | | | | | | | | | | | | | AVG_MINS_MOB > 105.92: 2G (2.0)

| | | | | | | | | | | | STD_VAS_GAMES > 62089.64

| | | | | | | | | | | | | STD_VAS_GAMES <= 1267970.59: 2G (19.0/4.0)

| | | | | | | | | | | | | STD_VAS_GAMES > 1267970.59: 3G (2.32)

| | | | | | | | | | | NUM_ACT_TEL > 1

| | | | | | | | | | | | AVG_MINS_MOB <= 244.04: 2G (9.0/2.0)

| | | | | | | | | | | | AVG_MINS_MOB > 244.04: 3G (3.0)

| | | | | | | | | | AGE > 27

| | | | | | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | | | | | AVG_MINS_INTT3 <= 1.33: 3G (21.64)

| | | | | | | | | | | | AVG_MINS_INTT3 > 1.33: 2G (2.0)

| | | | | | | | | | | NUM_ACT_TEL > 1

| | | | | | | | | | | | AVG_VAS_GAMES <= 5692.67

| | | | | | | | | | | | | AGE <= 29: 2G (5.0)

| | | | | | | | | | | | | AGE > 29

| | | | | | | | | | | | | | AVG_MINS_MOB <= 85.62: 2G (3.0/1.0)

| | | | | | | | | | | | | | AVG_MINS_MOB > 85.62: 3G (2.0)

| | | | | | | | | | | | AVG_VAS_GAMES > 5692.67: 3G (8.0/1.0)

| | | | | | | | | AVG_CALL_OB > 264.17: 3G (15.11)

| | | | | | | | NUM_ACT_TEL > 2: 3G (7.65/0.25)

| | | | | AGE > 31

| | | | | | VAS_AR_FLAG = TRUE

| | | | | | | AVG_VAS_GAMES <= 76

| | | | | | | | AGE <= 32: 3G (3.02/1.02)

| | | | | | | | AGE > 32: 2G (20.49/2.32)

| | | | | | | AVG_VAS_GAMES > 76

| | | | | | | | VAS_CNND_FLAG = TRUE: 3G (4.6)

| | | | | | | | VAS_CNND_FLAG = FALSE

| | | | | | | | | AVG_CALL_MOB <= 58.33: 3G (11.32)

| | | | | | | | | AVG_CALL_MOB > 58.33

| | | | | | | | | | AVG_VAS_GAMES <= 130424.17

| | | | | | | | | | | LOYALTY_POINTS_USAGE <= 500

| | | | | | | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | | | | | | HIGHEND_PROGRAM_FLAG = TRUE: 3G (2.0)

| | | | | | | | | | | | | HIGHEND_PROGRAM_FLAG = FALSE: 2G (10.0/2.0)

| | | | | | | | | | | | NUM_ACT_TEL > 1: 3G (13.21/3.0)

Page 20: Open06

| | | | | | | | | | | LOYALTY_POINTS_USAGE > 500: 3G (5.6)

| | | | | | | | | | AVG_VAS_GAMES > 130424.17: 2G (5.19/1.0)

| | | | | | VAS_AR_FLAG = FALSE

| | | | | | | STD_VAS_GAMES <= 74538.37: 2G (78.0/16.0)

| | | | | | | STD_VAS_GAMES > 74538.37

| | | | | | | | AVG_CALL_MOB <= 94.67

| | | | | | | | | AVG_MINS_MOB <= 26.36: 3G (3.0)

| | | | | | | | | AVG_MINS_MOB > 26.36: 2G (16.32/2.0)

| | | | | | | | AVG_CALL_MOB > 94.67: 3G (9.0)

| | | HS_AGE > 0

| | | | AVG_VAS_GAMES <= 159654.17: 2G (503.19/44.96)

| | | | AVG_VAS_GAMES > 159654.17

| | | | | AVG_MINS_INTT3 <= 0.19

| | | | | | HIGHEND_PROGRAM_FLAG = TRUE: 3G (2.0)

| | | | | | HIGHEND_PROGRAM_FLAG = FALSE

| | | | | | | VAS_AR_FLAG = TRUE

| | | | | | | | VAS_VM_FLAG = TRUE

| | | | | | | | | MARITAL_STATUS = M: 3G (7.25/1.0)

| | | | | | | | | MARITAL_STATUS = S

| | | | | | | | | | AVG_VAS_GAMES <= 1020748.67: 2G (16.75/3.75)

| | | | | | | | | | AVG_VAS_GAMES > 1020748.67: 3G (5.0)

| | | | | | | | VAS_VM_FLAG = FALSE: 2G (4.0)

| | | | | | | VAS_AR_FLAG = FALSE

| | | | | | | | LOYALTY_POINTS_USAGE <= 1600

| | | | | | | | | AVG_BILL_AMT <= 108.41: 2G (14.0)

| | | | | | | | | AVG_BILL_AMT > 108.41

| | | | | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | | | | HS_AGE <= 1: 2G (8.0/1.0)

| | | | | | | | | | | HS_AGE > 1

| | | | | | | | | | | | VAS_VM_FLAG = TRUE

| | | | | | | | | | | | | AGE <= 19: 3G (2.0)

| | | | | | | | | | | | | AGE > 19: 2G (18.32/3.32)

| | | | | | | | | | | | VAS_VM_FLAG = FALSE

| | | | | | | | | | | | | STD_VAS_GAMES <= 778009.36: 3G (2.32)

| | | | | | | | | | | | | STD_VAS_GAMES > 778009.36: 2G (2.0)

| | | | | | | | | | NUM_ACT_TEL > 1

| | | | | | | | | | | AGE <= 39: 3G (9.0)

| | | | | | | | | | | AGE > 39

| | | | | | | | | | | | AGE <= 52: 2G (8.0)

| | | | | | | | | | | | AGE > 52

| | | | | | | | | | | | | AVG_BILL_AMT <= 207.38: 2G (4.0/1.0)

| | | | | | | | | | | | | AVG_BILL_AMT > 207.38: 3G (2.0)

| | | | | | | | LOYALTY_POINTS_USAGE > 1600

| | | | | | | | | AVG_BILL_AMT <= 332.31: 3G (3.0)

Page 21: Open06

| | | | | | | | | AVG_BILL_AMT > 332.31: 2G (2.0)

| | | | | AVG_MINS_INTT3 > 0.19: 3G (6.64/1.0)

| | AVG_VAS_GPRS > 103

| | | VAS_CND_FLAG = TRUE

| | | | HS_AGE <= 0

| | | | | AVG_MINS_INTT3 <= 0.06: 3G (50.32/9.0)

| | | | | AVG_MINS_INTT3 > 0.06

| | | | | | AVG_BILL_AMT <= 564.66

| | | | | | | STD_VAS_GAMES <= 130108.67: 2G (5.0)

| | | | | | | STD_VAS_GAMES > 130108.67: 3G (3.0/1.0)

| | | | | | AVG_BILL_AMT > 564.66: 3G (2.0)

| | | | HS_AGE > 0

| | | | | NUM_ACT_TEL <= 2

| | | | | | VAS_CNND_FLAG = TRUE

| | | | | | | VAS_VM_FLAG = TRUE: 3G (5.0)

| | | | | | | VAS_VM_FLAG = FALSE: 2G (3.0/1.0)

| | | | | | VAS_CNND_FLAG = FALSE

| | | | | | | VAS_AR_FLAG = TRUE

| | | | | | | | HS_AGE <= 1: 3G (7.0/1.0)

| | | | | | | | HS_AGE > 1

| | | | | | | | | AGE <= 29: 3G (5.0/1.0)

| | | | | | | | | AGE > 29

| | | | | | | | | | AVG_CALL_OB <= 42.33: 3G (2.0)

| | | | | | | | | | AVG_CALL_OB > 42.33: 2G (9.32)

| | | | | | | VAS_AR_FLAG = FALSE

| | | | | | | | HS_AGE <= 2

| | | | | | | | | AVG_VAS_GAMES <= 4809023.33: 2G (23.0/2.0)

| | | | | | | | | AVG_VAS_GAMES > 4809023.33: 3G (2.0)

| | | | | | | | HS_AGE > 2

| | | | | | | | | AGE <= 35: 2G (2.0)

| | | | | | | | | AGE > 35: 3G (5.0)

| | | | | NUM_ACT_TEL > 2: 3G (12.83/2.64)

| | | VAS_CND_FLAG = FALSE: 2G (2.0)

| HS_MODEL = 2g: 2G (54.72/0.39)

HS_AGE > 3

| AVG_VAS_GPRS <= 94.5

| | HS_MODEL = 5to10: 2G (3551.33/209.26)

| | HS_MODEL = 3g

| | | HS_AGE <= 7: 3G (171.79/26.63)

| | | HS_AGE > 7

| | | | HS_AGE <= 8: 3G (6.12/0.1)

| | | | HS_AGE > 8: 2G (7.49/0.2)

| | HS_MODEL = 0to1

| | | AVG_BILL_AMT <= 205.56: 2G (1333.42/57.55)

Page 22: Open06

| | | AVG_BILL_AMT > 205.56

| | | | STD_VAS_GAMES <= 26799.55

| | | | | LOYALTY_POINTS_USAGE <= 3300: 2G (348.69/37.62)

| | | | | LOYALTY_POINTS_USAGE > 3300

| | | | | | AVG_MINS_MOB <= 298.94: 2G (12.15/3.0)

| | | | | | AVG_MINS_MOB > 298.94: 3G (4.0)

| | | | STD_VAS_GAMES > 26799.55

| | | | | VAS_VM_FLAG = TRUE: 2G (195.03/40.77)

| | | | | VAS_VM_FLAG = FALSE

| | | | | | VAS_AR_FLAG = TRUE

| | | | | | | LOYALTY_POINTS_USAGE <= 800

| | | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | | AVG_BILL_AMT <= 314.74: 3G (6.0)

| | | | | | | | | AVG_BILL_AMT > 314.74: 2G (11.15/2.15)

| | | | | | | | NUM_ACT_TEL > 1

| | | | | | | | | MARITAL_STATUS = M

| | | | | | | | | | AGE <= 35: 3G (2.1/0.05)

| | | | | | | | | | AGE > 35: 2G (9.16/0.2)

| | | | | | | | | MARITAL_STATUS = S: 2G (7.98/1.06)

| | | | | | | LOYALTY_POINTS_USAGE > 800: 2G (4.0/2.0)

| | | | | | VAS_AR_FLAG = FALSE

| | | | | | | AVG_MINS_INTT3 <= 0.53

| | | | | | | | AVG_MINS_MOB <= 119.89: 2G (11.0)

| | | | | | | | AVG_MINS_MOB > 119.89

| | | | | | | | | HS_AGE <= 14: 3G (12.46/1.0)

| | | | | | | | | HS_AGE > 14

| | | | | | | | | | AVG_VAS_GAMES <= 121961.67: 2G (5.15/1.15)

| | | | | | | | | | AVG_VAS_GAMES > 121961.67: 3G (4.0/1.0)

| | | | | | | AVG_MINS_INTT3 > 0.53: 3G (3.0/1.0)

| | HS_MODEL = 1to5: 2G (6496.0/371.28)

| | HS_MODEL = 2g: 2G (514.98/1.05)

| AVG_VAS_GPRS > 94.5

| | HS_AGE <= 8

| | | HS_MODEL = 5to10

| | | | BLACK_LIST_FLAG = TRUE: 2G (2.18/0.09)

| | | | BLACK_LIST_FLAG = FALSE

| | | | | HS_AGE <= 5: 3G (15.06/1.18)

| | | | | HS_AGE > 5

| | | | | | AVG_MINS_INTT3 <= 0.42

| | | | | | | VAS_AR_FLAG = TRUE

| | | | | | | | STD_VAS_GPRS <= 823082.09: 2G (7.27/1.09)

| | | | | | | | STD_VAS_GPRS > 823082.09: 3G (3.0)

| | | | | | | VAS_AR_FLAG = FALSE: 2G (9.35/1.27)

| | | | | | AVG_MINS_INTT3 > 0.42: 3G (3.71/0.18)

Page 23: Open06

| | | HS_MODEL = 3g

| | | | HS_AGE <= 6

| | | | | VAS_NR_FLAG = TRUE: 3G (3.46/1.23)

| | | | | VAS_NR_FLAG = FALSE

| | | | | | AVG_VAS_GPRS <= 239502.67: 3G (24.69/0.23)

| | | | | | AVG_VAS_GPRS > 239502.67

| | | | | | | HIGHEND_PROGRAM_FLAG = TRUE

| | | | | | | | NUM_ACT_TEL <= 1: 3G (8.23/0.23)

| | | | | | | | NUM_ACT_TEL > 1

| | | | | | | | | AVG_MINS_INTT3 <= 0.53: 2G (4.0)

| | | | | | | | | AVG_MINS_INTT3 > 0.53: 3G (3.23/0.23)

| | | | | | | HIGHEND_PROGRAM_FLAG = FALSE

| | | | | | | | NUM_ACT_TEL <= 2

| | | | | | | | | AVG_MINS_MOB <= 89.67: 3G (3.23/1.0)

| | | | | | | | | AVG_MINS_MOB > 89.67: 2G (5.0)

| | | | | | | | NUM_ACT_TEL > 2: 3G (4.97)

| | | | HS_AGE > 6: 3G (47.83/1.91)

| | | HS_MODEL = 0to1

| | | | STD_VAS_GAMES <= 99288.12: 2G (74.56/7.14)

| | | | STD_VAS_GAMES > 99288.12

| | | | | VAS_AR_FLAG = TRUE

| | | | | | HIGHEND_PROGRAM_FLAG = TRUE

| | | | | | | AVG_MINS_INTT3 <= 0.46: 3G (6.0)

| | | | | | | AVG_MINS_INTT3 > 0.46

| | | | | | | | MARITAL_STATUS = M: 2G (2.0)

| | | | | | | | MARITAL_STATUS = S

| | | | | | | | | AVG_BILL_AMT <= 881.06: 2G (2.0)

| | | | | | | | | AVG_BILL_AMT > 881.06: 3G (2.0)

| | | | | | HIGHEND_PROGRAM_FLAG = FALSE

| | | | | | | VAS_VM_FLAG = TRUE

| | | | | | | | AVG_BILL_AMT <= 309.15: 2G (2.57)

| | | | | | | | AVG_BILL_AMT > 309.15: 3G (8.71/0.28)

| | | | | | | VAS_VM_FLAG = FALSE: 3G (9.56)

| | | | | VAS_AR_FLAG = FALSE

| | | | | | NUM_ACT_TEL <= 2

| | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | MARITAL_STATUS = M: 3G (3.0)

| | | | | | | | MARITAL_STATUS = S

| | | | | | | | | AVG_BILL_AMT <= 189.91: 2G (4.0)

| | | | | | | | | AVG_BILL_AMT > 189.91

| | | | | | | | | | HS_AGE <= 4: 3G (5.0)

| | | | | | | | | | HS_AGE > 4: 2G (2.28/0.28)

| | | | | | | NUM_ACT_TEL > 1: 2G (5.0)

| | | | | | NUM_ACT_TEL > 2: 3G (3.57)

Page 24: Open06

| | | HS_MODEL = 1to5

| | | | NUM_ACT_TEL <= 3

| | | | | VAS_NR_FLAG = TRUE

| | | | | | AVG_CALL_OB <= 446.67: 2G (2.15/0.38)

| | | | | | AVG_CALL_OB > 446.67: 3G (2.0)

| | | | | VAS_NR_FLAG = FALSE

| | | | | | VAS_VM_FLAG = TRUE

| | | | | | | STD_VAS_GPRS <= 1377782.04: 2G (81.38/6.0)

| | | | | | | STD_VAS_GPRS > 1377782.04

| | | | | | | | NUM_ACT_TEL <= 2

| | | | | | | | | BLACK_LIST_FLAG = TRUE: 2G (3.38/0.38)

| | | | | | | | | BLACK_LIST_FLAG = FALSE

| | | | | | | | | | AGE <= 34: 3G (7.0/1.0)

| | | | | | | | | | AGE > 34: 2G (7.0)

| | | | | | | | NUM_ACT_TEL > 2: 3G (2.0)

| | | | | | VAS_VM_FLAG = FALSE

| | | | | | | VAS_CNND_FLAG = TRUE: 2G (4.0)

| | | | | | | VAS_CNND_FLAG = FALSE

| | | | | | | | HIGHEND_PROGRAM_FLAG = TRUE: 3G (4.0/1.0)

| | | | | | | | HIGHEND_PROGRAM_FLAG = FALSE

| | | | | | | | | NUM_ACT_TEL <= 1

| | | | | | | | | | VAS_AR_FLAG = TRUE: 3G (4.0/1.0)

| | | | | | | | | | VAS_AR_FLAG = FALSE

| | | | | | | | | | | AGE <= 23: 3G (5.65/1.33)

| | | | | | | | | | | AGE > 23: 2G (11.73/1.67)

| | | | | | | | | NUM_ACT_TEL > 1: 2G (20.76/3.76)

| | | | NUM_ACT_TEL > 3

| | | | | AVG_VAS_GPRS <= 27662.5: 2G (4.0)

| | | | | AVG_VAS_GPRS > 27662.5: 3G (16.03/4.53)

| | | HS_MODEL = 2g: 2G (7.47/0.34)

| | HS_AGE > 8

| | | LOYALTY_POINTS_USAGE <= 2000: 2G (422.0/52.0)

| | | LOYALTY_POINTS_USAGE > 2000

| | | | AGE <= 38

| | | | | AVG_VAS_GPRS <= 83622.17: 3G (8.0)

| | | | | AVG_VAS_GPRS > 83622.17

| | | | | | AVG_CALL_OB <= 261.5: 2G (14.0/2.0)

| | | | | | AVG_CALL_OB > 261.5: 3G (2.0)

| | | | AGE > 38: 2G (11.0)

Number of Leaves : 249

Size of the tree : 488

Page 25: Open06

Time taken to build model: 24.43 seconds

=== Stratified cross-validation ===

=== Summary ===

Correctly Classified Instances 15700 89.3213 %

Incorrectly Classified Instances 1877 10.6787 %

Kappa statistic 0.5748

Mean absolute error 0.156

Root mean squared error 0.3041

Relative absolute error 55.4236 %

Root relative squared error 81.0696 %

Total Number of Instances 17577

=== Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure Class

0.963 0.45 0.913 0.963 0.937 2G

0.55 0.037 0.753 0.55 0.636 3G

=== Confusion Matrix ===

a b <-- classified as

1637 1341 | a = 3G

536 14063 | b = 2G