forked from mplatzer/BTYDplus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
161 lines (130 loc) · 6.68 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
1.1.4
- `elog2cbs` handles now empty elogs gracefully (#58)
1.1.3
- limit simulated life length to 10k events in `xbgcnbd.GenerateData`
1.1.2
- fix `mcmc.ExpectedCumulativeTransactions` for Pareto/NBD (Abe) with covariates (#55)
- add ability to provide covariates to `abe.generateData`
1.1.1
- added `sales.x` to `elog2cbs` output, which sums over sales in calibration, but excludes initial transaction (thanks to msinjin for the suggestion)
1.1.0
- added `(m)bgcnbd.PlotFreqVsConditionalExpectedFrequency` methods
- added `(m)bgcnbd.PlotRecVsConditionalExpectedFrequency` methods
1.0.2
- speed up `xbgcnbd.EstimateParameters` by lowering lower bound of early stop to k=3
1.0.1
- reduce run time of tests and example code
- add source info to `groceryElog` dataset
1.0.0
- updated package Vignette
- bump in major version number to reflect intended first CRAN release
0.11.x
- bug fix in Pareto/GGG demo
0.11.3
- bug fix in MBG/CNBD-k demo which used a deprecated method name
0.11.2
- add option `date.zero` to specify start date for cohort in `*.GenerateData` methods
0.11.1
- hot fix for broken `elog2cbs` in `0.11.0` release
0.11.0
- rewrote `*.GenerateData` methods
* generated event log now also contains `date` field
* if `T.cal` varies, then customer's start date will also vary
* use `elog2cbs` internally to convert generated event log to CBS format; this also adds `first` to CBS
* `*.GenerateData` now always returns the event log -> argument `return.elog` has been removed
* fix bug for `*.GenerateData` in case of with highly varying `T.cal` (fixes #42)
- fix top margin of `mcmc.plotPActiveDiagnostic`
0.10.2
- avoid internal C++ compile warning message
- R CMD CHECK now returns 0 errors and 0 warnings
0.10.1
- add lintr checks for adhering to consistent code style
- run spellcheck for docs
0.10.0
- add a package vignette
- add AppVeyor for automated build tests on Windows
- rename `plotSampledTimingPatterns` to `plotTimingPatterns`
- rename argument `per` to `units` for `elog2cbs` to be consistent with `difftime`
- fix `elog2cbs`: allow T.tot to be larger than max(elog$date)
- fix `elog2inc` and `elog2cum` to not report last week, if that is not complete
- only do bias correction for `mbgcnbd.ConditionalExpectedTransactions` when we can safely assume that the whole customer cohort is passed
- `abe.mcmc.DrawParameters` can now handle data.table's
- add ability to determine minimum number of transactions per customers to `estimateRegularity`
0.9.0
- add argument `first` to `elog2cum` and `elog2inc`
- bugfix for `elog2inc` and `elog2cum` for elogs where dates are missing
- add `groceryElog` dataset, and remove `cdnow.sample()`
- use `groceryElog` dataset for demos and examples
- `elog2cbs` prunes columns, if `elog$sales` or `T.cal` is not provided
0.8.3
- rewrite demos
- add `plotSampledTimingPatterns` for plotting samples of timing patterns
- add `mbgnbd.EstimateParameters` to estimate MBG/NBD model
0.8.2
- improve documentation
- remove MBG/NBD methods, as these are easily accessible via the MBG/CNBD-k methods
- allow `T.star` to be a vector in `*.GenerateData` methods for MCMC models
0.8.0
- add
* `pnbd.GenerateData`
* `mcmc.pmf`
* `mcmc.Expectation`
* `mcmc.mcmc.ExpectedCumulativeTransactions`
* `mcmc.PlotTrackingCum`
* `mcmc.PlotTrackingInc`
* `mcmc.PlotFrequencyInCalibration`
- adapt `bgcnbd.pmf` to return matrix in case that both `t` and `x` are vectors
- dropp unnecessary `cal.cbs` argument from `mcmc.PAlive`
- allow flexible sample size in `mcmc.DrawFutureTransactions`
- removeGammaGompertz/NBD due to broken `ggnbd.ConditionalExpectedTransactions`
0.7.2
- add new methods: `elog2inc`, `elog2cum`, `cdnow.sample`
- improve documentation and demos
0.7.1
- `elog2cbs` now returns sum over sales for calibration and holdout period
- enhance CDNow demo with estimating of monetary component (i.e. CLV estimate)
- methods accepting `params` check for names, if named vectors are passed
0.7.0
- disable `ggnbd.ConditionalExpectedTransactions`
- (m)bgcnbd.ConditionalExpectedTransactions uses same h2f1 method as BTYD, if GSL is not present
- add Travis-CI
- format R code with `formatR::tidy_dir('R', indent=2)`
0.6.4
- (m)bgcnbd.GenerateData can now handle multiple holdout period lengths, and differing calibration periods for each customer
- fix bias in (m)bgcnbd.ConditionalExpectedTransactions by re-scaling via (m)bgcnbd.Expectation
0.6.3
- unconditional expectations for (M)BG/CNBD-k (`(m)bgcnbd.Expectation`) are now calculated `exact` by utilizing `(m)bgcnbd.pmf`
0.6.1
- add implementation of:
(m)bgcnbd.Expectation
(m)bgcnbd.PlotFrequencyInCalibration,
(m)bgcnbd.ExpectedCumulativeTransactions,
(m)bgcnbd.PlotTrackingCum,
(m)bgcnbd.PlotTrackingInc
0.6.0
- add implementation of BG/CNBD-k model
- (m)bgcnbd.ConditionalExpectedTransactions uses original approximation again
- mbgcnbd.ConditionalExpectedTransactions can now handle customers with many (170+) transactions; thanks to Andrea Rumenjak for providing the patch;
0.5.0
- rename model from CBG/CNBD to MBG/CNBD - function prefixes changed from cbgcnbd to mbgcnbd accordingly
- improve approximation logic for mbgcnbd.ConditionalExpectedTransactions
0.4.0
- rename model from Pareto/CNBD to Pareto/GGG - function prefixes changed from pcnbd to pggg accordingly
- cust-column is assigned as names to list of level_1 CODA-objects returned by MCMC drawParameter methods - this makes it easier to access these via customer ID
- rename to cbgcnbd.EstimateRegularity() to estimateRegularity(), because the method is not bound to CBG/CNBD-k model - add tests and demo
0.3.3
- add mc.cores parameter to MCMC methods to explicitely set number of parallel cores to be used
- important bug-fix for pcnbd.mcmc.DrawParameters - draw_tau slice-samples now from correct log_posterior in churn case
- more realistic test case for P/NBD MCMC, plus minor change to handling numeric underflow
resulting in more accurate parameter estimates
- pcnbd.GenerateData now correctly considers fixed parameter value for k
- pcnbd.GenerateData has minimum level of 0.1 for generated k's in order to avoid itt's if 0
0.3.2
- add mcmc.setBurnin method which cuts away (additional) initial burnin steps of MCMC chains
- `*.EstimateParameters` and `*.mcmc.DrawParameters` now also accept data.tables as input
- pcnbd.mcmc.plotRegularityRateHeterogeneity: add option to plot point estimates
- add mcmc.PActive and mcmc.plotPActiveDiagnostic
0.3.1
- deprecated `abe.mcmc.DrawFutureTransactions` and `pcnbd.mcmc.DrawFutureTransactions` in favor of newly add `mcmc.DrawFutureTransactions` method
- deprecated `abe.mcmc.PAlive` and `pcnbd.mcmc.PAlive` in favor of newly added `mcmc.PAlive` method
- `*.mcmc.DrawParameters` now all consistenly return sampled `z` values in their output