Stock Demand Trends and Forecast v.16
The tool to calculate stock demand trends and make predictions for future demand statistically
If you knew the stock demand trends of your warehouses, you would have a clue to decrease keeping costs and have a flawless supply chain. Regretfully, you can't know the future. However, you can predict it with a certain reliability. This is an Odoo tool for that goal. The app lets you construct stock demand by periods and forecast scientifically further demand based on the Python library statsmodels.
The scientific approach to forecasting
The app assumes applying statistical methods to calculate historical trends and make a forecast. Experiment with statistical models and parameters to achieve the most reliable prediction. Leverage the proven statsmodels methods
Innovative data analysis interface
The tool introduces a special interface to instantly calculate series. Flexibly switch between different reports and update settings in a few clicks. Control data in pivot, graph, or chart views. Export series as an Excel tabled
Focused analysis
Shrink considered stock operations flexibly or analyze global company inventory demand. Group data into various series
Topical data
Apply time frames for historical data and work with intervals that are of interest to your industry. Work with past and future periods.
![Inventory demand report](/web/image/438875/inventory_demand_report_main.png)
Flexible report configuration
-
Introduce as many analytic reports as you need. Each report is based on Odoo's stock moves' data
-
Keep reports to re-use them, instantly switch between reports, or experiment with real-time changes without saving those
-
Show historical and forecast series as a table, line graph, or bar chart, or export data as an Excel table
-
Apply as many and as different statistical models as you want to check. Each stats model will peer its own data series and prediction if the latter is possible. See also the section "Statistical models"
-
Define the data periods under analysis by entering a start and end. Only inventory data within this interval will be included in the series
-
Split data series into years, quarters, months, weeks, and days depending on seasons assumed in your industry or business area
-
Select an unlimited number of periods to predict future periods or check hypotheses
-
Grant the right to forecast tools for any WMS user (the group Inventory > Stock Demand Forecast)
-
Filter stock data by product variants, product templates, product categories, units of measurement, source or destination locations, warehouses, operation/picking types, stock rules, and companies (for multi-company regimes). Introduce your own criteria based on Odoo's dynamic domain constructor, so shrink analysis by any stock move storable fields
-
Introduce a few data series simultaneously with grouping by a product variant, a unit of measurement, a source or destination location, a warehouse, a stock move state, an operation type, a stock rule, or a company. Take into that if the report assumes products with different units of measurement, the grouping will be possible only by the units or by variants
-
Hide/show general statistical measurement of series: count, mean, standard deviation, minimum, maximum, 25%, 50%, and 75% factors
-
Optionally compare predicted values to real historical data if any. See also the section "Hypothesis Testing"
-
Make figures human readable (e.g. 192,217 as 200k) or show them precisely.
![Bar graph of the stocks forecast](/web/image/438874/inventory_demand_report_main_bar.png)
![Inventory report settings](/web/image/438873/inventory_demand_extra_setttings.png)
![Stock demand forecast: xlsx](/web/image/438879/warehouse_demand_trend_xlsx.png)
Statistical models
-
The tool allows calculating inventory demand trends based on predefined statistical models introduced by the Python package statsmodels
-
Methods have different complexity, and their own unique parameters, and might be suitable for a definite market or a specific business. The final choice of the model and related statistical parameters is only up to you. Nobody except you can better understand tendencies in your company inventory demand, and hence which methods and factors should be applied
-
Available statistical models are Autoregression (AutoReg), Autoregressive Distributed Lag (ARDR), Autoregressive Integrated Moving Average (ARIMA), Seasonal Autoregressive Integrated Moving-Average (SARIMAX), Holt Winter's Exponential Smoothing (HWES), Simple Exponential Smoothing (SES)
-
For deep details about what each stats model means and which parameters might be applied, look through the tab "Help" on the stats model form
-
Keep and use an unlimited number of stats models with various parameters. Check, compare, and update those flexibly through the forecast manager interface
-
Often models with specific parameters will not result in any prediction or the prediction will be unrealistic. This is normal, only a deep understating of trends and much experimenting might give a viable forecast for your specific case.
![Statsmodel settings](/web/image/438876/statsmodel_setting.png)
![Stats model: SARIMAX example](/web/image/438872/statsmodel_example_sarimax.png)
![Help notes for statistical models and parameters](/web/image/438871/statsmodel_example_help.png)
Hypothesis Testing
-
To get a proper prediction, it is usually needed to experiment a lot with statistical models and introduced parameters. To check the results, the app allows compare forecast data with real values
-
To check a certain assumption with historical values, you may make an analysis and prediction for some past periods, and turn on the setting "Hypothesis testing"
-
For example, you have stock moves from 2017 to 2022. Then, you can get report historical data for 2017-2021, and make the forecast for 12 months of 2022. In this way, you will get the prediction for the interval for which you already have actual values. By comparing forecast and actual values, you can decide whether a chosen model and factors are good enough
-
The app allows checking the hypotheses for a few stats models simultaneously. In this way, it is possible to reveal what is actually the most appropriate, or whether experimenting should be continued.
![Statsmodels: test assumptions](/web/image/438878/stock_demand_test_hypothesis.png)
![Stock demand: line chart](/web/image/438877/stock_demand_test_hypothesis_graph.png)
Usage requirements
-
To reveal trends, there should be enough historical stock moves data. It is senseless to make a forecast based on the last 5 days of operations since no trend cannot be retrieved. Take into account that data should be enough for the chosen filters and for each grouped series
-
There should be not only enough stock moves but also there should be some actual trends. Chaotic data will not result in reliable predictions. To use the app, you should understand which assumptions (e.g. seasonal changes) you check
-
To use the app, you either should have a clear understanding of how statistics works or a will to understand that. Regretfully, there is no way to make a "general" analysis, each specific case is unique and requires its own elaboration.
Configuration and Installation Tips for Stock Demand Trends and Forecast Odoo v.16
Python dependencies
To guarantee the tool works correctly, a number of Python libraries are required: pandas, numpy, statsmodels, scipy, xlsxwriter. To install those packages execute the command:
pip3 install pandas numpy statsmodels scipy xlsxwriter
If you run Odoo on Python prior to or equal to version 3.7, please install the following versions of the packages pandas==1.3.5, statsmodels==0.13.1
Server memory limits
Running the statistical analysis and making the forecast is quite a resource-demanding operation. If users face the hanging interface, make sure that server memory limits and timeouts are enough. Otherwise, increase those settings.
Frequently Asked Questions about Stock Demand Trends and Forecast Odoo v.16
According to the current Odoo Apps Store policies:
- every module bought for version 12.0 and prior gives you access to all versions up to 12.0.
- starting from version 13.0, every module version should be purchased separately.
- disregarding the version, purchasing a tool grants you a right to all updates and bug fixes within a major version.
Take into account that the faOtools team does not control those policies. For all questions, please contact the Odoo Apps Store representatives directly.
The easiest approach is to use the Odoo store built-in workflow:
1. Open the module's page and click the button Deploy on odoo.sh
2. After that, you will be redirected to the GitHub page. Login to your account and click 'Create a new repo' or use the existing one. Please, make sure, that your repository is private. It is not permitted to publish the apps under the OPL-1 license. If necessary, create a new repo for your Odoo.sh project
3. Then, go to odoo.sh and click on the deploy button, submit the decision in the pop-up window and click 'Continue'. The action will trigger the installation process.
These steps would install the app for your project production branch. If you wanted to deploy the apps for other branches or update the module, you should undertake the following actions:
1. Upload the source code for the app from the Odoo store
2. Commit the module to a required GitHub repository. Make sure that none of the app folders/files are ignored (included in the .gitignore of your repo). Repositories are automatically created by odoo.sh, which might add by default some crucial items there (e.g. /lib). You should upload all module directories, subdirectories, and files without exceptions
3. Deploy a target branch of the odoo.sh project or wait until it is automatically built if your settings assume that.
Unzip the source code of the purchased tools in one of your Odoo add-ons' directories;
Re-start the Odoo server;
Turn on the developer mode (technical settings);
Update the apps' list (the apps' menu);
Find the app and push the button 'Install';
Follow the guidelines on the app's page if those exist.
Yes, sure. Take into account that Odoo automatically adds all dependencies to a cart. You should exclude previously purchased tools.
A red/orange warning itself does not influence features of the app. Regretfully, sometimes our modules do not pass standard automatic tests, since the latter assumes behavior which is in conflict with our apps goals. For example, we change price calculation, while standard Odoo module tests compare final price to standard algorithm.
So, first of all, please check deployed database features. Does everything work correctly?
If you still assume that warning influences real features, please contact us and forward full installation logs and the full lists of deployed modules (including core and third party ones).
No, we distribute the tools only through the official Odoo apps store
Regretfully, we do not have a technical possibility to provide individual prices.
No, third party apps can not be used on Odoo Online.
Yes, all modules marked in dependencies are absolutely required for a correct work of our tool. Take into account that price marked on the app page already includes all necessary dependencies.
The price for our modules is set up in euros. The Odoo store converts prices in others currencies according to its internal exchange rate. Thus, the price in US Dollars may change, when exchange rate changes.
Odoo demonstration databases (live previews)
For this app, we might provide a free personalized demo database.
No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.
By your request, we will prepare an individual live preview database, where you would be able to apply any tests and check assumptions for 14 days.
Bug reporting
In case you have faced any bugs or inconsistent behavior, do not hesitate to contact us. We guarantee to provide fixes within 60 days after the purchase, while even after this period we are strongly interested to improve our tools.
No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.
Please include in your request as many details as possible: screenshots, Odoo server logs, a full description of how to reproduce your problem, and so on. Usually, it takes a few business days to prepare a working plan for an issue (if a bug is confirmed) or provide you with guidelines on what should be done (otherwise).
Public features requests and module ideas (free development)
We are strongly motivated to improve our tools and would be grateful for any sort of feedback. In case your requirements are of public use and might be efficiently implemented, the team would include those in our to-do list.
Such a to-do list is processed on a regular basis and does not assume extra fees. Although we cannot promise deadlines and final design, it might be a good way to get desired features without investments and risks.
No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.
The tool to flexibly structure Odoo attachments in folders and synchronize directories with cloud clients: Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, and Dropbox. DMS. File Manager. Document management system
245€The tool to build a deep and structured knowledge base for internal and external use. Knowledge System. KMS. Wiki-like revisions.
298€The tool for time-based service management from booking appointments to sales and reviews
The tool to automatically synchronize Odoo attachments with OneDrive files in both ways
394€The tool to automatically synchronize Odoo attachments with Google Drive files in both ways
394€The tool to configure variant prices based on attributes coefficients and surpluses
The tool to make inventory data essential and comfortable for elaboration. Stocks analysis
38€