rfm_train_test_split#
- pymc_marketing.clv.utils.rfm_train_test_split(transactions, customer_id_col, datetime_col, train_period_end, test_period_end=None, time_unit='D', time_scaler=1, datetime_format=None, monetary_value_col=None, include_first_transaction=False, sort_transactions=True)[fuente]#
Resuma los datos de transacciones y divídalos en conjuntos de datos de entrenamiento y prueba para el modelado de CLV.
Esto también se puede utilizar para evaluar el impacto de una intervención basada en el tiempo, como una campaña de marketing.
- Esto transforma un DataFrame de datos de transacciones de la forma:
customer_id, fecha y hora [, valor_monetario]
- a un DataFrame de la forma:
customer_id, frecuencia, recencia, T [, valor_monetario], frecuencia_prueba [, valor_monetario_prueba], test_T
Tenga en cuenta que esta función excluirá a los nuevos clientes cuyas primeras transacciones ocurrieron durante el período de prueba.
Adaptado de la biblioteca heredada
lifetimes: CamDavidsonPilon/lifetimes- Parámetros:
- transacciones :
DataFrameDataFrame Un DataFrame de Pandas que contiene customer_id_col y datetime_col.
- customer_id_col
str Columna en el DataFrame transactions que denota el customer_id.
- datetime_col
str Columna en el DataFrame de transacciones que denota las fechas y horas en las que se realizaron las compras.
- train_period_end :
Union[str,pandas.Period,datetime], opcionalUnión[python:str, pandas.Period, datetime], opcional Una cadena o fecha y hora para denotar el período de tiempo final para los datos de entrenamiento. Los eventos después de este período de tiempo se utilizan para los datos de prueba.
- test_period_end :
Union[str,pandas.Period,datetime], opcionalUnión[python:str, pandas.Period, datetime], opcional Una cadena o fecha y hora para denotar el período final del estudio. Los eventos después de esta fecha se truncarán. Si no se proporciona, se establece por defecto en el máximo de datetime_col.
- unidad_tiempo :
str, opcionalpython:str, opcional Granularidad de tiempo para el estudio. Predeterminado: “D” para días. Los valores posibles se enumeran aquí: https://numpy.org/devdocs/reference/arrays.datetime.html#datetime-units
- time_scaler :
int, opcionalpython:int, opcional Predeterminado: 1. Escala recencia y T a una granularidad temporal diferente. Esto es útil para conjuntos de datos que abarcan muchos años y para realizar predicciones en diferentes escalas de tiempo.
- datetime_format :
str, opcionalpython:str, opcional Una cadena que representa el formato de la marca de tiempo. Útil si Pandas no reconoce el formato proporcionado.
- monetary_value_col :
str, opcionalpython:str, opcional Columna en el DataFrame de transacciones que denota el valor monetario de la transacción. Opcional; solo se necesita para modelos de estimación de gastos como el modelo Gamma-Gamma.
- include_first_transaction : bool, opcionalbool, opcional
Predeterminado: Falso Para el modelado predictivo de CLV, esto debe ser Falso. Establezca en Verdadero si está realizando segmentación RFM.
- sort_transactions : bool, opcionalbool, opcional
Predeterminado: Verdadero Si los datos sin procesar ya están ordenados en orden cronológico, establezca en Falso para mejorar la eficiencia computacional.
- transacciones :
- Devoluciones:
DataFrameDataframe que contiene datos RFM resumidos y columnas de prueba para frecuencia, T y valor_monetario si se especifican.