Está en la página 1de 13

SEGUNDA PRACTICA CALIFICADA

Desarrolle las siguientes actividades:


Haciendo uso de los datos de transacciones de ventas disponible.

1. Reproducir el procedimiento desarrollado por el profesor, en un solo programa.


2. Explique paso a paso, qué es lo que está haciendo el procedimiento, apóyese de la
impresión de los resultados, intermedio.
3. Eliminar las instrucciones que sirven para imprimir los resultados.
4. Analizar la influencia de los valores extremos en la formación de los grupos.
tx_user = tx_user[tx_user['Revenue']<tx_user['Revenue'].quantile(0.98)]
5. Para el ejercicio 10, determine la cantidad de grupos VVC apropiado.
Un buen grupo es aquel que tiene sus integrantes cohesionados.
6. Haciendo un análisis manual, determine el orden de los grupos VVC, es decir qué
grupo VVC es el de mayor rendimiento y cuál el de menor rendimiento (se trata de
identificar los criterios).
7. Diga cuántos clientes tiene la empresa en cada grupo VVC.
8. Prepare un breve Dx de la empresa usando estos resultados.

Se presenta hasta el lunes 12 hasta las 9.00 pm, enviar por correo al IGC)

Presente un documento explicando su procedimiento y resultados.


SOLUCIÓN 1:

Para los datos proporcionados. 541,909 registros de transacciones de ventas.

InvoiceNo StockCode Description Quantity InvoiceDate UnitPrice CustomerID Country


WHITE HANGING HEART
536365 85123A T-LIGHT HOLDER 6 12/01/2010 08:26 2.55 17850 United Kingdom
536365 71053 WHITE METAL LANTERN 6 12/01/2010 08:26 3.39 17850 United Kingdom
CREAM CUPID HEARTS
536365 84406B COAT HANGER 8 12/01/2010 08:26 2.75 17850 United Kingdom
KNITTED UNION FLAG
536365 84029G HOT WATER BOTTLE 6 12/01/2010 08:26 3.39 17850 United Kingdom
RED WOOLLY HOTTIE
536365 84029E WHITE HEART. 6 12/01/2010 08:26 3.39 17850 United Kingdom
SET 7 BABUSHKA
536365 22752 NESTING BOXES 2 12/01/2010 08:26 7.65 17850 United Kingdom
GLASS STAR FROSTED T-
536365 21730 LIGHT HOLDER 6 12/01/2010 08:26 4.25 17850 United Kingdom
HAND WARMER UNION
536366 22633 JACK 6 12/01/2010 08:28 1.85 17850 United Kingdom
HAND WARMER RED
536366 22632 POLKA DOT 6 12/01/2010 08:28 1.85 17850 United Kingdom
ASSORTED COLOUR BIRD
536367 84879 ORNAMENT 32 12/01/2010 08:34 1.69 13047 United Kingdom

Calcule:
- el número productos diferentes que se vende: 4,070
- el rango de fechas de ventas: 2010-12-01 al 2011-12-09
- el número clientes: 4,372

# import libraries
import pandas as pd

# 1. Leer los datos ------------------------------------------


tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')

# 2.1 Creando característica ---------------------------------


# convirtiendo el tipo de dato del campo InvoiceDate de string a datetime.
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])

# creando el campo YearMonth para reporte y visualizacion


tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)

# se trabaja solo con los datos de 'United Kingdom'


tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)

Para los datos proporcionados calcule:

La fecha de la última transacción de la BD.


