Multi-layer ML Model for SaaS Discovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Discovering and classifying software as a service (SaaS) products within an enterprise is challenging due to the lack of local evidence and inconsistencies in transaction data, making it difficult for on-premises software discovery systems to identify licensed cloud-based services.
Innovation Solution
An automated system utilizing a multi-level machine learning model to classify transactions by identifying software-related activities, predicting software providers, and determining application titles, with layers applying Bayesian models and rule-based systems to improve accuracy in data analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If on-premises software discovery systems are used to identify SaaS products, then local software installation evidence can be detected, but cloud-based SaaS services cannot be discovered because they leave no local evidence
Solution Approach 1:
The discovery system is segmented into multiple data sources: electronic transaction records, activity records, and cloud service metadata. Each source contributes different aspects of software identification, allowing the system to discover both on-premises and cloud-based SaaS products through separate but complementary detection pathways
Solution Approach 2:
Electronic transaction records serve as an intermediary data source that bridges the gap between on-premises discovery systems and cloud-based SaaS services. By analyzing spending and licensing information in transaction records, the system can infer the presence of cloud services without direct access to cloud infrastructure
2Adaptability or versatility
If electronic transaction records are analyzed to discover SaaS products, then cloud-based services can be identified, but the volume and inconsistency of data make mapping difficult
Solution Approach 1:
The system performs preliminary classification of electronic transaction records into categories such as software licensing, hardware procurement, and service subscriptions. By pre-categorizing transaction types and associated metadata before detailed analysis, the system reduces the complexity of subsequent mapping operations and improves processing efficiency
Solution Approach 2:
The system transforms unstructured transaction data into structured classification results by applying multiple classification parameters sequentially. Each classification stage uses different parameters (vendor name patterns, transaction amounts, frequency, metadata keywords) to progressively refine the identification of SaaS products from raw transaction records
3Measurement precision
If manual classification of transaction records is used, then accuracy in identifying software can be maintained, but productivity and scalability are severely limited
Solution Approach 1:
The classification system performs self-service by automatically analyzing electronic transaction records and activity data without requiring manual intervention. Machine learning models and pattern recognition algorithms autonomously classify transactions into software-related categories, identify SaaS products, and extract relevant metadata, enabling high-volume processing while maintaining consistent accuracy
Data Source
AI summary
An example embodiment involves receiving an activity record including activity data, provider data, and description data; applying a first layer of a multi-layer machine learning (ML) model to predict that the activity record relates to software, applying a second layer of the multi-layer ML model to predict a provider name of a software application referenced in the activity record, applying a third layer of the multi-layer ML model to predict an application title of the software application referenced in the activity record, and storing, in a database, a configuration item indicating that the activity record relates to software, where the configuration item contains attributes including the provider name and the application title.


