Mathew K Analytics

Lesson 23 · Market Research Analytics in Python

Cross Tabulation and Segment Comparisons in Python for Market Research Analysis

In this lesson, we will use real survey data to compare customer segments and find valuable patterns. Businesses need to understand how different customer…

⬇ Download notebookOpen in Colab ↗

What you'll learn

Data

No separate download needed — the notebook creates or downloads everything it uses.

📓 Full notebook

Download .ipynb

Cross-Tabulation and Segment Comparisons in Market Research#

  • In this lesson, we will use real survey data to compare customer segments and find valuable patterns.
  • Businesses need to understand how different customer groups behave and feel to make informed decisions.
  • You will learn how to create cross-tabulations, compare segments, and draw actionable insights from the results.
import pandas as pd
import numpy as np
import openml
import warnings
warnings.filterwarnings('ignore')

Core Concepts: What Is Cross-Tabulation and Segment Comparisons?#

  • Market researchers segment customers to compare behaviors, satisfaction, and responses.
  • Cross-tabulation is a core method: it groups data by two or more variables to observe interactions.
  • Customer survey data often includes demographics, responses, and scores (like satisfaction or NPS).
  • Beginners sometimes treat survey scores as continuous when they are ordinal, or forget to handle missing values.
  • Segment comparisons must use correct groupings, and always interpret results with business meaning in mind.
# Beginner Example 1: Load a real customer satisfaction survey dataset
dataset = openml.datasets.get_dataset(42178)
df, _, _, _ = dataset.get_data(dataset_format='dataframe')
print(df.shape)
print(df.head(3))
(7043, 20)
   gender  SeniorCitizen Partner Dependents  tenure PhoneService  \
0  Female              0     Yes         No       1           No   
1    Male              0      No         No      34          Yes   
2    Male              0      No         No       2          Yes   

      MultipleLines InternetService OnlineSecurity OnlineBackup  \
0  No phone service             DSL             No          Yes   
1                No             DSL            Yes           No   
2                No             DSL            Yes          Yes   

  DeviceProtection TechSupport StreamingTV StreamingMovies        Contract  \
0               No          No          No              No  Month-to-month   
1              Yes          No          No              No        One year   
2               No          No          No              No  Month-to-month   

  PaperlessBilling     PaymentMethod  MonthlyCharges TotalCharges Churn  
0              Yes  Electronic check           29.85        29.85    No  
1               No      Mailed check           56.95       1889.5    No  
2              Yes      Mailed check           53.85       108.15   Yes  
# Beginner Example 2: Frequency count for a categorical segment
gender_counts = df['gender'].value_counts(dropna=False)
print(gender_counts)
gender
Male      3555
Female    3488
Name: count, dtype: int64
# Beginner Example 3: Create a simple cross-tab (gender vs Churn)
ct = pd.crosstab(df['gender'], df['Churn'])
print(ct)
Churn     No  Yes
gender           
Female  2549  939
Male    2625  930
# Beginner Example 4: Cross-tab with column percentages
ct_percent = pd.crosstab(df['gender'], df['Churn'], normalize='columns')
print(np.round(ct_percent * 100, 2))
Churn      No    Yes
gender              
Female  49.27  50.24
Male    50.73  49.76
# Beginner Example 5: Cross-tab on SeniorCitizen and Contract type
contract_senior_ct = pd.crosstab(df['SeniorCitizen'], df['Contract'])
print(contract_senior_ct)
Contract       Month-to-month  One year  Two year
SeniorCitizen                                    
0                        3068      1283      1550
1                         807       190       145
# Beginner Example 6: Handling missing values in categorical cross-tabs
missing_dependents = df['Dependents'].isna().sum()
print('Missing values in Dependents:', missing_dependents)
Missing values in Dependents: 0
# Intermediate Example 1: Segmenting by Customer Tenure
bins = [0, 12, 36, 72]
labels = ['<1 yr', '1-3 yrs', '3-6 yrs']
df['TenureGroup'] = pd.cut(df['tenure'], bins=bins, labels=labels, right=True)
print(df[['tenure', 'TenureGroup']].head(5))
   tenure TenureGroup
0       1       <1 yr
1      34     1-3 yrs
2       2       <1 yr
3      45     3-6 yrs
4       2       <1 yr
# Intermediate Example 2: Cross-tab with three variables (Contract, Churn, and SeniorCitizen)
ct3d = pd.crosstab([df['Contract'], df['SeniorCitizen']], df['Churn'])
print(ct3d)
Churn                           No   Yes
Contract       SeniorCitizen            
Month-to-month 0              1854  1214
               1               366   441
One year       0              1146   137
               1               161    29
Two year       0              1508    42
               1               139     6
# Intermediate Example 3: Segment comparison using groupby and mean
avg_monthly_charges = df.groupby('Contract')['MonthlyCharges'].mean()
print(avg_monthly_charges)
Contract
Month-to-month    66.398490
One year          65.048608
Two year          60.770413
Name: MonthlyCharges, dtype: float64
# Intermediate Example 4: Cross-tab with Marketing Campaign Dataset
ds = openml.datasets.get_dataset(1461)
mk_df, _, _, _ = ds.get_data(dataset_format='dataframe')
mk_df.columns = ['age','job','marital','education','default','balance','housing','loan','contact','day','month','duration','campaign','pdays','previous','poutcome','response']
marital_response_ct = pd.crosstab(mk_df['marital'], mk_df['response'])
print(marital_response_ct)
response      1     2
marital              
divorced   4585   622
married   24459  2755
single    10878  1912
# Intermediate Example 5: Normalized response rates by marital status
marital_response_rate = pd.crosstab(mk_df['marital'], mk_df['response'], normalize='index')
print(np.round(marital_response_rate * 100, 1))
response     1     2
marital             
divorced  88.1  11.9
married   89.9  10.1
single    85.1  14.9
# Intermediate Example 6: Multiple segment crosstab - education and response
education_response_ct = pd.crosstab([mk_df['education'], mk_df['marital']], mk_df['response'])
print(education_response_ct)
response                1     2
education marital              
primary   divorced    648   104
          married    4850   396
          single      762    91
secondary divorced   2524   291
          married   12466  1304
          single     5762   855
tertiary  divorced   1268   203
          married    6125   913
          single     3912   880
unknown   divorced    145    24
          married    1018   142
          single      442    86
# Advanced Example 1: Segmentation on NPS survey data
np.random.seed(42)
nps_df = pd.DataFrame({
    'CustomerID': range(1,501),
    'Age': np.random.randint(18,70,500),
    'Region': np.random.choice(['North','South','East','West'],500),
    'NPS_Score': np.random.randint(0,11,500)
})
nps_df['NPS_Category'] = pd.cut(nps_df['NPS_Score'], bins=[-1,6,8,10], labels=['Detractor','Passive','Promoter'])
print(nps_df[['NPS_Score','NPS_Category','Region']].head(5))
   NPS_Score NPS_Category Region
0          2    Detractor   West
1          0    Detractor  North
2          4    Detractor   East
3          3    Detractor   West
4          9     Promoter   East
# Advanced Example 2: Cross-tabulate NPS Category by Region
nps_ct = pd.crosstab(nps_df['Region'], nps_df['NPS_Category'], normalize='index')
print(np.round(nps_ct * 100, 1))
NPS_Category  Detractor  Passive  Promoter
Region                                    
East               67.3     17.7      15.0
North              57.7     25.5      16.8
South              69.4     15.7      14.9
West               65.8     12.8      21.4
# Advanced Example 3: Segment-specific mean age of promoters
mean_age_promoters = nps_df[nps_df['NPS_Category'] == 'Promoter'].groupby('Region')['Age'].mean()
print(mean_age_promoters)
Region
East     47.000000
North    44.880000
South    43.722222
West     43.680000
Name: Age, dtype: float64
# Advanced Example 4: Multi-way crosstab with survey and transaction data
retail_url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/00502/online_retail_II.xlsx'
online_df = pd.read_excel(retail_url, sheet_name='Year 2010-2011')
online_df['InvoiceDate'] = pd.to_datetime(online_df['InvoiceDate'])
online_df['YearMonth'] = online_df['InvoiceDate'].dt.to_period('M')
ct_country_month = pd.crosstab(online_df['Country'], online_df['YearMonth'])
print(ct_country_month.head())
YearMonth  2010-12  2011-01  2011-02  2011-03  2011-04  2011-05  2011-06  \
Country                                                                    
Australia       35      127       91      110       20      118      171   
Austria          9        0       21       18       26       51        2   
Bahrain          1        1        0        0        0       17        0   
Belgium         95       63      120      163      123      149      231   
Brazil           0        0        0        0       32        0        0   