La fecha de la última transacción de cada cliente.
Días entre la última transacción de c/cliente y la última transacción de la BD (recency)
# import libraries
import pandas as pd
import sys
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# lee los datos y crea
tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])
tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)
tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)
# creando una dataframe generico para capturar el CustomerID y nuevos escores de
segmentación
tx_user = pd.DataFrame(tx_data['CustomerID'].unique())
tx_user.columns = ['CustomerID']
# 3. Recency ----------------------
# calcula la fecha máxima de compra por cada cliente
tx_max_purchase = tx_uk.groupby('CustomerID').InvoiceDate.max().reset_index()
tx_max_purchase.columns = ['CustomerID','MaxPurchaseDate']
# Compara la fecha de la última transacción por cada cliente
tx_max_purchase['Recency'] = (tx_max_purchase['MaxPurchaseDate'].max() -
tx_max_purchase['MaxPurchaseDate']).dt.days
# pasa estos datos a tx_user
tx_user = pd.merge(tx_user, tx_max_purchase[['CustomerID','Recency']],
tx_user.Recency.plot.hist(bins=100)
plt.show()

Determine en cuántos grupos se puede agrupar los datos de recency.

El criterio usado es el grado de dispersión entre los elementos del grupo.


from sklearn.cluster import KMeans
import pandas as pd
import matplotlib.pyplot as plt
# lee los datos y crea Recency
tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])
tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)
tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)
tx_user = pd.DataFrame(tx_data['CustomerID'].unique())
tx_user.columns = ['CustomerID']
tx_max_purchase = tx_uk.groupby('CustomerID').InvoiceDate.max().reset_index()
tx_max_purchase.columns = ['CustomerID','MaxPurchaseDate']
tx_max_purchase['Recency'] = (tx_max_purchase['MaxPurchaseDate'].max() -
tx_max_purchase['MaxPurchaseDate']).dt.days
tx_user = pd.merge(tx_user, tx_max_purchase[['CustomerID','Recency']],
on='CustomerID')
sse={} # error
tx_recency = tx_user[['Recency']]
for k in range(1, 10):
kmeans = KMeans(n_clusters=k, max_iter=1000).fit(tx_recency)
tx_recency["clusters"] = kmeans.labels_ # nombre de los grupos corresponcluster
names corresponding to recency values
sse[k] = kmeans.inertia_ #sse correspondiente al grupo
plt.figure()
plt.plot(list(sse.keys()), list(sse.values()))
plt.xlabel("Número of grupos")
plt.show()
# 3.1 Asigna score de recency --------------------------
# construye 4 grupos para recency y adiciona a tx_user
kmeans = KMeans(n_clusters=4)
tx_user['RecencyCluster'] = kmeans.fit_predict(tx_user[['Recency']])
print(tx_user.head().to_string())
print(tx_user.groupby('RecencyCluster')['Recency'].describe().to_string())
# ordena los grupos
tx_user = order_cluster('RecencyCluster', 'Recency',tx_user,False)
print(tx_user.head().to_string())
print(tx_user.groupby('RecencyCluster')['Recency'].describe().to_string())

Para los datos proporcionados calcule:


• La frecuencia de transacciones por cada cliente.
• El histograma de la frecuencia de transacciones por cada cliente
• Determine los grupos (4) para la frecuencia.
• Asigne el grupo del frecuencia a la tabla tx_user.
import libraries
import pandas as pd
import numpy as np
import sys
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
def order_cluster(cluster_field_name, target_field_name,df,ascending):
new_cluster_field_name = 'new_' + cluster_field_name
df_new = df.groupby(cluster_field_name)[target_field_name].mean().reset_index()
df_new =
df_new.sort_values(by=target_field_name,ascending=ascending).reset_index(drop=Tr
ue)
df_new['index'] = df_new.index
df_final = pd.merge(df,df_new[[cluster_field_name,'index']], on=cluster_field_name)
df_final = df_final.drop([cluster_field_name],axis=1)
df_final = df_final.rename(columns={"index":cluster_field_name})
return df_final
# lee los datos y crea
tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])
tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)
tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)
# creando una dataframe generico para capturar el CustomerID y nuevos escores de
segmentación
tx_user = pd.DataFrame(tx_data['CustomerID'].unique())
tx_user.columns = ['CustomerID']
# 4. Frecuencia
# calcula el numero de transacciones por c/cliente
tx_frequency = tx_uk.groupby('CustomerID').InvoiceDate.count().reset_index()
tx_frequency.columns = ['CustomerID','Frequency']
print(tx_frequency.head().to_string()) # cuantas ordenes tiene un cliente
# pasa estos datos a tx_user
tx_user = pd.merge(tx_user, tx_frequency, on='CustomerID')
print(tx_user.head().to_string())
tx_user.Frequency.plot.hist(bins=100)
plt.show()
# 4.1 Asigna score de frecuencia
# construye 4 grupos para frecuencia y adiciona a tx_user
kmeans=KMeans(n_clusters=4)
tx_user['FrequencyCluster']=kmeans.fit_predict(tx_user[['Frequency']])
print(tx_user.head().to_string())
print(tx_user.groupby('FrequencyCluster')['Frequency'].describe().to_string())
# ordenando por la frecuencia del cluster
tx_user = order_cluster('FrequencyCluster', 'Frequency', tx_user, True )
print(tx_user.head().to_string())
print(tx_user.groupby('FrequencyCluster')['Frequency'].describe().to_string())

