How ML Issue Classification Works

How does Uplevel classify Issues?

The Uplevel Machine Learning (ML) Issue Classifier uses issue metadata from standard fields like Issue Type, Summary, Description, and Assignee, as well as similar Epic metadata if the issue is linked. From there, an issue is classified with one of three categories:

  • Defect: Work related to bugs, defects, and other fixes.
  • New Value Creation: Work related to new features and enhancements.
  • Sustenance: Work related to operational efficiency and improvements to maintain and improve reliability and safety. Some types of work included are Keep the Lights On (KTLO), maintenance, and tech debt.

After being run through the model, each issue receives one of the classifications above, and a probability score that indicates the confidence in the classification to that category. There are some issues where there isn't a clear match, and those fall into a bucket called Uncertain Classification. In broad strokes, this occurs when Uplevel has roughly less than 60% confidence in the classification of that issue.

💡 Example: A task titled "BE: verify issue handling and NPE logic" has been flagged as Sustenance, but with low confidence it is only slightly favored to be sustenance compared to a defect. In this case, Uplevel would put it into "Uncertain Classification" by default.

Frequently Asked Questions

  • What kind of model is being used? Is it a Large Language Model (LLM) like ChatGPT?
    This model is a machine learning (ML) model trained for this specific purpose. It does not use an LLM.
  • Does my data get sent to a third party?
    No, the data stays within Uplevel using our own proprietary ML model and does not use a third party.
  • Will the results of the model change over time?
    The model is deterministic, meaning that running the same issue through the model will give the same result every time. A change to the issue metadata could cause the issue to be reclassified.
  • How was the model trained?
    The model was trained using labeled data. A random sample of the total volume of issues was fed to the model with the labels to train, and then the remaining labeled data was tested to check for model performance.
  • What if I want to use a mixture of my own custom fields and Uplevel's ML Issue Classification?
    Please reach out to our team (support@uplevelteam.com) to create a custom allocation rule.