Stock Average Daily Sale

This module allows to gather stock consumptions and build reporting for average
daily consumptions. Technically, this has been done through a materialized
postgresql view in order to be as fast as possible (some other flow modules can
depend on this).
You can add several configurations depending on the location from which
consumptions are counted.
For each product ABC classification, you can define the computation horizon,
i.e. the amount of time to look backward (in days or weeks or months or years).
You can exclude some days of the week like saturday and sunday from the
computation. However, if moves occurs on those excluded days, they are still counted.
If your warehouse is open usualy on week days, the averages will be on 5 days a
week. If the warehouse had some activity during the week-end, this will be
considered in the total and average as if it happened during weekdays.
The report also provides a recommended quantity. That recommended quantity is the biggest between:
- a coverage in days * the average daily consumption + a safety
- a coverage in days * the average consumption
The second part tries to better recommend a quantity for C products.
The safety is computed as:
daily standard deviation * sqrt(coverage) * a safety factor
It is up to you to configure the safety factor.
Table of contents
To configure data analysis, you should go to Inventory > Configuration > Average daily sales computation parameters
You need to fill in the following informations:
- The product ABC classification you want - see product_abc_classification module
- The concerned warehouse
- The stock location for which you want to compute the usage
- The period of time to analyze back (in days/weeks/months/years)
- A safety factor
Go to Configuration > Technical > Scheduled Actions > Refresh average daily sales materialized view
By default, the scheduled action is set to refresh data each day. Note that
the current day is not take into consideration in the computations, so you
better run the scheduled action on the early morning.
WARNING: The current query is not TZ compliant. So the cron must run after midnight UTC time.
By default, the root location where analysis is done is the Warehouse stock location,
but you can change it and you can compute usage for multiple locations of the warehouse.
Ensure to set a location that is used by the stock moves or a parent one.
- Allow to exclude specific days
- An extensible data gathering query
- Make it timezone compliant
- [16.0][ADD] stock_average_daily_sale
- [16.0][REF] refactor formulas for proper metrics
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
feedback.
Do not contact contributors directly about support or help with technical issues.
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
Current maintainer:

This module is part of the OCA/stock-logistics-reporting project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.