def cdnow_customers(): return load_cdnow_summary()
import pytest import matplotlib matplotlib.use('AGG') # use a non-interactive backend from matplotlib import pyplot as plt from lifetimes import plotting from lifetimes import BetaGeoFitter, ParetoNBDFitter, ModifiedBetaGeoFitter from lifetimes.datasets import load_cdnow_summary, load_transaction_data from lifetimes import utils bgf = BetaGeoFitter() cd_data = load_cdnow_summary() bgf.fit(cd_data['frequency'], cd_data['recency'], cd_data['T'], iterative_fitting=1) @pytest.mark.plottest class TestPlotting(): @pytest.mark.mpl_image_compare(tolerance=30) def test_plot_period_transactions(self): plt.figure() plotting.plot_period_transactions(bgf) return plt.gcf() @pytest.mark.mpl_image_compare(tolerance=30) def test_plot_period_transactions_parento(self): pnbd = ParetoNBDFitter() pnbd.fit(cd_data['frequency'], cd_data['recency'], cd_data['T'], iterative_fitting=1) plt.figure()
def cd_data(): return load_cdnow_summary()