This article assumes that the reader has a 'fair' understanding of the R&D eligibility criteria (at least the concepts of Technological Advance and Uncertainty). If not, then these should be reviewed before reading this article.
The company was an SME (employing approximately under 500 individuals) that provided consumer finance products. Owing to the company's ownership structure and it's turnover/assets it qualified for the (highly beneficial) SME R&D regime.
The company was undertaking several software development projects to create new systems for calculating claim values - using intelligent algorithms the technology would 'learn' from customer trends and accurately predict the probability of customers defaulting on the debt.
These projects were financed directly by the company (rather than being directly undertaken on behalf of a third-party) - which meant that they were claimable under the SME regime (since the company was also an SME, as above).
Complexities Encountered in Mapping to the BEIS Guidelines
Like many software development projects, the main complexity assessing the eligibility of these projects was that they closely mapped to business requirements, rather than Technological Advance and Uncertainties. Consequently, it was the 'functional' requirements that stood out in the project discussions. For example, the credit scoring service had to be able to calculate credit references in this new and unique way.
To understand the technological aspects of the uncertainties additional technical architects were brought in to discuss the projects. These revealed that new, low-latency algorithms needed to be developed to support the workflows. As it was uncertain how to create the machine learning techniques within the algorithms, this allowed the project to be claimable as R&D for Tax Purposes.
The time spent designing, developing, testing and project managing the R&D Project qualified (claimed in the SME regime). However, other time had to be excluded, including the time spent by the business analysts to identify requirements for the projects as well as time spent by the support team to maintain the production systems.