Demand Types

Demand Types

A Demand Type is used to represent quantitative data based on an Item, Location, and Customer combination.  Demand Types are grouped into four categories: Planning, Calculated Quantity, Input Data, and System Defined. 

System Defined Demand Types are built into Arkieva. Examples include: 
  1. Statistical Forecast
  2. Statistical Forecast Including Events
  3. Sales Opportunity
  4. Adjusted Sales History: sales history after applying outlier corrections and publishing the cleansed data
  5. Realigned Sales History: Historical sales data adjusted to reflect organizational or structural realignments (If Adjusted Sales History   present them applied to Adjusted Sales History)

Planning Demand Types are editable Demand Types that are used for planning. Examples include: 
  1. Sales Forecast
  2. Demand Plan
  3. Launch Volume
  4. Promotion Volume
  5. End of Life Volume
  6. Price Forecast
  7. Realignment Volume
  8. Manual Sales History Adjustment: Records of any manual overrides or edits applied to the Sales History by user
  9. Cannibalization Volume

Input Data Demand Types are read in from external data. Examples include: 
  1. Sales Orders
  2. Sales History: the original raw sales data ingested into the system
  3. Returns
  4. Sales Revenue
  5. Sales Backorders
  6. Life Forecast

Extension Quantity Types are calculated based on other Demand Types. Examples include:
  1. Statistical Forecast Including Events Ex

Calculated Quantity Demand Types are calculated based on other Demand Types. Examples include: 
  1. Price may be calculated as Revenue divided by Sales Volume
  2. Net Forecast may be calculated based on Month-to-date shipments, forecast, and open sales orders
  3. Sales History Including Adjustments:  This is used as primary input for forecasting.  Sales History + Realigned Sales History

If Manual Sales History Adjustments Present, then Sales History + Manual Sales History Adjustments




Add New Demand Type

To create a new Demand Type, click the + Add New button to launch the Add Demand Type drawer. 



General

  1. Type a name for the New Demand Type and a Caption. 




  1. Next, select whether the new demand type will be a Planning type or a Calculated type.





  1. Selecting Planning type will give you the option of selecting Sum or Rate from the Aggregation dropdown of the Calculation Settings section. 

Calculations Settings






  1. Selecting Calculated Quantity will give you the option of launching the expression editor window. 








  1. Use the Load demand or Insert demand dropdowns to use a baked-in expression. 





  1. You can also use the Function and Dimension dropdowns, and functions to create an expression.





  1. Or you can type an expression yourself into the expression editor box. 





