[0.2.8] - 2026-06-07
Added
-
optimize(kind='mr'): new 1-D optimization model for the recency axis.
Enforces monotone decreasing + convex constraints on the marginal recency probability R2Prob,
then broadcasts the result across all frequency values. -
optimize(kind='mf'): new 1-D optimization model for the frequency axis.
Enforces monotone increasing + concave constraints on the marginal frequency probability F2Prob,
then broadcasts the result across all recency values. -
ermodel: empirical recency marginal probability (R2Prob) broadcast to the full RF grid.
Computed automatically insidefit()/fit_period(); no extra call needed. -
efmodel: empirical frequency marginal probability (F2Prob) broadcast to the full RF grid.
Computed automatically insidefit()/fit_period(); no extra call needed. -
Corresponding attributes populated by
optimize(kind='mr'):
mr_probability_,mr_probability_table_,mr_probability_dict_ -
Corresponding attributes populated by
optimize(kind='mf'):
mf_probability_,mf_probability_table_,mf_probability_dict_ -
Corresponding attributes populated by
fit()/fit_period():
er_probability_,er_probability_table_,er_probability_dict_,
ef_probability_,ef_probability_table_,ef_probability_dict_ -
Kind alias system: long descriptive names are accepted everywhere and normalized to their
canonical short forms via_normalize_kind().Alias Canonical empiricalempempirical_recencyerempirical_frequencyefmonotonemonomonotone_recencymrmonotone_frequencymfmonotone_recency_convexmrcmonotone_frequency_concavemfcmonotone_convex_concavemcc -
plot_marginal_probability()now accepts akindparameter ("emp","mr","mf","all").
kind="all"overlays the empirical and optimized 1-D series on the same axes
(solid line foremp, dashed line formr/mf).
Changed
- Internal canonical kind name changed from
"empirical"to"emp"for consistency with all other
short-form kind names (mono,mr,mf,mrc,mfc,mcc).
The string"empirical"continues to work as an alias. plot_marginal_probability(): replacedxlabelparameter withrecency_label/frequency_label
to match the naming convention ofplot_probability_surface().img/surface_empirical_probability.pngrenamed toimg/surface_emp_probability.png.export_probability_csv(kind='all')now outputs all nine models:
emp,er,ef,mono,mr,mf,mrc,mfc,mcc.