Para los datos proporcionados calcule:


• La ingreso por cada transacción (revenue).
• El histograma del ingreso.
• Determine los grupos (4) para el ingreso.
• Asigne el grupo del ingreso a la tabla tx_user.
import libraries
import pandas as pd
import numpy as np
import sys
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
def order_cluster(cluster_field_name, target_field_name,df,ascending):
new_cluster_field_name = 'new_' + cluster_field_name
df_new = df.groupby(cluster_field_name)[target_field_name].mean().reset_index()
df_new =
df_new.sort_values(by=target_field_name,ascending=ascending).reset_index(drop=Tr
ue)
df_new['index'] = df_new.index
df_final = pd.merge(df,df_new[[cluster_field_name,'index']], on=cluster_field_name)
df_final = df_final.drop([cluster_field_name],axis=1)
df_final = df_final.rename(columns={"index":cluster_field_name})
return df_final
# lee los datos y crea
tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])
tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)
tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)
# creando una dataframe generico para capturar el CustomerID y nuevos escores de
segmentación
tx_user = pd.DataFrame(tx_data['CustomerID'].unique())
tx_user.columns = ['CustomerID']
# 5. Revenue
# calcula el ingreso por cada cliente
tx_uk['Revenue'] = tx_uk['UnitPrice'] * tx_uk['Quantity']
tx_revenue = tx_uk.groupby('CustomerID').Revenue.sum().reset_index()
print(tx_revenue.head().to_string())
# pasa estos datos a tx_user
tx_user = pd.merge(tx_user, tx_revenue, on='CustomerID')
print(tx_user.head().to_string())
tx_user.Revenue.plot.hist(bins=100)
plt.show()
# 5.1. Asigna score de revenue
# construye 4 grupos para frecuencia y adiciona a tx_user
kmeans = KMeans(n_clusters=4)
tx_user['RevenueCluster'] = kmeans.fit_predict(tx_user[['Revenue']])
print(tx_user.head().to_string())
print(tx_user.groupby('RevenueCluster')['Revenue'].describe().to_string())
# ordenando por la frecuencia del cluster
tx_user = order_cluster('RevenueCluster', 'Revenue',tx_user,True)
print(tx_user.head().to_string())

SOLUCIÓN 2

Inicialmente se busca entender el número de productos diferentes que se pueden


encontrar dentro de la base de datos para poder tener claro a lo que nos enfrentamos
en este análisis, recordemos que este tipo de análisis en la empresa simboliza contar el
número de SKUs que participan en nuestra cartera, también calcula las fechas en las
que se va llevar a cabo el análisis para este conjunto de datos y finalmente diferencia
todos ellos en la cantidad de clientes a los que se les ofrece estos productos. Como
parte de su análisis también busca conocer fecha de las últimas transacciones
realizadas por el cliente para poder encontrar una frecuencia y realizar un análisis
exacto. Posteriormente se hace una asignación de grupos, para el caso del problema
se confirma que son 4 grupos y se hace un análisis basado en análisis conjuntos entre
estos, recordar que está basado en su recency. Posteriormente se realiza una
distribución de las frecuencias de las transacciones para cada cliente y se plasma en un
histograma de frecuencia de trx. Con esto se puede determinar los grupos para cada
frecuencia. Luego se realiza un análisis semejante con variables de revenue e ingreso
para hacer la misma distribución por grupos en un histograma. Finalmente realiza
agrupamientos y los lleva a un análisis tridimensional, los toma de tres en tres y los plans
enfocando todas sus variables de recency, frecuency y revenue.

SOLUCIÓN 3

# import libraries
import pandas as pd

# 1. Leer los datos ------------------------------------------


tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')

# 2.1 Creando característica ---------------------------------


# convirtiendo el tipo de dato del campo InvoiceDate de string a datetime.
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])

# creando el campo YearMonth para reporte y visualizacion


tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)

# se trabaja solo con los datos de 'United Kingdom'


tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)

Para los datos proporcionados calcule:

La fecha de la última transacción de la BD.


