- 23 Mar, 2023
- read
El contenido presentado en este artículo está destinado únicamente para fines académicos. Las opiniones expresadas se basan en mi comprensión e investigación personal. Es importante tener en cuenta que el campo de los grandes datos y los lenguajes de programación discutidos, como Python, R, Power BI, Tableau y SQL, son dinámicos y están en constante evolución. Este artículo tiene como objetivo fomentar el aprendizaje, la exploración y la discusión dentro del campo en lugar de proporcionar respuestas definitivas. Se recomienda la discreción del lector.
Con Call Reporting, puede obtener una mejor comprensión del rendimiento de sus campañas centradas en llamadas, cuándo es más probable que llamen los clientes y qué campañas o las palabras clave generan la mayor cantidad de llamadas. Esta información puede ayudarlo a optimizar sus campañas y tomar decisiones basadas en datos para mejorar su estrategia publicitaria.
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from statsmodels.formula.api import ols
from IPython.display import display
call = pd.read_csv(r'D:\helen\Documents\Python\datasets\callreport.csv')
call.head(20)
call.head(20)
Resultado viendo nuestro data
call.shape
(100,2)
call_complete = call.dropna()
print(call_complete.isna().sum())
El método sum() se usa para calcular la suma de valores booleanos, que son generados por el método isna() para indicar valores faltantes (NaN) en su DataFrame. Esto le dará el recuento de valores faltantes para cada columna en el DataFrame de call_complete.
Resultado
|date—————|:——————-:|0—-:| |day_ofweek———|:——————-:|0—-:| |call_duration——|:——————-:|0—-:| |hour—————|:——————-:|0—-:| |area_code_location-|:——————-:|0—-:| |recorded ———-|:——————-:|0—-:| |call_outcome ——|:——————-:|0—-:| |call_source ——-|:——————-:|0—-:| |call_type ———|:——————-:|0—-:| |campaing ———-|:——————-:|0—-:| |device_type ——-|:——————-:|0—-:| |ad_position ——-|:——————-:|0—-:| dtype: int64
Aquí, la función pivot_table utilizará la función de agregación media (promedio) para calcular los valores de cada celda en la tabla dinámica. Por lo tanto, la tabla dinámica resultante mostrará los valores promedio de “posición de anuncio” para cada combinación de “tipo_de_dispositivo” y “campaña”
call_by_campaing = call.pivot_table('ad_position', index="device_type", columns="campaing")
print(call_by_campaing)
Resultado
campaing | Website | app |
---|---|---|
device_type | ||
———– | :——-: | ——-: |
desktop | 4.000000 | 3.800000 |
mobile | 2.409091 | 2.565217 |
tablet | 1.421053 | 3.312500 |
Todo es más comprensible usando una visualización.
La visualización de datos mediante bibliotecas como Seaborn (sns) en Python puede mejorar en gran medida nuestra comprensión de los datos y hacer que los patrones, las tendencias y las relaciones sean más evidentes. ¡¡¡Vamos a ver!!!
Cuando ejecutamos este código, generará un gráfico de conteo donde cada barra representa el conteo de ocurrencias para diferentes valores de “posición de anuncio”, y las barras se agrupan por “campaña”, utilizando diferentes colores. Entonces, en este caso, la campaña para sitio web muestra una Posición de anuncio alta Si su anuncio aparece en una de las primeras posiciones en la página de resultados de búsqueda (p. ej., posición 1 o 2), es más probable que los usuarios lo vean y les resulte conveniente hacer clic en la extensión de llamada y iniciar una llamada directamente desde el anuncio. Los usuarios que están buscando activamente su producto o servicio y ven su anuncio destacado tienen más probabilidades de interactuar con la extensión de llamada.
sns.countplot(data=call,
y="ad_position",
hue="campaing")
plt.show()
plt.clf()
RESULTADO
sns.barplot(data=call,
y='ad_position',
x='device_type',
hue='campaing')
plt.show()
plt.clf()
En este contexto,
La visualización tiene como objetivo mostrar cómo los tipos de dispositivos de los usuarios (como dispositivos móviles, tabletas o computadoras de escritorio) influyen en la posición del anuncio y las campañas con las que interactúan. El parámetro de tono le permite diferenciar y comparar diferentes campañas dentro de cada tipo de dispositivo.
RESULTADO
sns.barplot(data=call,
y='ad_position',
x='day_ofweek',
hue='campaing')
plt.show()
plt.clf()
Para este escenario,
La visualización muestra la relación entre el día de la semana (eje x), la posición del anuncio (eje y) y las diferentes campañas (tono). Mediante el análisis de este gráfico, podemos determinar en qué días los usuarios tienden a hacer clic más en llamadas de anuncios, cómo las posiciones de anuncios afectan la interacción de los usuarios en diferentes días y qué campañas están funcionando bien en días específicos de la semana.
RESULTADO
sns.barplot(data=call,
y='call_duration',
x='device_type',
hue='campaing')
plt.show()
plt.clf()