YearMonth  2011-07  2011-08  2011-09  2011-10  2011-11  2011-12  
Country                                                          
Australia      217      107      104      114       45        0  
Austria         55       88        0       54       70        7  
Bahrain          0        0        0        0        0        0  
Belgium        129      197      185      267      249       98  
Brazil           0        0        0        0        0        0  
# Advanced Example 5: Cross-tab as a share of row total
row_share = pd.crosstab(df['Contract'], df['Churn'], normalize='index')
print(np.round(row_share * 100, 1))
Churn             No   Yes
Contract                  
Month-to-month  57.3  42.7
One year        88.7  11.3
Two year        97.2   2.8
# Advanced Example 6: Exporting a cross-tab to Excel for stakeholder sharing
ct_export = pd.crosstab(df['Contract'], df['Churn'])
ct_export.to_excel('contract_churn_crosstab.xlsx')
print('Cross-tab saved as contract_churn_crosstab.xlsx')
Cross-tab saved as contract_churn_crosstab.xlsx
# Error Handling Example 1: Handling missing responses safely using a copy
temp_df = mk_df.copy()
temp_df.loc[0, 'response'] = np.nan
temp_df['response'] = (
    temp_df['response']
    .astype('object')
    .fillna('Unknown')
    .astype(str)
)
ct_error = pd.crosstab(temp_df['education'], temp_df['response'])
print(ct_error)
response       1     2  Unknown
education                      
primary     6260   591        0
secondary  20752  2450        0
tertiary   11304  1996        1
unknown     1605   252        0
# Error Handling Example 2: Double-check groupby with wrong column
try:
    wrong_group = df.groupby('Payment')['MonthlyCharges'].mean()
except KeyError as e:
    print('Error:', e)
    print('Tip: Check your column names. Use df.columns to see available columns.')
Error: 'Payment'
Tip: Check your column names. Use df.columns to see available columns.
# Error Handling Example 3: Accidental numeric aggregation on Likert or NPS scores
try:
    likert_mean = df['OnlineBackup'].mean()
    print('Mean OnlineBackup score:', likert_mean)
except Exception as ex:
    print('Error:', ex)
    print('Tip: Always check if the survey column is truly numeric or categorical!')