# import libraries
import pandas as pd
import sys
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# lee los datos y crea
tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])
tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)
tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)
# creando una dataframe generico para capturar el CustomerID y nuevos escores de
segmentación
tx_user = pd.DataFrame(tx_data['CustomerID'].unique())
tx_user.columns = ['CustomerID']
# 3. Recency ----------------------
# calcula la fecha máxima de compra por cada cliente
tx_max_purchase = tx_uk.groupby('CustomerID').InvoiceDate.max().reset_index()
tx_max_purchase.columns = ['CustomerID','MaxPurchaseDate']
print(tx_max_purchase.head().to_string())
# Compara la fecha de la última transacción por cada cliente
tx_max_purchase['Recency'] = (tx_max_purchase['MaxPurchaseDate'].max() -
tx_max_purchase['MaxPurchaseDate']).dt.days
print(tx_max_purchase.head().to_string())
# pasa estos datos a tx_user
tx_user = pd.merge(tx_user, tx_max_purchase[['CustomerID','Recency']],
on='CustomerID')
plt.show()
from sklearn.cluster import KMeans
import pandas as pd
import matplotlib.pyplot as plt
# lee los datos y crea Recency
tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])
tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)
tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)
tx_user = pd.DataFrame(tx_data['CustomerID'].unique())
tx_user.columns = ['CustomerID']
tx_max_purchase = tx_uk.groupby('CustomerID').InvoiceDate.max().reset_index()
tx_max_purchase.columns = ['CustomerID','MaxPurchaseDate']
tx_max_purchase['Recency'] = (tx_max_purchase['MaxPurchaseDate'].max() -
tx_max_purchase['MaxPurchaseDate']).dt.days
tx_user = pd.merge(tx_user, tx_max_purchase[['CustomerID','Recency']],
on='CustomerID')
sse={} # error
tx_recency = tx_user[['Recency']]
for k in range(1, 10):
kmeans = KMeans(n_clusters=k, max_iter=1000).fit(tx_recency)
tx_recency["clusters"] = kmeans.labels_ # nombre de los grupos corresponcluster
names corresponding to recency values
sse[k] = kmeans.inertia_ #sse correspondiente al grupo
plt.figure()
plt.plot(list(sse.keys()), list(sse.values()))
plt.xlabel("Número of grupos")
plt.show()

# 3.1 Asigna score de recency --------------------------


# construye 4 grupos para recency y adiciona a tx_user
kmeans = KMeans(n_clusters=4)
tx_user['RecencyCluster'] = kmeans.fit_predict(tx_user[['Recency']])
# ordena los grupos
tx_user = order_cluster('RecencyCluster', 'Recency',tx_user,False)
print(tx_user.head().to_string())
print(tx_user.groupby('RecencyCluster')['Recency'].describe().to_string())
import libraries
import pandas as pd
import numpy as np
import sys
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
def order_cluster(cluster_field_name, target_field_name,df,ascending):
new_cluster_field_name = 'new_' + cluster_field_name
df_new = df.groupby(cluster_field_name)[target_field_name].mean().reset_index()
df_new =
df_new.sort_values(by=target_field_name,ascending=ascending).reset_index(drop=Tr
ue)
df_new['index'] = df_new.index
df_final = pd.merge(df,df_new[[cluster_field_name,'index']], on=cluster_field_name)
df_final = df_final.drop([cluster_field_name],axis=1)
df_final = df_final.rename(columns={"index":cluster_field_name})
return df_final
# lee los datos y crea
tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])
tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)
tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)
# creando una dataframe generico para capturar el CustomerID y nuevos escores de
segmentación
tx_user = pd.DataFrame(tx_data['CustomerID'].unique())
tx_user.columns = ['CustomerID']
# 4. Frecuencia
# calcula el numero de transacciones por c/cliente
tx_frequency = tx_uk.groupby('CustomerID').InvoiceDate.count().reset_index()
tx_frequency.columns = ['CustomerID','Frequency']
print(tx_frequency.head().to_string()) # cuantas ordenes tiene un cliente
# pasa estos datos a tx_user
tx_user = pd.merge(tx_user, tx_frequency, on='CustomerID')
print(tx_user.head().to_string())
tx_user.Frequency.plot.hist(bins=100)
plt.show()
# 4.1 Asigna score de frecuencia
# construye 4 grupos para frecuencia y adiciona a tx_user
kmeans=KMeans(n_clusters=4)
tx_user['FrequencyCluster']=kmeans.fit_predict(tx_user[['Frequency']])
print(tx_user.head().to_string())
print(tx_user.groupby('FrequencyCluster')['Frequency'].describe().to_string())
# ordenando por la frecuencia del cluster
tx_user = order_cluster('FrequencyCluster', 'Frequency', tx_user, True )

