GammaGammaModeloIndividual#
- class pymc_marketing.clv.models.gamma_gamma.GammaGammaModelIndividual(data=None, *, model_config=None, sampler_config=None)[fuente]#
Modelo Gamma-Gamma para el valor monetario futuro esperado.
El modelo Gamma-Gamma asume que el gasto futuro esperado sigue una distribución Gamma, y la escala de esta distribución también está distribuida según una Gamma.
Este modelo está condicionado a los valores de gasto de cada compra para cada cliente y se basa en [1], [2].
Consulte
GammaGammaModelpara un modelo equivalente condicionado a los valores medios de transacción de las compras repetidas para la población de clientes.- Parámetros:
- datos :
DataFrameDataFrame Dataframe que contiene las siguientes columnas:
customer_id: Identificador único del clienteindividual_transaction_value: Valor monetario de cada compra para cada cliente
- model_config :
dict, opcionalpython:dict, opcional Diccionario de parámetros previos del modelo. Si no se proporciona, el modelo utilizará los priors predeterminados especificados en el atributo de clase
default_model_config.- sampler_config :
dict, opcionalpython:dict, opcional Diccionario de parámetros del muestreador. Por defecto es Ninguno.
- datos :
Referencias
[1]Fader, P. S., y Hardie, B. G. (2013). «El modelo Gamma-Gamma del valor monetario». http://www.brucehardie.com/notes/025/gamma_gamma.pdf
[2]Peter S. Fader, Bruce G. S. Hardie y Ka Lok Lee (2005), “RFM y CLV: Uso de curvas iso-valor para el análisis de la base de clientes”, Journal of Marketing Research, 42 (noviembre), 415-430. https://journals.sagepub.com/doi/pdf/10.1509/jmkr.2005.42.4.415
Ejemplos
import pymc as pm from pymc_marketing.clv import GammaGammaModelIndividual model = GammaGammaModelIndividual( data=pandas.DataFrame( { "customer_id": [0, 0, 0, 1, 1, 2, ...], "individual_transaction_value": [5.3. 5.7, 6.9, 13.5, 0.3, 19.2 ...], } ), model_config={ "p": {dist: 'HalfNorm', kwargs: {}}, "q": {dist: 'HalfStudentT', kwargs: {"nu": 4, "sigma": 10}}, "v": {dist: 'HalfCauchy', kwargs: {}}, }, sampler_config={ "draws": 1000, "tune": 1000, "chains": 2, "cores": 2, "nuts_kwargs": {"target_accept": 0.95}, }, ) model.fit() print(model.fit_summary()) # Predict spend of customers for which we know transaction history, # conditioned on data. May include customers not included in fitting expected_customer_spend = model.expected_customer_spend( data=pandas.DataFrame( { "customer_id": [0, 0, 0, 1, 1, 2, ...], "individual_transaction_value": [5.3. 5.7, 6.9, 13.5, 0.3, 19.2 ...], } ), ) print(expected_customer_spend.mean("customer_id")) # Predict spend of 10 new customers, conditioned on data new_customer_spend = model.expected_new_customer_spend(n=10) print(new_customer_spend.mean("new_customer_id"))
Métodos
GammaGammaModelIndividual.__init__([data, ...])Inicializar la configuración del modelo y la configuración del muestreador para el modelo.
Convierte la configuración del modelo y la configuración del muestreador de los atributos a argumentos de palabra clave.
Construya el modelo a partir del objeto InferenceData.
Construya el modelo.
Cree atributos para los datos de inferencia.
GammaGammaModelIndividual.distribution_customer_spend(datos)Distribución posterior de los valores de gasto medio para cada cliente.
GammaGammaModelIndividual.distribution_new_customer_spend([...])Distribución posterior de los valores de gasto medio para nuevos clientes.
GammaGammaModelIndividual.expected_customer_lifetime_value(...)Calcule el valor promedio de vida útil para un grupo de uno o más clientes.
Calcule el valor medio de gasto futuro esperado por cliente.
Calcule el valor medio de gasto esperado para un nuevo cliente.
GammaGammaModelIndividual.fit([data, ...])Inferir la posterior del modelo.
GammaGammaModelIndividual.fit_summary(**kwargs)Calcule el resumen del resultado del ajuste.
GammaGammaModelIndividual.graphviz(**kwargs)Obtenga la representación graphviz del modelo.
Cree los kwargs de inicialización a partir de un objeto InferenceData.
GammaGammaModelIndividual.load(fname[, check])Cree una instancia de ModelBuilder a partir de un archivo.
Cree una instancia de ModelBuilder a partir de un objeto InferenceData.
GammaGammaModelIndividual.save(fname, **kwargs)Guarde los datos de inferencia del modelo en un archivo.
Establecer atributos en un objeto InferenceData.
Obtenga la tabla resumen del modelo.
Devuelva una copia del modelo con un resultado de ajuste reducido.
Atributos
default_model_configConfiguración de modelo predeterminada.
default_sampler_configConfiguración de muestreador predeterminada.
fit_resultObtenga el resultado de ajuste posterior fit_result.
idGenerar un valor hash único para el modelo.
posteriorposterior_predictivepredictionspriorprior_predictiveversionidatasampler_configmodel_config