Understanding costing
What is Costing?
Costing is the capacity to estimate and model the cost of a product or a service.
Costing is a strategic tool for companies for the following reasons:
1- Costing allows estimating precisely the cost of a product or a service, which facilitates the roll out of new products to the market using the rights costs while securing a good commercial margin.
2- In BtoB, costing is fundamental for business development. It allows to:
- Win new markets and respond to new tenders with a good commercial margin, since the costs are aligned with demands, needs and budgets
- Take quick decisions regarding the design and the roll out of new products
- Measure faster the economic impacts of technical modifications on production
- Optimize Time-To-Market (TTM)
3- Costing makes it easier to understand the cost of a manufactured or purchased product. This allows to better identify the products costs optimization levers, from a Design-to-Cost, value analysis, etc. point of view.
4- Being proficient with products costs, their cost structures, and their cost-drivers, is key to identifying the improvement and optimization areas of existing products, reducing costs, and generating savings. This can be done through production costs optimization, specifications, supplier reallocations, etc.
The challenges that companies face
Companies nowadays are more innovative and roll out new products onto the market more frequently. In this competitive environment, client demands are stricter in terms of TTM reduction, therefore companies have greater challenges of accelerating TTM. This forces them to be more agile and work more collaboratively among different departments like purchasing, R&D, production, marketing, etc. They also have to constantly aim to improve and optimize their existing products hence the importance of costing.
However, companies don’t master the costing process. And that is for different reasons:
- Lack of costing expertise: an expertise on different technologies, processes, and products implementation along with the technical and economical parameters associated is required to be able to quote new products. Solid knowledge on market conditions that can change very rapidly, is essential to create this costing expertise, and especially to maitain over time. Plus, there is a limited number of people with special skills, who master costing, and are capable of building, using, and exploiting cost models
- Lack of communication between different departments: cost estimations is a process that depends on different departments (R&D, marketing, purchasing). Information regarding the costs is very fragmented among these departments
- Lack of time: Costing is a very time-consuming process
The traditional approaches to costing based on analytical models, are usually hardly repeatable, hardly deployable, and hardly shareable, and difficult to implement.
The 4 main approaches used for cost estimation and modeling are:
- Knowledge base: top-down approach. It’s based on similar products and interprets costs. Easy and simple approach, but not very precise
- Should-Cost (Cost mechanic): bottom-up analytical approach. The estimated price is based on the material quantity, labor cost, machine cycle time, tooling etc
- Cost modeling using indexing: simplified should-cost. Top-Down approach that defines the cost of product in the past. Then, this cost is broken down into multiple components, such as nomenclature, and links each raw material to a product index
- Statistical modeling methods: in this Top-Down method, the user provides the cost-drivers (input variable) for every product or service, as well as desired output variables: the cost. The system builds an empirical relation between the independent variables and the dependent variable and then computes the estimated cost
Using the 4th approach mentioned above we created a tool that runs on a Machine Learning algorithm called ‘Random Forest’, that learns on client-provided databases to give outputs (Ex. Product cost). The Models’ parameters are called Cost-drivers; they are attributes that define the datapoints in the database.