import libraries
import pandas as pd
import numpy as np
import sys
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
def order_cluster(cluster_field_name, target_field_name,df,ascending):
new_cluster_field_name = 'new_' + cluster_field_name
df_new = df.groupby(cluster_field_name)[target_field_name].mean().reset_index()
df_new =
df_new.sort_values(by=target_field_name,ascending=ascending).reset_index(drop=Tr
ue)
df_new['index'] = df_new.index
df_final = pd.merge(df,df_new[[cluster_field_name,'index']], on=cluster_field_name)
df_final = df_final.drop([cluster_field_name],axis=1)
df_final = df_final.rename(columns={"index":cluster_field_name})
return df_final
# lee los datos y crea
tx_data = pd.read_csv('./data/customer_segmentation.csv', encoding='cp1252')
tx_data['InvoiceDate'] = pd.to_datetime(tx_data['InvoiceDate'])
tx_data['InvoiceYearMonth'] = tx_data['InvoiceDate'].map(lambda date: 100*date.year +
date.month)
tx_uk = tx_data.query("Country=='United Kingdom'").reset_index(drop=True)
# creando una dataframe generico para capturar el CustomerID y nuevos escores de
segmentación
tx_user = pd.DataFrame(tx_data['CustomerID'].unique())
tx_user.columns = ['CustomerID']
# 5. Revenue
# calcula el ingreso por cada cliente
tx_uk['Revenue'] = tx_uk['UnitPrice'] * tx_uk['Quantity']
tx_revenue = tx_uk.groupby('CustomerID').Revenue.sum().reset_index()
# pasa estos datos a tx_user
tx_user = pd.merge(tx_user, tx_revenue, on='CustomerID')
tx_user.Revenue.plot.hist(bins=100)
plt.show()
# 5.1. Asigna score de revenue
# construye 4 grupos para frecuencia y adiciona a tx_user
kmeans = KMeans(n_clusters=4)
tx_user['RevenueCluster'] = kmeans.fit_predict(tx_user[['Revenue']])

# ordenando por la frecuencia del cluster


tx_user = order_cluster('RevenueCluster', 'Revenue',tx_user,True)

SOLUCIÓN 4

tx_user = tx_user[tx_user['Revenue']<tx_user['Revenue'].quantile(0.98)]

Esta nueva transacción nos permite ampliar el detalle para borrar los datos extremos

Para este caso uso FRECUENCY en vez de revenue para darle otra visualización

tx_user = tx_user[tx_user['FRECUENCY']<tx_user['FRECUENCY'].quantile(0.98)]

SOLUCIÓN 5

Se asigna el número de grupos, para los casos que revisamos en clases son 4.

SOLUCIÓN 6
SOLUCIÓN 7

Para los datos proporcionados. 541,909 registros de transacciones de ventas.

InvoiceNo StockCode Description Quantity InvoiceDate UnitPrice CustomerID Country


WHITE HANGING HEART
536365 85123A T-LIGHT HOLDER 6 12/01/2010 08:26 2.55 17850 United Kingdom
536365 71053 WHITE METAL LANTERN 6 12/01/2010 08:26 3.39 17850 United Kingdom
CREAM CUPID HEARTS
536365 84406B COAT HANGER 8 12/01/2010 08:26 2.75 17850 United Kingdom
KNITTED UNION FLAG
536365 84029G HOT WATER BOTTLE 6 12/01/2010 08:26 3.39 17850 United Kingdom
RED WOOLLY HOTTIE
536365 84029E WHITE HEART. 6 12/01/2010 08:26 3.39 17850 United Kingdom
SET 7 BABUSHKA
536365 22752 NESTING BOXES 2 12/01/2010 08:26 7.65 17850 United Kingdom
GLASS STAR FROSTED T-
536365 21730 LIGHT HOLDER 6 12/01/2010 08:26 4.25 17850 United Kingdom
HAND WARMER UNION
536366 22633 JACK 6 12/01/2010 08:28 1.85 17850 United Kingdom
HAND WARMER RED
536366 22632 POLKA DOT 6 12/01/2010 08:28 1.85 17850 United Kingdom
ASSORTED COLOUR BIRD
536367 84879 ORNAMENT 32 12/01/2010 08:34 1.69 13047 United Kingdom

Calcule:
- el número productos diferentes que se vende: 4,070
- el rango de fechas de ventas: 2010-12-01 al 2011-12-09
- el número clientes: 4,372

SOLUCIÓN 8

Prepare un breve Dx de la empresa usando estos resultados.

Un resumen de análisis de Númer de grupos de la empresa, frecuencias y análisis


múltiple de variable.

También podría gustarte