Examples of supported expressions are:
  1. -(MarketingInput)+DemandPlan*orders
  2. Average(Sales Forecast/Sales History)
  3. BIAS(Sales History,Sales Forecast) : ( SUM( Sales Forecast) – SUM( Sales History) ) / ( SUM( Sales History) + SUM( Sales Forecast) )
  4. cast(MarketingInput ,int)
  5. Ceiling(Marketing Input)
  6. CumulativeSum(Demand Plan)
  7. CumulativeSum(Demand Plan) + Sales Forecast
  8. CumulativeSum(IF(CurrentPeriod() >= PlanningPeriod(), Demand plan, 0))
  9. CumulativeSum(IF(CurrentPeriod() >= PlanningPeriod(), Demand plan, 0))
  10. Floor(Marketing input)
  11. GMRAE(Sales History,Sales Forecast) : EXP( LOG( ABS( SUM( Sales Forecast) – SUM( Sales History) ) / SUM( Sales History) ) / COUNT( 1 ) )
  12. If(Marketing Input> Demand Plan, "1","0")
  13. Min(Marketing Input, Demand plan)
  14. MAPE(Sales History,Sales Forecast) : 100*ABS(Sales Forecast – Sales History) / SUM( Sales History)
  15. Marketing Input/Demand Plan
  16. Marketing Input % Demand Plan
  17. Marketing Input*Demand Plan / (Shipments % orders)
  18. Marketing Input ^2
  19. Max(Marketing Input, Demand Plan)
  20. Max(Sales Forecast,Sales History)
  21. Max(Sum(Sales Forecast),Sum(Sales History)) : Maximum is calculated at the total level. At an aggregated level, the value returned is the sum of the value calculated at the lowest level
  22. MPE(Sales History,Sales Forecast) : 100*( SUM( Sales Forecast) – SUM( Sales History) / SUM( Sales History) )
  23. pow(MarketingInput,int)
  24. Revenue(Sales Orders) => Sales Orders quantity multiplied by Unit_Price in Stocks input sheet. If not provided then it will use the Unit_Price provided in Items input Sheet. Highest priority for Stocks sheet then Items sheet
  25. Round(Marketing Input)
  26. Sales History(0) => Current period sales history
  27. Sales History(-1)=> previous period sales history
  28. Sales history(0)-Sales history(-1)=> the change in sales from the previous period
  29. Sales history(#start date#, #end date#)=>the value of the demand type between these two dates
  30. Sales History(#11/01/2022#,#11/30/2022#)=>The sales between November 01 2022 to November 30th 2022. Where date format is MM/dd/yyyy
  31. Sqrt(marketing input)
  32. SUM(Sales Forecast)/Sum(Sales History) : The rule that we use is if the denominator is 0, then the value returned is 0
  33. Tracking Signal(Sales History,Sales Forecast) : ( ( SUM( Sales Forecast) – SUM( Sales History) ) / SUM( Sales History) ) / SUM( Sales Forecast) – SUM( Sales History)
  34. UAPE(Sales History,Sales Forecast) : 100*( ABS( SUM( Sales Forecast) – SUM( Sales History) ) / ( ( SUM( Sales History) + SUM(Sales Forecast) ) /2 )
  35. WMAPE(Sales History,Sales Forecast) : 100*SUM(ABS( Sales Forecast – Sales History) / SUM( Sales History) : WMAPE calculates ABS error at low levels, adds them up, and then divides by the sum of all Sales History’s. It is not ‘re-calculated’ at the top level.

Make sure to click Apply formula to apply the expression to the demand type.

The final steps in creating a new demand type are to select a unit type (quantity, revenue, or invariant), selecting None or a demand type to base a disaggregate on, and Format settings. 




Format Settings 

Select a display format, decimal places, color, and chart format for the demand type. You can also select to apply these settings to the primary axis or the secondary axis. 




  1. When creating a demand type with chart settings, you can then navigate to the collaboration page and view the chart primary and secondary axis.





  1. Click Apply to save the new demand type.

Create new demand types from source data

While adding new Demand Types, we can source Excel, SQL Server, and Arkieva Enterprise data with the source button present in the Add Demand Type drawer. You can then select Excel, SQL Server, or Arkieva Enterprise from the options and proceed. 





For SQL and Enterprise (which is basically remote SQL) the Demand Type name should be ArkievaSaaSInput.Demand Type Name. The name must match the SQL name when creating a demand type in Arkieva. The structure should be.




Edit Demand Type

Click the Edit button to slide open the Edit Demand Type drawer to edit the Name, Caption, Type, Units, Calculation Settings, Format Settings, Color, and Chart Format of user created Demand Types. 












Disaggregate Based on
The following are disaggregate options if not selecting None:

  1. Statistical Forecast
  2. Sales Orders
  3. Sales History
  4. Sales Forecast
  5. Demand Plan
  6. Returns
  7. Launch Volume
  8. Promotion Volume
  9. End Of Life Volume
  10. Statistical Forecast Including Events
  11. Sales Revenue
  12. Sales Opportunity
  13. Adjusted Sales History
  14. Price Forecast
  15. Realignment Volume
  16. Realignment Sales History
  17. Sales History Including Adjustments
  18. Manual Sales History Adjustments
  19. Statistical Forecast Including Events Ex
  20. Life Forecast


Demand Type ILC Permissions in Security

Displays the security for each display type and shows a preview of the created security settings for the demand type. 

When a user is given Demand Type ILC read only permissions, that data will be affected in Segmentation, Lifecycle Manager, and Forecasting. 

  1. Click Setup to set the security for a demand type. The User Permissions drawer will slide open.






  1. Click Add User and select a user from the dropdown to select who will have access to and what filters will be associated with that user and the demand type. 




  1. Select a filter for the user. A message will show if the selection was successful, and the user's profile picture will appear in the security column next to the demand type.



  1. This document outlines the ILC (Item Location Customer) access security model and how it governs access to data and actions across various demand planning modules and demand types. It covers read and write access controls configured per user . 


Access Control Levels

  1. If no security (read or write) is configured, everyone can read and write anything.
  2. Once any security is added to any user account, whether it be read or write, all users who have no permissions lose all access to any ILC until their permissions are configured.
  3. Essentially, the rule is once you set up security for one user you must set it up for all users.
  4. If a user is granted write permissions to an ILC on any demand type they automatically get read access.
  5. Only need to set read permissions on a user if that user intends to have no write permission.

Access control is configured in two main areas:

1. ILC-Based Read Access (Managed in Manage Team) 

Each user is assigned read access to one or more ILCs through the Manage Team settings. If a user has no ILC read access, then the user cannot view any data in the following modules: 
  1. Segmentation 
  2. Forecasting (Outlier , Strategy) 
  3. Collaboration 
  4. Lifecycle Manager (LCM) 

If a user has read access to specific ILCs, then: 
  1. Only data related to those ILCs will be visible in the modules above. 

2. Demand Type Write Access (Configured under Settings → Demand Types) 

Each user can be granted write access for specific demand types, scoped to selected ILCs. This governs event creation and editing rights in the Lifecycle Manager and Collaboration modules. 

Module-Level Access Control Behavior 

Lifecycle Manager (LCM) 

Users can create events only if they have: Write access for the relevant demand type and ILC access for the specific ILC associated with the event.
  1. Event Type 
  2. Required Demand Type 
  3. Launch 
  4. Launch Volume 
  5. Promotion 
  6. Promotion Volume 
  7. End of Life 
  8. End Of Life Volume 
  9. Realignment 
  10. Realignment Volume 
If the user lacks write access for the demand type or ILC, the event creation option is restricted. 

Collaboration 

Users can edit only the data associated with ILCs they have write access to, based on demand type configuration. Data for unauthorized ILCs or demand types is read-only or hidden.

Summary of Security Behavior 

  1. Scenario 
  2. User Capability 
  3. No ILC read access 
  4. No data access in segmentation, forecasting, LCM, collaboration 
  5. Read access to specific ILCs only 
  6. Can view those ILCs in all modules 
  7. Write access to demand type + ILC 
  8. Can create/edit events or data in LCM and Collaboration 
  9. Missing write access to demand type or ILC 
  10. Cannot perform create/edit actions 

Editability 




The Planning Worksheet supports Demand Type Submission, allowing users to explicitly select and submit the demand type that will be considered as the primary input for planning. This ensures that the original daily demand values are used directly for planning and DRP, without being altered by Net Forecast aggregation and redistribution logic.

By default Demand includes sales orders, manual orders, and net forecast. Use the Un-submit Demand Types option to not include sales orders, manual orders, and net forecasts in Demand.

Users can submit the required demand type through a workflow action. Once submitted, the demand type remains in the Submitted state until it is manually changed by the user.

The same submission behavior has been extended to other planning-related objects to ensure consistency across the Planning Worksheet:
  1. Procurements – Submitted
  2. Productions – Scheduled
  3. Stock Transfers – Submitted

Editability in the Planning Worksheet Transactions Grid has been enhanced to provide better control and usability across the following objects:
  1. Demand
  2. Production
  3. Purchase
  4. Stock Transfers


    • Related Articles

    • Demand Dashboard

      Custom tab The custom tab allows you to create custom dashboards using the attributes and dependent attributes of Item/Location/Customer and Demand Types, Planning Objects, and on Metrics. Add Widget Add dashboard widgets by clicking the Add widget ...
    • Views Configuration

      What are Views? A view describes the type of data that you want to see in the worksheet. Each type of data is displayed in a row. Each row of the grid represents a Demand Type/Planning Object. The view describes the set of demand types or planning ...
    • Calculate Net Forecast

      Net forecast should be calculated on Stock or Customer level. The calculations are all done at the Stock or Customer level, so in order to see the numbers line up correctly, you'll need to view these at the Stock or Customer level. Aggregating the ...
    • Action Permissions

      Administrators can set permissions for individual users to perform specific system Actions from the Action Permissions tab under Settings -> Global -> Admin. Clicking the Edit button will launch the Edit Refresh Input Data drawer. From this drawer ...
    • Views Configuration

      A view describes the type of data that you want to see in the worksheet. Each type of data is displayed in a row. Each row of the grid represents a Planning Object or a Demand Type. The view describes the set of demand types or planning objects that ...