Error: Could not convert string 'YesNoYesNoNoNoYesNoNoYesNoNo internet serviceNoYesNoYesNo internet serviceNoNoYesNoNo internet serviceNo internet serviceYesYesYesYesYesYesNoYesNoYesNo internet serviceNoYesNoNoYesNoYesYesNo internet serviceYesYesNoYesNoNoNoYesYesNoYesYesNoNoYesNo internet serviceNoNoYesYesNoNoYesYesYesNo internet serviceNoNoNo internet serviceNoNo internet serviceNoYesNoYesYesNo internet serviceNoNoNoYesNo internet serviceYesNoNo internet serviceNo internet serviceNoYesNoNoYesYesNoYesNo internet serviceNo internet serviceYesNo internet serviceNo internet serviceNoYesYesNoYesNoNoNo internet serviceYesNoYesNoYesYesNoNoNo internet serviceYesNoNo internet serviceNoNoNo internet serviceNoNoNo internet serviceNo internet serviceYesNoYesNoNoNoNo internet serviceNoNo internet serviceNo internet serviceNoYesNoYesYesNo internet serviceYesNo internet serviceNoYesYesNoNoYesYesNo internet serviceNoNoNo internet serviceNoNo internet serviceYesNoNoYesNo internet serviceNo internet serviceNoYesYesNo internet serviceNoNoYesNoNo internet serviceNo internet serviceNoNoYesNo internet serviceYesNoNoNoYesNoYesNoNo internet serviceYesNoYesNo internet serviceYesNo internet serviceYesNo internet serviceYesYesNo internet serviceNoYesNoNoNoYesYesNoNoYesNoNoNo internet serviceNo internet serviceNoYesYesYesYesNoNoNo internet serviceNo internet serviceNoNo internet serviceNoNoNoNoYesYesYesNoNo internet serviceNo internet serviceYesNoNoYesNo internet serviceYesYesNoYesYesNoNoYesNoYesYesNoYesYesNo internet serviceYesYesYesNoNoNoYesYesYesYesYesNo internet serviceYesNo internet serviceNo internet serviceNoYesNoYesNoYesYesYesNoYesYesYesNo internet serviceNoNoNoNoNoYesNoNoYesYesNoNo internet serviceNo internet serviceNoNoNoNoNoNoNoYesYesNo internet serviceNoNoYesNoNo internet serviceNoYesNoNoYesNo internet serviceYesNoNoYesYesNoNoYesYesNoNoNoNoNo internet serviceNo internet serviceYesNoNoYesYesYesYesYesYesYesYesNo internet serviceNo internet serviceNoNoNo internet serviceNoYesNoNoNoYesNoNoNoYesNoNoNo internet serviceYesNoNo internet serviceNoNoNoNo internet serviceNoYesNo internet serviceNoNoYesYesYesNoNoYesNoYesYesYesYesYesNo internet serviceYesYesNoNoNoYesNoNo internet serviceNoYesNoYesNoNo internet serviceNo internet serviceNo internet serviceNoNoNo internet serviceNo internet serviceNoYesNo internet serviceNo internet serviceYesNo internet serviceNoYesNoYesYesNo internet serviceYesNoNo internet serviceNoYesNo internet serviceYesNoYesNoNoNoNo internet serviceYesNoNoNo internet serviceNoNo internet serviceYesNoNoNoNoYesNoNoYesNoNo internet serviceNoYesNo internet serviceNoYesNoNo internet serviceYesYesYesNo internet serviceNoNo internet serviceYesNoYesYesNoNoYesNo internet serviceNoNo internet serviceNoNoNoYesYesYesYesNoNoNo internet serviceNoNoYesYesNoYesYesNoNoYesYesNoYesNo internet serviceYesYesNo internet serviceYesYesYesNoNoNoYesYesNoNoNoNo internet serviceNoNoNoYesYesNoNoNoNoNo internet serviceYesNoNoNoNoNoYesYesNo internet serviceYesNo internet serviceNo internet serviceNoNoNoNoYesYesYesYesYesNoNo internet serviceNoNoNoYesYesYesNo internet serviceYesYesNo internet serviceNo internet serviceYesNoNo internet serviceYesNoNoYesNo internet serviceNoNoNoNoNoYesNoYesNo internet serviceYesNoYesYesYesNoNoYesNo internet serviceNo internet serviceNoNoNo internet serviceNo internet serviceNoYesNo internet serviceYesYesNoNo internet serviceYesYesNoNoYesNoYesNo internet serviceNoNo internet serviceNoYesNoNoNoNoYesNoYesYesNo internet serviceYesNoNoNoNoYesYesNoYesNoNo internet serviceNo internet serviceNoYesYesYesYesYesNoYesNo internet serviceNoYesNoYesNoNoNo internet serviceNoNoYesNo internet serviceNoNoNoYesNoNoNoNo internet serviceNo internet serviceNo internet serviceNoYesYesNo internet serviceNo internet serviceNoNoNo internet serviceYesNo internet serviceNoNoNoNoYesNo internet serviceNo internet serviceNoNo internet serviceYesNoNo internet serviceNoYesYesNoNoNoNoNoNoNo internet serviceNoYesNoNo internet serviceYesNo internet serviceNoNo internet serviceNo internet serviceYesNoYesNoNoNoNoNo internet serviceYesYesYesYesNoYesNo internet serviceNoNo internet serviceNoNo internet serviceNoYesNoNoNoNo internet serviceNo internet serviceNoNoNoNo internet serviceNo internet serviceNoYesYesNoNo internet serviceYesNoNoNoYesYesYesYesNoNoNoNo internet serviceNoYesYesNoNo internet serviceNoYesYesNoNo internet serviceYesNoNo internet serviceNo internet serviceYesYesNo internet serviceNoNoNoNo internet serviceNoYesNo internet serviceNoYesNo internet serviceNoNo internet serviceNoNoYesYesYesYesNoYesNoYesNoYesYesNoNoYesYesNoYesNo internet serviceNoNoYesNoNo internet serviceNo internet serviceNoNoNoNo internet serviceYesYesNoNoNoYesNoYesNoNo internet serviceNoNo internet serviceNoNoYesYesYesNoNoYesNoNo internet serviceYesNoNo internet serviceYesNoYesNo internet serviceYesYesNoYesNoNoNoNo internet serviceNoNoNo internet serviceNoNoNo internet serviceYesNoYesYesYesYesNo internet serviceNoNo internet serviceNoYesYesYesYesNo internet serviceNoYesYesNoNoNoNo internet serviceNoNo internet serviceNoYesNo internet serviceYesNoNoNoNoNoYesYesNo internet serviceNoNoNoNo internet serviceNoYesNoYesNoYesNoNoNoYesYesYesNoYesNo internet serviceNoNoYesYesNoNoYesNo internet serviceYesYesYesNoNo internet serviceNo internet serviceNoNoYesNoYesNo internet serviceNo internet serviceNoYesYesYesYesYesYesNoYesYesNo internet serviceNoNoNoYesNoYesNo internet serviceNo internet serviceYesNoYesYesNoNo internet serviceNoNoNo internet serviceNoYesNoNoNoNoNo internet serviceNoYesYesNoNo internet serviceNoNoNoNoNo internet serviceNo internet serviceYesNoNoYesYesYesYesNoNoNoYesNoNo internet serviceNo internet serviceNoNoNo internet serviceYesNoNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceNo internet serviceYesNoNoNo internet serviceNoNoNoNoNo internet serviceNo internet serviceNoNoNoNoNo internet serviceNoYesNoYesNoNoYesNo internet serviceNoNo internet serviceNoNoYesNoNoYesNoNoNoNoNoNoNoNo internet serviceNoNo internet serviceYesNoNoYesNoNo internet serviceNoNoNoNoNoNoNo internet serviceNo internet serviceNoNoNoNoNoNo internet serviceNoNoNoNoNo internet serviceYesNoNoNoNoNo internet serviceNoYesNoNoYesNoNoNo internet serviceYesNo internet serviceYesYesNoNo internet serviceNoNo internet serviceNoNo internet serviceNoNoNoNoNoYesNoYesNoYesNoNoNoYesNoNo internet serviceNo internet serviceYesYesNo internet serviceNoYesNo internet serviceNo internet serviceYesYesNoYesNoYesNoNo internet serviceNoYesNoNoNoNoYesYesYesNoYesNo internet serviceNoNo internet serviceNoNoNo internet serviceYesYesNo internet serviceNo internet serviceNoNo internet serviceYesNo internet serviceNoYesNoNoNoNoNoNoYesNo internet serviceNoNoNo internet serviceYesNo internet serviceYesYesNoNoYesNoYesYesNo internet serviceNoNoNo internet serviceYesYesYesYesNo internet serviceYesNoYesNoNoYesNoNoNoNoNoNoNoNoNoNoYesYesNoNoYesYesYesNo internet serviceNo internet serviceNoYesYesYesNo internet serviceNoNoNoNoNoYesNoNoNoNo internet serviceNoNoNo internet serviceNo internet serviceYesNoNoNoNoNoNoNoNo internet serviceYesNoNoYesNoNoNo internet serviceYesYesNoNo internet serviceNoYesNo internet serviceNoNoNoNo internet serviceNoYesYesNoNoNoYesNo internet serviceNoNoNoNoNoNo internet serviceYesYesNoYesYesNoNoNoYesYesYesNo internet serviceYesNo internet serviceYesNoYesYesNo internet serviceNoNo internet serviceYesNo internet serviceNoNoNo internet serviceNoNoYesNo internet serviceYesYesNoYesYesNoNoNoNoYesNoYesYesNoNo internet serviceNoNoYesYesNoNoNoYesNoYesYesNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceYesYesNo internet serviceNo internet serviceNo internet serviceNoYesNoNoNo internet serviceNoNoNo internet serviceNoNoNoYesNo internet serviceNo internet serviceYesYesNoNo internet serviceNoNo internet serviceNoNoNo internet serviceNoYesYesNo internet serviceNoNo internet serviceNoNo internet serviceNoYesNoNoNoYesNoYesYesYesNoYesNoYesNo internet serviceNoYesNo internet serviceYesNo internet serviceNoYesYesYesYesNoNo internet serviceNoNoNoYesNo internet serviceNoYesYesYesNo internet serviceNo internet serviceYesNoNoNoNoNo internet serviceNo internet serviceYesNoNoNo internet serviceNoNo internet serviceNoNoNoNoYesNoYesNoYesNoYesYesNo internet serviceYesNoYesNoNo internet serviceNoYesNoNoNo internet serviceNo internet serviceNoNo internet serviceYesNoYesNoNoNoNoNo internet serviceYesNoNoYesNoNoNoNo internet serviceNo internet serviceNo internet serviceNoNoYesNo internet serviceYesYesNoNo internet serviceYesYesNoNo internet serviceNoNoYesNoNoYesNoNo internet serviceNoNoNoYesYesNo internet serviceYesYesNoNoYesNoYesYesNoYesYesNoYesYesNo internet serviceYesNoNo internet serviceYesNo internet serviceYesNoYesNoNo internet serviceNoNoNoNoNoNo internet serviceYesNoYesNo internet serviceNoNoNo internet serviceNoNoNoNo internet serviceYesNo internet serviceYesYesNoYesNo internet serviceYesNo internet serviceNoNo internet serviceNoNo internet serviceNo internet serviceNoNo internet serviceYesYesYesYesNoYesNo internet serviceNo internet serviceNoNoYesNo internet serviceYesNoNoNoNo internet serviceYesNoNo internet serviceYesYesYesYesNo internet serviceNoNoNoNoNoYesYesNoYesNoNo internet serviceNo internet serviceNoYesNo internet serviceYesYesNoNoNoYesYesNoNoYesNoNoNo internet serviceYesYesNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceYesNoYesNo internet serviceYesNoYesNoNoYesNo internet serviceNoYesNo internet serviceNoYesYesYesNo internet serviceYesNo internet serviceNo internet serviceNoYesYesNoNoYesYesYesNoNoYesYesYesYesNoYesNoYesNoNo internet serviceNoYesNoNo internet serviceYesNo internet serviceNoYesNoYesNoNoYesNoNoNoNo internet serviceNo internet serviceNoYesNo internet serviceNoYesNo internet serviceYesNoNoNoNoNo internet serviceNo internet serviceYesNoNoYesYesYesNo internet serviceNoNoNo internet serviceYesNoNo internet serviceNo internet serviceYesNo internet serviceNoNoYesNo internet serviceNo internet serviceYesYesNo internet serviceNoYesNoYesNoYesYesNo internet serviceNo internet serviceYesNoYesNoYesYesNoNoNoNoNo internet serviceYesYesYesNo internet serviceNoNo internet serviceNo internet serviceYesYesNoYesNo internet serviceNoNoNoYesNoYesNoNoYesNo internet serviceNoYesNo internet serviceNoYesNoNo internet serviceYesYesNo internet serviceYesNo internet serviceYesNoNo internet serviceYesNoNoNoYesYesYesNoYesNo internet serviceNo internet serviceNoNo internet serviceYesNoNoYesNo internet serviceYesNoYesYesNoNoNo internet serviceNoNoNo internet serviceNoNo internet serviceYesNo internet serviceYesNoNoNo internet serviceYesYesNoNo internet serviceYesNoYesYesNo internet serviceYesNoNoNo internet serviceNo internet serviceNoNoNoYesYesNo internet serviceYesNo internet serviceNoYesNoYesNoNoNoNo internet serviceNo internet serviceNo internet serviceYesNoYesNoNoNoYesNo internet serviceYesYesNoNo internet serviceNoNo internet serviceYesNoNoNoNoNoNo internet serviceYesNo internet serviceNoNo internet serviceNoNo internet serviceYesYesNo internet serviceNo internet serviceNo internet serviceNoYesNoNoNoYesNo internet serviceYesNoNoYesNo internet serviceNoYesNo internet serviceNoYesNoYesNoNo internet serviceNoYesNo internet serviceYesYesYesNoYesNo internet serviceNoNoYesNoYesYesYesNoNoYesYesNo internet serviceNoYesYesNoYesYesYesNoYesNo internet serviceNo internet serviceYesNoYesNo internet serviceYesYesNo internet serviceNo internet serviceYesYesNo internet serviceYesNoNoYesYesNoNoNo internet serviceYesNoNo internet serviceNoNoNoNoNo internet serviceNoNo internet serviceYesNo internet serviceNo internet serviceYesNo internet serviceYesNo internet serviceNo internet serviceNo internet serviceYesNoNo internet serviceNoNoNo internet serviceNoYesNoNoYesNoNoYesNoNoYesNoYesYesYesYesNoNoYesNoYesYesYesNoNoNo internet serviceNoNoNoNo internet serviceNoYesYesNo internet serviceYesNoNo internet serviceNoYesYesYesYesYesNoNoYesYesNoNo internet serviceNoNoNoNoNoNoNo internet serviceNoNoNoYesNoNoNoYesNoNoYesNo internet serviceYesNoNoNo internet serviceNoYesYesYesYesYesNoYesYesNo internet serviceNo internet serviceYesYesNoNoNo internet serviceYesYesNoNoNoYesYesNo internet serviceYesNoNo internet serviceYesNoNoNoYesYesNo internet serviceNoYesNoNoYesNoYesYesYesNoNo internet serviceNoNo internet serviceNoNo internet serviceYesYesNoYesYesNo internet serviceNo internet serviceYesNoNoNoYesYesYesNoNo internet serviceNo internet serviceNoNoNoYesNoYesNoNo internet serviceYesNo internet serviceNo internet serviceNoNo internet serviceNoNoNoNoNoNoNoNoNoNoYesNoNo internet serviceNo internet serviceNo internet serviceNoYesYesYesNoYesNoNo internet serviceNo internet serviceNo internet serviceNoYesNoNoNoYesYesNoYesNoNo internet serviceNoNo internet serviceYesYesNo internet serviceNoNoNoNo internet serviceNoNoNoNoYesNo internet serviceNo internet serviceNoNoNo internet serviceNoNoNo internet serviceNoNoYesNoNo internet serviceYesNoYesNoYesNo internet serviceYesNoNoNoNoNoNoNoNo internet serviceNoNo internet serviceYesNo internet serviceNo internet serviceYesYesNoNoNoNoNo internet serviceYesNoNo internet serviceYesNoYesNo internet serviceNoNo internet serviceNo internet serviceNoNoNo internet serviceYesYesNoYesYesYesYesNoNoNo internet serviceNoNoNo internet serviceNo internet serviceYesNoNoYesNoNoYesYesNoYesYesYesNoNo internet serviceYesNoNo internet serviceNoNo internet serviceYesYesYesNoYesNoNoYesNo internet serviceNo internet serviceYesYesNoNoNo internet serviceNoNoNo internet serviceNoNo internet serviceYesYesNoYesNoNoNo internet serviceNoNoNoYesYesYesNoYesNo internet serviceNoNoNoNoNo internet serviceNoNoNoYesNoNo internet serviceNoNoNoNoNoNoNoYesYesNoNoNoYesYesYesNoNoYesNoYesYesNoYesNoYesYesNoYesYesNoYesNoNo internet serviceNoYesNoNo internet serviceNo internet serviceYesNoYesYesNo internet serviceNoNoNo internet serviceYesNoNoYesYesNo internet serviceNoYesNoNoNoYesNo internet serviceNoNoYesNoNoNoNo internet serviceYesNo internet serviceNoYesNoYesNo internet serviceNoNo internet serviceYesNoYesNo internet serviceYesNo internet serviceNoNoNoYesNoNoNoYesNoYesNo internet serviceYesNoNo internet serviceYesYesYesNoYesYesNo internet serviceYesNoNoYesYesYesNoNoNo internet serviceNoNoNoYesNoYesNoYesNoNoYesNo internet serviceYesYesNoYesNoNo internet serviceYesYesNoYesNoNo internet serviceNoNoYesYesNoNoNoNoNo internet serviceYesNo internet serviceYesNoNoYesNoNoNo internet serviceNoNo internet serviceNoNoYesNoNo internet serviceNo internet serviceNoNoYesYesNoYesNoYesNoNoYesNoNoNo internet serviceYesNo internet serviceYesNoNo internet serviceNo internet serviceNo internet serviceYesNoNoNoNo internet serviceNoYesNo internet serviceNo internet serviceYesYesNo internet serviceYesYesYesNoNoYesNoNo internet serviceNoYesNo internet serviceNoNoYesNoYesNoNo internet serviceNoYesNoNo internet serviceNo internet serviceNo internet serviceYesYesNoNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceYesNo internet serviceNoNoNoNo internet serviceYesYesNoNoYesNoYesNoNoNo internet serviceNo internet serviceYesNo internet serviceNoNoNoNoNo internet serviceNoNoYesYesNo internet serviceYesNoNo internet serviceYesNoNoNoNoNoNoYesNoNo internet serviceNo internet serviceNo internet serviceNo internet serviceNo internet serviceNoNoNoNoNo internet serviceYesYesYesNoYesNoNo internet serviceYesYesNo internet serviceNo internet serviceNoNoNo internet serviceNoNoNo internet serviceYesNoNoNo internet serviceNoNo internet serviceYesNoYesNo internet serviceNo internet serviceNo internet serviceNoNoYesYesNo internet serviceNo internet serviceYesNoYesYesNoYesNoYesYesYesNoNo internet serviceYesNoNoYesNoNoYesYesNoYesNoNo internet serviceNo internet serviceYesNoYesNoNoYesYesYesNo internet serviceYesNoNoNoYesYesNoNo internet serviceYesNoYesNoYesYesNoNoYesNo internet serviceYesNo internet serviceNoNo internet serviceNoNoNoNoNoYesNoNoNo internet serviceNoNoYesNoYesYesYesYesYesNo internet serviceYesNoYesNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceNoYesNoNoNoYesYesNoNoYesYesNoNoNoNo internet serviceNo internet serviceYesNoYesNo internet serviceYesNoNo internet serviceNoNoNoNo internet serviceNoNoNoYesNo internet serviceNoNoNo internet serviceNoNo internet serviceNoYesYesNoNoNoNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceNoYesNoYesYesNo internet serviceNoNo internet serviceNoYesNoNoNoNoNoYesYesNoNoNo internet serviceNo internet serviceNoNoNo internet serviceNoNoNoNoNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceNoNoYesYesNoYesNoNo internet serviceNo internet serviceNoNoYesNoNoNoYesNo internet serviceYesNoYesYesNoYesNoYesYesNo internet serviceYesNoYesNoYesNoYesNoNoNoNoNo internet serviceNo internet serviceYesNoNo internet serviceNoYesYesNo internet serviceNoYesNoNo internet serviceYesNo internet serviceYesNoYesNo internet serviceNoYesNo internet serviceNoYesNo internet serviceNo internet serviceNo internet serviceNoYesNo internet serviceNoYesYesYesYesNo internet serviceYesYesNo internet serviceNo internet serviceNo internet serviceYesNoNoNo internet serviceNoYesNoYesNoNo internet serviceNoYesYesNoNoNo internet serviceNoYesNo internet serviceYesNoNoNoNoYesYesYesNo internet serviceYesNoNoNoNo internet serviceNoNo internet serviceNoNo internet serviceYesNoYesNoNoNoNo internet serviceYesYesNoNoNoYesNoNoNo internet serviceYesNoNo internet serviceNo internet serviceNo internet serviceYesYesNoYesNoYesNoNoNoNoNoYesNo internet serviceNoYesYesNoYesNoNo internet serviceYesYesYesNoNoNoYesNoYesNoYesYesNo internet serviceYesYesNo internet serviceNo internet serviceYesYesYesYesYesYesYesNo internet serviceNo internet serviceYesNoNoYesNoNoNo internet serviceNoNo internet serviceYesNoNoYesYesNo internet serviceYesNoYesNoNo internet serviceNoNoNoYesYesNoNoYesYesYesYesNoNo internet serviceNo internet serviceYesNoNo internet serviceNo internet serviceNo internet serviceYesNo internet serviceYesNoNo internet serviceYesNo internet serviceNoNoYesNo internet serviceYesNoNoYesYesNo internet serviceNoNo internet serviceNoNoNoNo internet serviceNoYesNo internet serviceNo internet serviceNoNo internet serviceYesNoNoYesNoYesNo internet serviceYesNoNo internet serviceNo internet serviceYesNo internet serviceNo internet serviceNoNo internet serviceYesNoNoNoNo internet serviceYesNoNoNoNo internet serviceYesYesYesYesYesNoNoYesNoYesNoNo internet serviceNoYesNoNoYesNoNoNo internet serviceNoNo internet serviceNoYesNoNoNoNoNoYesYesNo internet serviceYesYesYesYesYesYesYesNoNoYesNoNoNoNo internet serviceNo internet serviceYesNoNoNoYesNoNo internet serviceNoYesYesNoYesNo internet serviceYesNo internet serviceYesNoNoNo internet serviceNoNoNo internet serviceYesYesNo internet serviceNo internet serviceYesYesNoNoYesYesYesNo internet serviceNoNo internet serviceNoNo internet serviceNoYesNo internet serviceYesYesNo internet serviceYesNoYesNoYesNo internet serviceNoNoYesNoNoNoYesNo internet serviceYesNo internet serviceYesYesNoNoNoNoNoNoNoYesNo internet serviceNo internet serviceNoNoNoYesNo internet serviceNoYesYesNo internet serviceNoYesNo internet serviceYesYesNo internet serviceYesNo internet serviceNoNoNo internet serviceNoNoNo internet serviceNo internet serviceYesNoNoYesNoNo internet serviceYesNoNo internet serviceNoYesNo internet serviceNo internet serviceYesYesNo internet serviceYesYesNo internet serviceYesYesNoYesNo internet serviceYesNo internet serviceNo internet serviceYesNoNoNo internet serviceYesNoYesYesNoNo internet serviceYesNo internet serviceNoNoNoYesNoNoNo internet serviceNoYesNoNo internet serviceYesYesNoNo internet serviceYesYesNo internet serviceNo internet serviceNoYesNo internet serviceNo internet serviceYesNoYesNoYesNoYesNo internet serviceYesNoNoYesYesYesYesNoNoYesYesNoYesNoNoNo internet serviceNo internet serviceNoNo internet serviceNoYesNoNoYesNo internet serviceNoNo internet serviceYesNoYesYesYesNo internet serviceNoYesNoNoNo internet serviceYesNoNoYesYesNoYesNoNoNo internet serviceYesNo internet serviceNoYesYesYesNoYesYesNo internet serviceNo internet serviceNoYesNo internet serviceNo internet serviceYesYesYesYesNoNoNoNo internet serviceNoNo internet serviceNoNoYesYesNoNoNoNo internet serviceNoNo internet serviceYesNo internet serviceNo internet serviceNoNoYesNoNoYesNo internet serviceNoYesNoNo internet serviceYesNoNoYesNoYesNoYesNoNoNoNo internet serviceNoYesYesYesNoNo internet serviceNoYesYesNoYesNo internet serviceYesNoYesNo internet serviceNo internet serviceNo internet serviceYesNo internet serviceNoNoNo internet serviceNoNoNoNoNo internet serviceNoNoNo internet serviceNo internet serviceNoNoYesYesYesYesYesNoNoNo internet serviceYesNo internet serviceYesNoNo internet serviceNo internet serviceYesYesNoYesYesNoNoNoNoYesYesYesYesYesNoNoNoNoNoNoNoNo internet serviceYesNoYesYesNoNoNo internet serviceYesNoYesYesYesNoYesNoYesYesYesNoYesYesNoNoNoYesNoNoNo internet serviceNoNo internet serviceNoYesNoNoYesNoNo internet serviceNoNo internet serviceNoNoNo internet serviceYesNoYesNo internet serviceNoNoNoNoNo internet serviceNoNoYesNoNoYesNo internet serviceNoYesNoYesYesNoNoNoNoNoNoNo internet serviceYesNoNoYesNo internet serviceNoNoNo internet serviceYesNoNoNo internet serviceNo internet serviceNo internet serviceNoYesNoYesNo internet serviceNoNo internet serviceYesNo internet serviceYesNoYesNoNoNo internet serviceNoNoNo internet serviceNoNo internet serviceYesYesYesYesYesNoYesNoYesYesYesNoNoYesNoYesNoNoYesNo internet serviceNoNoNo internet serviceYesNoNo internet serviceNoNoYesNoYesYesYesYesYesNo internet serviceNo internet serviceNoNoNo internet serviceNo internet serviceNoNo internet serviceYesYesNoNoYesNoYesNoNoNoYesYesNoNo internet serviceYesNoNoYesNoYesNoNoYesYesNo internet serviceYesNoNo internet serviceYesNoNoNoYesNoYesNoNoNoYesYesNoYesYesYesNoYesNoYesNo internet serviceYesNo internet serviceNoNo internet serviceNo internet serviceNoNoNoYesNo internet serviceNo internet serviceNo internet serviceYesNoYesNoYesNo internet serviceNo internet serviceNo internet serviceNoNoNoNo internet serviceNo internet serviceNo internet serviceNoYesYesNo internet serviceYesNo internet serviceNoYesNoNoNoNoNoYesNoNoNoYesNo internet serviceNoNoYesNoNo internet serviceYesNoYesNo internet serviceNoNoNoNoNoNoNoYesNoNoYesYesYesNoNoYesNoNoYesYesNo internet serviceNo internet serviceNoNo internet serviceYesNoNoNo internet serviceNo internet serviceNoNo internet serviceYesNoNoYesNoYesNoNoNo internet serviceNoNo internet serviceYesNo internet serviceNo internet serviceNoNoNoYesNo internet serviceYesNoNoNoYesNoNo internet serviceNoNoNo internet serviceNoYesYesNoYesYesNoYesYesNoNoNoNoNoNo internet serviceNoNoNoNoNoNoYesNoNoNo internet serviceNo internet serviceNoNoYesNo internet serviceNo internet serviceNoNoNoYesNoNoNo internet serviceNoYesNoNo internet serviceNoYesNoNoNoNoYesNo internet serviceNo internet serviceNoNoNo internet serviceYesNoNoNoNoNoNoYesNo internet serviceYesYesNoYesYesNo internet serviceNo internet serviceNoNoNo internet serviceYesYesNoYesNo internet serviceYesNoYesNoYesYesNoNo internet serviceNo internet serviceNo internet serviceNo internet serviceYesYesNoYesNoNoNo internet serviceNoYesNoNo internet serviceNo internet serviceYesNoNoNoNoNoNo internet serviceYesYesYesNo internet serviceNo internet serviceNoYesYesYesNo internet serviceYesYesNoYesNo internet serviceYesYesNo internet serviceNo internet serviceYesYesYesNoNoNoNoNoYesYesNoYesNoNoYesNoNoNoNoYesYesNoNo internet serviceYesNoNo internet serviceYesYesNo internet serviceNo internet serviceYesNo internet serviceYesNo internet serviceYesNoYesNo internet serviceNoNoNoYesNo internet serviceYesNoYesNo internet serviceNo internet serviceNoNoNoNoNoNoYesNoNoNoYesYesNo internet serviceNoNoNoYesNoNo internet serviceYesNo internet serviceNoNo internet serviceNoNoNoNo internet serviceNoNoNo internet serviceNoNoNoNoNoNoYesYesNoNoNoYesNoNoNoNoYesNoNo internet serviceNoYesYesNo internet serviceNo internet serviceNoNoNo internet serviceNoNoNoNoNoYesNoNo internet serviceYesNoNo internet serviceNoNo internet serviceYesYesNoYesNoNoYesYesYesYesNoNo internet serviceYesYesNoNoYesYesNo internet serviceYesNo internet serviceNo internet serviceNo internet serviceNoYesNo internet serviceNo internet serviceYesNoYesNoNoNoYesYesYesNo internet serviceNo internet serviceNo internet serviceNoNoYesNoYesYesNoYesYesYesNoYesNo internet serviceNo internet serviceNo internet serviceNoNoNoYesNoYesNoNoNoNoNoYesYesNoYesYesYesYesNo internet serviceNoNoNoNoNoYesNoNo internet serviceYesYesNo internet serviceNoNoNoNoYesNoYesYesNoNoNoNo internet serviceNoNoYesNoNoYesNo internet serviceNoNoNoYesNo internet serviceNoNoNoNoYesNo internet serviceNoNo internet serviceNoNoNoYesNoNoYesNo internet serviceNoYesYesYesNo internet serviceNo internet serviceNoNo internet serviceNoYesNo internet serviceNoYesYesNoNoYesNo internet serviceNo internet serviceYesNoYesNo internet serviceNoYesYesYesNo internet serviceNo internet serviceNoYesYesNoYesNoNoYesNoNo internet serviceNo internet serviceYesNoYesNoNo internet serviceNoYesNo internet serviceNoNo internet serviceYesNoNoYesYesYesNoNo internet serviceNoNoYesYesNo internet serviceNo internet serviceNoNoNo internet serviceNo internet serviceNoYesNoNoNoNoYesNoNo internet serviceNoNo internet serviceNoYesNoYesNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceNoNo internet serviceNoNoNo internet serviceNo internet serviceNo internet serviceYesNoYesNoYesYesNoYesNoNoYesYesYesNoNo internet serviceYesNo internet serviceNo internet serviceYesNoNo internet serviceNo internet serviceNoYesNoYesNoYesNoNoNo internet serviceYesNo internet serviceNoNo internet serviceYesYesYesNo internet serviceNoNo internet serviceNo internet serviceYesYesYesYesYesYesNoNoYesNoNo internet serviceYesNoNo internet serviceNoYesNoYesYesNoYesYesYesYesYesNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceYesNo internet serviceYesNo internet serviceNo internet serviceYesNoNoNoYesNoNoNoNo internet serviceNoYesNoNoNoYesNoNoNoYesNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceYesNoNoNoYesYesYesYesYesNoYesNo internet serviceYesNoNo internet serviceNoNoNoNoNo internet serviceNoNoNoNoYesNo internet serviceNoYesNoNoYesYesNoNoNoNoNoNoYesNo internet serviceYesYesNo internet serviceNoNoNo internet serviceYesNoNo internet serviceNoNo internet serviceNo internet serviceNoYesNoYesNo internet serviceNoYesNoNoNoNoNoNoNo internet serviceNo internet serviceNo internet serviceNo internet serviceYesYesNoNo internet serviceNoNo internet serviceNoNoYesYesNo internet serviceYesNo internet serviceNo internet serviceNoYesNoNo internet serviceNoNoYesNoYesNoYesNoYesYesYesYesYesYesNo internet serviceNoYesYesNoNo internet serviceYesNo internet serviceYesYesNoYesNo internet serviceNoYesYesYesNoYesNoNoNoYesYesNoYesNoYesYesYesNoNo internet serviceNo internet serviceYesNo internet serviceNoNoNo internet serviceYesNoYesYesYesYesNoYesNoNo internet serviceNoNo internet serviceNoYesYesNoNoNoNoNoNoNoNoNo internet serviceYesNoNoNoNoNoNo internet serviceNo internet serviceNoNoNo internet serviceNoNoNoNo internet serviceNoYesNoNo internet serviceNoYesYesNo internet serviceNo internet serviceNo internet serviceYesNoYesYesNo internet serviceNoYesNo internet serviceNoYesNo internet serviceNo internet serviceYesNoNo internet serviceYesYesYesYesYesNoYesYesNoNoYesNo internet serviceYesNo internet serviceNoYesYesNoNoYesNoNo internet serviceNoYesYesNoNoNoYesNoNoNo internet serviceNoNoNo internet serviceNoNoYesYesYesYesNo internet serviceYesNo internet serviceYesYesNo internet serviceNoNoNoNo internet serviceNoYesYesYesNo internet serviceYesYesYesYesNoNo internet serviceNoYesNo internet serviceYesNo internet serviceNo internet serviceNoNoYesNo internet serviceNo internet serviceYesYesNoNoYesNoNoNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceYesYesNoNoNoNoYesNoNo internet serviceNoYesYesNo internet serviceNoNoNoYesNo internet serviceYesYesNo internet serviceYesNoNo internet serviceNoNoYesNoNoYesNoNoNoYesNoNo internet serviceYesNoNo internet serviceNo internet serviceNo internet serviceNo internet serviceNo internet serviceYesNoNoNoNoNoNoNoYesNoNoNoYesNo internet serviceNoNo internet serviceNoNo internet serviceNoNoNoNoNoNo internet serviceYesNo internet serviceNoNoYesNo internet serviceNo internet serviceNoNo internet serviceYesYesNoYesNoNoNo internet serviceYesNoYesYesNoNoNoYesYesYesNoNoNo internet serviceNoNoNoNo internet serviceNo internet serviceNo internet serviceNoNoYesYesNoYesYesNoYesYesNoYesYesYesYesNo internet serviceYesNoYesYesYesNoNo internet serviceNoNoNo internet serviceYesYesYesNoYesNo internet serviceNoYesNoNo internet serviceNo internet serviceYesNoYesYesYesYesNoNoYesNo internet serviceYesNo internet serviceNoNoNo internet serviceNo internet serviceNoYesNo internet serviceNo internet serviceNoNo internet serviceNoYesYesNo internet serviceNoYesNo internet serviceNoYesNoNoYesNo internet serviceNo internet serviceNo internet serviceNo internet serviceNoYesYesNoYesNoYesNo internet serviceNoNoNo internet serviceNoYesNo internet serviceYesYesYesNoNoNoNo internet serviceYesNoNo internet serviceNo internet serviceNoYesNoNo internet serviceNoYesYesNoYesNo internet serviceNo internet serviceYesNoNo internet serviceYesNoYesYesNoNoYesNo internet serviceNoNo internet serviceNoNoNoNoYesNoYesNoYesNoYesYesYesNo internet serviceNo internet serviceNoYesNoYesNoYesNoNoNo internet serviceNo internet serviceNoNoNoNoNoYesNoNo internet serviceYesYesYesYesNoYesYesYesYesNoNo internet serviceYesNoNoNoNoYesYesYesNoNo internet serviceYesYesYesYesNoNoNo internet serviceNoYesNoNoYesNo internet serviceNo internet serviceYesYesYesNoNoNoYesYesNoNoNoYesNoYesNoYesYesNo internet serviceYesNo internet serviceYesYesYesYesNoYesYesYesYesNo internet serviceNo internet serviceNoNo internet serviceNoYesNoNoNoYesNo internet serviceNoYesNoNoYesYesYesNo internet serviceYesYesNoNo internet serviceNoNo internet serviceNoYesNo internet serviceNo internet serviceNoNoNoYesYesNoYesNo internet serviceNoNoNoNo internet serviceYesNo internet serviceNoNoYesYesNoNoNoNoYesNo internet serviceNoNo internet serviceNo internet serviceYesYesYesYesNo internet serviceNoNo internet serviceNo internet serviceNoYesYesYesNoNoNo internet serviceNo internet serviceNoNoYesYesYesNoNoYesNoYesNo internet serviceNoNoNoNoYesNoNoNo internet serviceNo internet serviceYesYesYesNo internet serviceNoYesNoNo internet serviceYesNo internet serviceNoNo internet serviceNoYesNoNo internet serviceNoNo internet serviceNoYesNoNoYesYesNo internet serviceYesNoNoNoNo internet serviceNoYesNo internet serviceNo internet serviceNoYesNoNoNoNoNo internet serviceNoNoNoYesNoNo internet serviceNoNoNoYesNoNoNoYesYesNo internet serviceYesNoNo internet serviceNoNoNoYesNoNo internet serviceNoNoNo internet serviceNoYesYesYesNo internet serviceYesNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceNoYesYesNo internet serviceNoYesNoYesYesNoNo internet serviceNoYesNoNoNo internet serviceYesNoYesNoYesNoNoNo internet serviceYesYesYesNoNoNoNoNoYesYesYesNo internet serviceNoYesYesNoNoNoNoNoYesYesNo internet serviceNoYesYesNo internet serviceNoNo internet serviceYesYesYesNo internet serviceNoNoYesNo internet serviceNo internet serviceNo internet serviceNo internet serviceYesNoNoYesYesNo internet serviceNoYesYesNo internet serviceYesNoNoNoYesNoNoNo internet serviceNoNo internet serviceNoNoNo internet serviceNoNoYesNoYesYesNo internet serviceYesYesNoNoYesNoYesNoYesNo internet serviceNo internet serviceYesYesYesYesNoYesYesNo internet serviceYesNoNoYesYesNoYesYesYesNoYesNoYesNo internet serviceYesNo internet serviceNo internet serviceNo internet serviceNoYesYesNo internet serviceNoYesNo internet serviceNoNoNoNoNoNo internet serviceYesNoNoYesYesYesYesYesYesNoNoNoNo internet serviceNoNoNo internet serviceYesNoNoYesNoYesNoNoNoYesNoNoYesNoYesNoYesNoNo internet serviceNoYesYesNoYesNo internet serviceYesNoNoNoNoNo internet serviceNoYesNoNoNoYesNoNo internet serviceNoYesYesYesNoNoYesYesNoNo internet serviceYesNoNoNoYesYesNoNoNoNoNoNo internet serviceYesNo internet serviceNoNoYesNoYesNoYesNoYesYesYesYesNoNo internet serviceNo internet serviceNo internet serviceYesNoYesYesYesNoYesNoNo internet serviceNoNoNoYesNoNoYesYesYesYesYesNoYesYesNoNoNoNoNoNoNo internet serviceNo internet serviceNoNoNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceNoYesNoNo internet serviceNoNoNoYesNoNoNo internet serviceNoNoNoNoNoYesNoNoNoNoNoNo internet serviceNoNoNoYesNoYesNoNo internet serviceYesNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceYesYesYesNoYesNo internet serviceYesNoNoYesNoYesNoYesYesYesNoYesNo internet serviceYesNoYesNoNoNoNoYesNoNo internet serviceNoYesNoNoNoNoYesNoNoNoNo internet serviceNoYesNoNo internet serviceNoYesYesNoYesYesYesNoNo internet serviceYesNoNoNoNo internet serviceNoYesNoNo internet serviceYesNo internet serviceYesNoYesYesNoNoNoNoYesNoNoYesNoNoNoNoNoNoNoNoNo internet serviceYesNoYesNoNo internet serviceNoNoNoNo internet serviceYesNoNoYesNoNoNo internet serviceYesNoNo internet serviceYesNo internet serviceNoYesNoYesYesNoNo internet serviceNoYesYesNoNoNoNoNoNoNo internet serviceNo internet serviceYesYesNo internet serviceNoYesNo internet serviceNoNoNoNoYesNoNo internet serviceNo internet serviceNoYesYesYesNoYesNoNo internet serviceYesNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceYesNoYesYesYesNo internet serviceNoNo internet serviceNoNoYesYesYesNoYesYesNoNoNo internet serviceYesNoNo internet serviceNo internet serviceYesNo internet serviceYesNo internet serviceYesYesNo internet serviceNo internet serviceYesNoNoNo internet serviceNoNo internet serviceYesNoNo internet serviceNo internet serviceNoNo internet serviceYesNoNoNoNoNoNoNoYesNoYesNoNoYesYesYesNo internet serviceYesNo internet serviceNo internet serviceNoYesNoNoNoYesNo internet serviceNoNoYesNo internet serviceYesNoNo internet serviceNo internet serviceNo internet serviceYesNoNoNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceNoNoNoNo internet serviceYesYesNo internet serviceYesNoYesNoYesNo internet serviceNoNoNoNoYesNo internet serviceNoNoNoNoNoNo internet serviceNoYesNo internet serviceNo internet serviceYesNo internet serviceYesNoNo internet serviceYesYesNoNo internet serviceNoNoNoYesNo internet serviceNoYesNo internet serviceYesNoNo internet serviceYesNoNoNoNoYesYesNoNoYesYesNo internet serviceNoNo internet serviceYesNoNoNo internet serviceYesNoNo internet serviceYesYesYesNoYesNoNo internet serviceYesYesNoNoNoNo internet serviceNo internet serviceYesYesNoNo internet serviceNo internet serviceNoNo internet serviceYesNo internet serviceNo internet serviceNoNo internet serviceYesNoYesYesNo internet serviceNoNo internet serviceYesNoYesNoNoNo internet serviceNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceNoNoYesYesNoNoYesNoNoNoYesNoNo internet serviceYesYesYesNoYesYesNo internet serviceNoNo internet serviceNoNoNoNoNo internet serviceNoNoNoNo internet serviceYesYesNoYesYesYesYesYesNoNoNoNoYesYesNo internet serviceNoNo internet serviceNo internet serviceYesYesNoYesNoYesNo internet serviceNoNoNoYesYesNoNo internet serviceNoNo internet serviceYesNoNoNoNo internet serviceNoNo internet serviceNoNoYesNoNo internet serviceNo internet serviceYesNoNoNoNoNoNoNoNoNoNoYesNo internet serviceNoYesNoYesNoNoNoNoNo internet serviceYesNoNo internet serviceNoNoNo internet serviceNo internet serviceNo internet serviceNo internet serviceNoYesNo internet serviceNoNoNoNoYesYesNoNo internet serviceYesYesNoNo internet serviceNo internet serviceYesNo internet serviceNo internet serviceNoNoYesNoNoNoNo internet serviceYesNoNo internet serviceNo internet serviceNo internet serviceNoYesNoYesNoYesYesYesNoNo internet serviceYesNoYesYesNoNoNo internet serviceYesNo internet serviceNo internet serviceNoNoYesNoNoNo internet serviceYesNoNo internet serviceNo internet serviceYesNoYesNoYesYesYesNo internet serviceNoYesNoYesYesNoNoNoYesYesNo internet serviceYesYesNoNoNo internet serviceNoYesYesNoNoNoNo internet serviceNoNoYesNoNoNoYesNoNoNoNoNo internet serviceNoYesNo internet serviceYesYesNo internet serviceYesNo internet serviceYesNo internet serviceNo internet serviceYesNoYesNoNo internet serviceNo internet serviceNoYesNoYesYesNoYesNo internet serviceYesNo internet serviceNoNo internet serviceNoNoYesYesYesNoNoNo internet serviceYesNo internet serviceNo internet serviceYesNoNoNoYesNoNo internet serviceYesNoNo internet serviceNo internet serviceNo internet serviceYesNoNo internet serviceNo internet serviceNoYesNoNoYesYesNo internet serviceYesYesYesYesNoNoNo internet serviceNo internet serviceNoNoNo internet serviceNoNoNoNo internet serviceNoNo internet serviceYesNo internet serviceYesNoYesNoNoYesYesNoYesNo internet serviceNoNo internet serviceNoNoNoYesNoNoNo internet serviceNo internet serviceNoYesYesYesYesYesNoNoYesNo internet serviceNoNoNoYesNoYesYesNoYesNoNo internet serviceNo internet serviceNoYesNoNo internet serviceNoNoNoNo internet serviceNo internet serviceYesNoNo internet serviceNoYesYesNoYesNoYesYesYesNo internet serviceYesYesYesNo internet serviceNo internet serviceNoNoNoNoYesNoNoYesYesNoNoNoYesNo internet serviceNoYesNo internet serviceNo internet serviceNoNoNo internet serviceYesYesYesYesYesNoNoNoYesNo internet serviceYesNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceNoNoYesYesNoNoNoNoNoNoNo internet serviceNoNoNoNoYesYesNoNo internet serviceNoNoNoYesNoNoNoNoNo internet serviceNo internet serviceYesNoNoYesYesYesNoYesNoNo internet serviceNoNo internet serviceYesYesYesNoYesYesNoYesNoYesNoNoNo internet serviceNo internet serviceYesYesYesYesNoYesNo internet serviceYesNoYesYesNo internet serviceNoYesYesNo internet serviceYesNoNo internet serviceNo internet serviceNoYesNoNoYesNoNoYesYesNoYesYesNoYesNoNoNo internet serviceNoNoNoNoNoYesNo internet serviceYesNoNo internet serviceYesNoNoNoYesNoNo internet serviceNoNo internet serviceNoYesNoNoYesNo internet serviceNo internet serviceNoNoNoNo internet serviceNo internet serviceNoNoNoNo internet serviceNoYesYesNoYesNoNo internet serviceNo internet serviceNo internet serviceYesYesYesNoNo internet serviceYesNoYesNoYesYesNo internet serviceNoNo internet serviceNoNoYesNoNoYesNo internet serviceYesNo internet serviceNoNoNo internet serviceNoNoNoNoYesYesYesYesNoNoYesNoYesNoNoNoNo internet serviceNoNoNoYesNo internet serviceNoYesNoNoNoNo internet serviceNo internet serviceYesNoNoYesYesNoYesNoYesNo internet serviceNoNoNoNo internet serviceNoYesNoNoYesYesNo internet serviceNo internet serviceNoNo internet serviceYesNo internet serviceYesNoYesYesNo internet serviceYesNoNo internet serviceYesNoYesNo internet serviceNo internet serviceYesYesYesYesYesNoYesNoYesNoYesNoYesYesNoNoNoNoNoNo internet serviceYesNoYesNoNo internet serviceYesNoNoNoYesNoYesNoNo internet serviceYesNoNoNo internet serviceNoYesNo internet serviceNo internet serviceYesNo internet serviceNoYesNoNo internet serviceNoNoNoNoYesNo internet serviceYesNoYesNoNoNo internet serviceNo internet serviceYesNoNoNoNoNoNoNoYesYesYesYesNoYesNo internet serviceNoNoNoNo internet serviceNoNo internet serviceYesNoNo internet serviceYesYesYesYesNoNoNoNoNoYesNoNoYesNoNo internet serviceNo internet serviceNoNo internet serviceNoNoNoNoYesYesNo internet serviceNoYesNoYesNoYesNoYesNoNoNoNoYesNoYesNoNoNoNoYesNoNo internet serviceNoYesNoNo internet serviceNoYesNo internet serviceNoNoYesNo internet serviceYesYesYesNoYesNoYesYesNo internet serviceNoNoYesYesNoYesNoNoNoYesNoYesNoNo internet serviceNo internet serviceYesNo internet serviceNoNo internet serviceNoYesNoNo internet serviceYesYesNoNo internet serviceNo internet serviceNoYesYesYesNoNoNo internet serviceYesNoNoYesYesYesNo internet serviceNo internet serviceNo internet serviceNo internet serviceYesNo internet serviceNo internet serviceNoNoNoNoNo internet serviceNoYesNoYesYesNoYesYesNoNoYesNoNoYesNo internet serviceNoNoNoNo internet serviceNo internet serviceYesYesYesYesNo internet serviceNoNo internet serviceNoNoNoYesNoNo internet serviceYesYesNoNoYesNoYesNo internet serviceYesYesNo internet serviceYesNoNoYesYesNoNo internet serviceNo internet serviceNoNo internet serviceNo internet serviceNo internet serviceYesNo internet serviceNoNoNo internet serviceNo internet serviceNo internet serviceYesYesNoYesYesNoYesYesYesNoNoNoYesYesNo internet serviceNoNo internet serviceYesYesYesNo internet serviceYesYesNoYesNoNoNoYesNoNo internet serviceYesNoYesNoNoYesYesYesNoYesNo internet serviceYesYesNoNoYesNoNo internet serviceNo internet serviceNoNoNoYesNoYesNoNoNoNoNoNo internet serviceYesYesNoNo internet serviceYesNo internet serviceNoNoYesNoNo internet serviceNo internet serviceNoNoNoYesNo internet serviceYesNo internet serviceNoYesNoYesNo internet serviceYesNoYesNoNoYesNoNo internet serviceNoYesYesNoNoYesNo internet serviceNoNoNo internet serviceNoYesNoNo internet serviceNo internet serviceNoYesNo internet serviceNoNo internet serviceNoNoNo internet serviceYesNoNoNo internet serviceYesNoNoYesYesNo internet serviceNoNoYesNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceYesNo internet serviceYesNoNoNoYesYesNoNoNoNoYesNo internet serviceNo internet serviceNoNoNoNoYesNoYesYesNoNo internet serviceYesNoNoNoNoNoYesNoNo internet serviceYesNo internet serviceNo internet serviceNo internet serviceNoNo internet serviceYesYesYesYesNoNoNoNo internet serviceNoNo internet serviceYesYesNoNoNoNoYesYesNoYesYesNo internet serviceYesNo internet serviceYesNoYesYesNoNoNoNoNoNoNo internet serviceNoYesNoYesNoYesNoNo internet serviceNoNoNoNoNo internet serviceYesYesYesNoNoNoNo internet serviceNoNoNoNoNoYesYesNoNoYesYesNoNoYesYesYesYesNoNo internet serviceNoNoYesYesNo internet serviceNoYesYesNoNo internet serviceYesNoNoNo internet serviceYesYesYesNoNo internet serviceYesYesYesNo internet serviceNoYesNoNoYesYesYesNoNoNoYesYesNo internet serviceNoNo internet serviceYesYesYesNoNoNoNo internet serviceYesNoNo internet serviceNoYesNoNo internet serviceNoYesNoNoYesYesYesYesYesNoNo internet serviceNoNoYesYesNoYesYesYesYesNoYesYesYesYesNoNoYesYesYesNoNoNoYesYesNo internet serviceYesYesYesNoYesNo internet serviceYesYesNoYesNo internet serviceYesYesNoNoNoYesYesYesYesNoYesNo internet serviceNoNo internet serviceNo internet serviceNoYesYesNoNoNoYesYesNoNo internet serviceYesNoNoYesNoYesNo internet serviceNoYesNoNoNo' to numeric
Tip: Always check if the survey column is truly numeric or categorical!
# Best Practice 1: Create a segment index from crosstab proportions
ct_index = pd.crosstab(df['SeniorCitizen'], df['Churn'], normalize='index')
ct_index['Churn_Index'] = ct_index['Yes'] / ct_index['No']
print(np.round(ct_index[['Churn_Index']], 2))
Churn          Churn_Index
SeniorCitizen             
0                     0.31
1                     0.71
# Best Practice 2: Visualizing segment comparisons for stakeholders
import matplotlib.pyplot as plt
row_share.plot(kind='bar', stacked=True, color=['green','red'])
plt.title('Churn Rate by Contract Type')
plt.xlabel('Contract Type')
plt.ylabel('Proportion')
plt.legend(title='Churn')
plt.tight_layout()
plt.savefig('churn_barplot.png')
plt.close()
print('Bar plot saved as churn_barplot.png')
Bar plot saved as churn_barplot.png
# Best Practice 3: Trend analysis with cross-tab time series
monthly_churn = pd.crosstab(df['Contract'], df['Churn'])
if 'InvoiceDate' in df.columns:
    df['YearMonth'] = df['InvoiceDate'].dt.to_period('M')
    churn_trends = pd.crosstab(df['YearMonth'], df['Churn'])
    print(churn_trends.head())
else:
    print('InvoiceDate not available in this survey data.')
InvoiceDate not available in this survey data.

End-to-End Example: From Raw Data to Customer Insight#

  • We will load NPS survey results, cross-tabulate to compare loyalty by region, and give an actionable recommendation.
  • Segmenting and cross-tabbing lets us focus business resources where they matter most.
  • This is how market research informs better products and services.
# Load and segment NPS data for a business recommendation
nps_summary = pd.crosstab(nps_df['Region'], nps_df['NPS_Category'], normalize='index')
print(np.round(nps_summary * 100, 1))
top_region = nps_summary['Promoter'].idxmax()
low_region = nps_summary['Detractor'].idxmax()
print('Highest loyalty region:', top_region)
print('Most at-risk region:', low_region)
NPS_Category  Detractor  Passive  Promoter
Region                                    
East               67.3     17.7      15.0
North              57.7     25.5      16.8
South              69.4     15.7      14.9
West               65.8     12.8      21.4
Highest loyalty region: West
Most at-risk region: South
 

Found this useful?

All lessons, notebooks and datasets here are free. If they helped you, a coffee keeps new lessons coming.