Infosys’ blog on industry solutions, trends, business process transformation and global implementation in Oracle.

« EPM Cloud Adoption - Way forward for Data Integration | Main | How to trigger multiple data load rules in a single click without diving into Batches »

Gain Insight into your Spend through packaged Machine Learning


Organisations today face tremendous pressure to manage their direct and indirect spends efficiently to improve their Competitive Advantage.  Spending without adhering to corporate wide negotiated contracts, over spending for some categories, lack of quality and delay in lead time affects the overall profitability along with quality of Products/Services.

Main challenge to design a spend strategy is to have adequate visibility across organisation's various spends.  Many global organisations use multiple packaged ERPs and legacy systems to record their purchasing data in different subsidiaries and geographies. This often leads to spend categorization in multiple standards and some with no standard, ultimately posing difficulty for global reporting and analysis.

Conventionally organisations either ship their Spend data to a service provider or maintain an in-house analyst team to classify and report as per the agreed global taxonomy. In most of the cases these team carry out manual classification using some cleansing tools. It would be an expensive and time consuming process affecting ability for timely decision making.

Oracle Spend Classification is a bolt on module which works seamlessly with OBIA (Oracle Business Intelligence Application) Procurement & Spend Analytics and also with Oracle EBS iProcurement enabling efficient and dynamic spend classification leveraging pre-configured machine learning algorithm.

In the sections below, I would be explaining about the product, its implementation approach with the business context and how it adds value to Organisation. I would not be dwelling much on either technical architecture, UI of the product or construct of the algorithms.

How machine learning based decision making works?

I am trying here to explain the concept in brief using layman language as it is required for further understanding of this article.  Machine Learning from Data Analytics perspective can be defined as an advanced branch of Statistics and Computer Science to build algorithms, which can predict the outcome or make decisions based on the knowledge built from hidden patterns of a historic/sample data.  Key strength of machine learning is, it does not require explicit programming to interpret every aspect of input data for decision making.

There are many proven Machine Learning Algorithms relevant for Data Science, the key ones are Support Vector Machine, Naive Bayes and Generalized Linear Model.

machine learning_new.jpgSpend Category classification using machine learning

Spend categories recorded at various source systems would not be in standard format or they might be designed just to meet local ledger requirement or many a times most of the products/expenses are clubbed under miscellaneous bucket.So it becomes difficult to interpret and derive a correct spend category for thousands of transactions by global reporting team based on the Product Name ,Description or transaction description without consulting the geography / subsidiary procurement team. No amount of structured programming works as many a times the product name / descriptions might be in multiple - languages or in code formats and the nature of input data steadily changes. It poses difficulty in creating detailed global spend reporting as per the standard taxonomy.

Spend Classification module helps in populating the standard global spend category in Purchase Order, Purchase requisition and Invoice transaction lines extracted from the various source systems. Product creates a single text pattern by concatenating various dimensional attributes of transactions such as "Transaction Description"," Item Code", "Item Description", "Supplier Name", "Supplier Site", " Operating Unit", "UOM", "Currency" and " Cost Center" .  Based on the correctly classified Sample/Training set patterns representing all kinds of transactions, algorithm builds a Knowledge Base.

Knowledge acquired through training set will then be used by algorithm for populating standard spend category field in regular inflow of new Purchase Order / Invoice transactions.If the classification accuracy reduces over time due to change in nature of input data, same can be handled by improving training set and by enhancing the knowledge base. 

Implementation approach for Spend Classification

