What's Changed
* Added nbstripout and pre-commit hook by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/39
* Gain loss module by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/42
* Bump jupyterlab from 4.0.10 to 4.0.11 by dependabot in https://github.com/Data-Simply/pyretailscience/pull/46
* Cross shop analysis by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/48
* Days between purchases performance, linting and code deplication by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/50
* chore: require conventional commit via pre-commit by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/51
* chore: add code coverage configuration for pytest by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/52
* New MkDocs custom homepage by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/53
* Linting improvements by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/54
* refactor: move data simulation to another package by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/55
* fix: gain loss calc error with negative values by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/56
* feat: add total row to SegTransactionStats calculation by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/57
* Added ThresholdSegmentation class by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/58
* chore: removed un-needed dependencies by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/59
* chore: adding codecov app coverage support by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/60
* feat: updated docs and README.md by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/61
* refactor: refactor duplicate graph styling code by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/62
* feat: added waterfall plot by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/63
* feat: enhance timeline and waterfall plots with additional documentation by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/64
* docs: update installation guide in getting_started by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/65
* Added pandas style option system and updated segmentations module to use it. by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/66
* feat(tests): enhance Cross Shop module tests with docstrings and linting by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/67
* feat: clean up data_label_format to accept None by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/68
* feat: added production association rule module by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/69
* feat: improved performance of product assocation calculation by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/70
* Prod assoc perf improvements by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/71
* feat: add toml dependency by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/72
* chore: update dependencies by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/73
* feat: segment stats calc now uses duckdb to improve performance by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/74
* chore: linting improvements by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/75
* docs: updated analysis module docs by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/80
* fix: dependabot jupyerlab security update by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/81
* feat: add line plot by Mrglglglglgl in https://github.com/Data-Simply/pyretailscience/pull/84
* feat: add standard histogram plot by Mrglglglglgl in https://github.com/Data-Simply/pyretailscience/pull/85
* chore: update python dependency range by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/87
* feat: standard bar plot by Mrglglglglgl in https://github.com/Data-Simply/pyretailscience/pull/86
* feat: revenue tree by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/88
* feat: changed threshold seg to use ibis by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/89
* feat: convert seg stats to use Ibis by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/90
* feat: convert column names to use the options class by mvanwyk in https://github.com/Data-Simply/pyretailscience/pull/91
New Contributors
* dependabot made their first contribution in https://github.com/Data-Simply/pyretailscience/pull/46
* Mrglglglglgl made their first contribution in https://github.com/Data-Simply/pyretailscience/pull/84
**Full Changelog**: https://github.com/Data-Simply/pyretailscience/compare/0.3.2...0.4.0