While there are a number of business intelligence tools available, accountants are increasingly turning to programming languages to answer their data questions. Why is coding useful, and what benefits does it offer?
There are a number of tools that will allow accountants to do some of the analysis needed, but they lack end-to- end workflow, cost and repeatability. Programming languages are free, and analysis repeatable.
The advantages to programming are twofold. First, the skills are highly marketable and broaden the range of opportunities available. Second, code is highly flexible and portable, meaning you are not locked into a particular vendor and can customise your approach as much as necessary.
With the uptake of cloud services and the diversity of available cloud solutions, being able to take business critical analysis and deploy it with low effort is important.
The range of analysis available with a programming language is wide. Python and R are both heavily used in data science. Both support all modern machine-learning methods and visualisation practices.
Starting from data loading, processing and cleaning, a programming language can handle a broad range of file types and formats. So if an accounting system produces a file type you’ve never heard of, or produces a file with unusual characters that make it hard to use, writing a script in a programming language is the best way to unlock that data and make it usable.
Python and R have libraries (‘package’ in R terms) that handle text well and can process large files at speed. This makes it easy to take ‘unclean’ data to ‘clean’ in a short space of time. It is often said that 80% of data science is data cleaning, so learning this skill is important for maximising the value of data.
Once a clean, tidy data file is prepared, it’s time to start the analysis. This is where a programming language can really shine. To apply a ratio calculation by area of business is one line of code. Equally, more complex modelling techniques such as regression analysis can be applied in the same way. Building models and applying them are easy to do with code, but require a bit of statistical knowledge to interpret the results.
Building an understanding of the types of analysis available, how to apply and interpret them, and how to communicate them to others are becoming core skills of a modern accountant. ICAEW is working to address these areas, building analytics awareness and interpretation into the ACA, and offering webinars and learning via the data analytics community.
Presenting the outcome of some analysis is as important as the analysis itself. If no one can access the results in a way that has any impact, then what was the point of conducting the analysis? Programming languages offer flexible, effective ways to present data in both static and interactive methods.
For an overview of all the different kinds of data visualisation, the Data Viz Catalogue is a great place to start. With data visualisation, often it is best to adopt the approach that is the simplest. But sometimes a map can bring alive location-based analysis in a way that other visualisations can’t.
There is so much value to be unlocked using advanced analytics. Once some code has been written, it can be run as often as needed with refreshed data to understand changes in the business. The benefits of consistent analysis and reduction in time to value is obvious. If someone spends a week on a spreadsheet to create a report, but can now re-run analysis at the click of a button, how much more effective can that accountant become? If routine analysis is automated using a programming language, then more time can be devoted to interpreting the analysis and deepening understanding of the business.
There are many great resources online. Join ICAEW’s Data Analytics Community if you haven’t already. The best way to familiarise yourself with a programming language is to get on with using it. Start by identifying a piece of analysis that already exists and work out how to write a script to complete the same piece of work. There is nothing better than writing a script and watching it run successfully, so once that has been achieved the sky's the limit.