Spend Classification_new.jpg


  • Define the standard Spend Category Taxonomy to be used for global reporting for the products/services /expenses that's being purchased/expensed across the regions/Operating Units/Locations.
  • Create a Standard Template for extracting the Business Critical Spend and Procurement data for Non Oracle and Legacy Source systems. This template is used for extracting data into data warehouse using OBIA universal adapter.


  • Build the Spend data warehouse by customizing Out of the Box Procurement and Spend analytics data model.
  • Develop required ETL mappings by customizing OOB OBIA Procurement & Spend Analytics (ODI/Informatica) adapters for Oracle EBS, JD Edwards, SAP etc. and leverage Universal Adaptors for legacy/other source systems.
  • Configure the required standard taxonomy in the Spend Classification Module.


  • Manually cleanse and classify the consolidated Purchase Orders and Payment Invoices data to create a sample Training set covering all possible data patterns from various source systems/geographies/subsidiaries/categories etc.
  • Schedule the regular ETL and Build the Knowledge Base using the Training set with standard hierarchical support vector machine algorithm or with a customized advanced knowledge base using other algorithms.


  • Monitor the quality of classification output with new/changing data and accordingly add new training set to enhance the Knowledge Base.
  • Build Reports/Dashboards using Standard Taxonomy for global reporting to provide Spend Insights.

Product at a glance 

To explain the product in simple terms, it has got below components,

1. User Interface: Spend Classification's UI appear as a new module in OBIA Procurement & Spend Analytics with below Configuration Tabs/screens..,

  • Data set: Users can group AP Invoice, Purchase Order and Purchase requisition datasets imported from source systems based on various filtering criteria for carrying out classification actions.One can create or enhance knowledge Base or classify the data set using an already created knowledge base. User can also reset a classified, unapproved data set to clear the auto populated categories.Another major functionality in this screen is, users can download a data set or template of a data set and create training data set (sample set) with correct manual classification and upload it back for processing.
  •  Knowledge Base: Here user can see the list of Knowledge Bases, search a knowledge base, Delete a Knowledge Base and monitor the status of Knowledge Base creation activity. One can see whether a Knowledge Base creation activity is successful /Running state or it is has failed.
  • Classification Batches: In this tab user can view the list of classification batches, search a classification batch and Monitor the status of classification activity. Once the batches are reclassified, same can be approved to populate into OBIE Procurement & Spend Analytics. Batches can be reset and reclassified.
  • Classification Summary: It shows the status and details of classification process with KPIs in pivot and graphical format helping in making the approval decision. 
  • Classification Detail:  User can view/search/export the list of classified records and also can compare the Generated vs source system categories. Product also enables for manual correction of the auto-classified codes.

2. OOB API and Oracle Data Mining Engine: Spend Classification leverages Oracle Data Mining for creating the Knowledge base models. It comes with an out of the box API/Program based on Hierarchical Support Vector Machine Algorithm which builds the standard knowledge base.If there is a need for implementing other algorithms such as linear Support Vector Machine, Naïve Bayes then it needs to be done through Oracle Data Miner.

Product offers 2 standard (EBS, UNSPSC Category Code) and 3 custom taxonomies to be configured for global reporting. It means organisations can consolidate and report spends data using 5 standards to meet their reporting/analytics requirement.

3. Integration with OBIA Procurement & Spend Analytics and iProcurement: Product comes with OOB integrations with OBIA Procurement & Spend Analytics for populating the AP Invoice, Purchase Order and Purchase Requisitions. Once the fact lines classified and batches are approved, generated category code will automatically pushed to OBIA fact tables.Product also comes with the OOB integration for Oracle EBS iProcurement , which populates standardized product categories while raising Purchase Requisition and Purchase Order.


We know that machine learning based predictive analytics really helps in faster and efficient decision making, but it does come with an effort of developing /implementing algorithm and its integration with source /target data systems. Packaged machine learning modules such as Spend Classification tremendously benefits in terms of expedited implementation with out of the box integration to ETL, Business Intelligence and even inline validation at transactional systems (iProcurement).

Insights from Spend Classification benefits the organizations in Supplier Rationalization, Contract Leakage Reduction, Cost Savings, Improved lead time ultimately driving the Profitability, Quality and overall Competitive Advantage.

- Mahesh Kulkarni, BI Consultant 


Thanks Mahesh... Very useful information...

Thank you Krishna !!

Its a very detailed articles. I am building a sample case study on spend analysis using machine learning.Can you please share some reference for public dataset that i can leverage in my project

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.

Subscribe to this blog's feed

Follow us on

Blogger Profiles