Knowledge / Chartered Accountancy / Audit data analytics and CAATs

Audit data analytics and CAATs

Chartered Accountancy (CA (ICAI)) · Auditing and ethics · free study notes for exams, placements and interviews

In short

Audit data analytics (ADA) is the use of analysis, modelling and visualisation on the whole population of an entity's data to discover and analyse patterns, deviations and inconsistencies, and to extract other useful audit information. CAATs (Computer Assisted Audit Techniques) are the tools and techniques the auditor uses to do this when records exist only in electronic form — generalised audit software, test data, embedded modules and spreadsheet or SQL analysis. They matter because in a computerised environment there is no visible paper audit trail: substantive procedures on a sample of vouchers cannot by themselves give sufficient appropriate audit evidence. This topic is examined in CA Intermediate and Final Auditing papers (short notes, 4-6 mark questions and case scenarios) and in SA 500, SA 315, SA 330 and the ICAI's guidance on automated environments, and it is the single most asked practical area in audit interviews at the Big Four, Grant Thornton, BDO and in internal audit and forensic roles.

Explained

Why CAATs and ADA became necessary

Classification of CAATs

  1. Audit software (data analysis tools) — the auditor interrogates the entity's data files:
    • Generalised Audit Software (GAS): ready-made packages — IDEA (CaseWare), ACL/Galvanize, TeamMate Analytics, Arbutus. Functions: import, extraction, stratification, ageing, gap and duplicate detection, summarisation, joins, sampling, re-computation, Benford analysis.
    • Purpose-written / custom programs: written by the auditor, entity or a third party for one client's unusual file format. Costly; must be independently verified.
    • Utility programs and system management software: sort, merge, query, report writers, database and OS utilities. Not designed for audit, so they do not themselves maintain an audit trail.
    • Spreadsheets and query languages: Excel (pivot tables, lookups, Power Query, Power Pivot), SQL, Python/R, Power BI and Tableau for visualisation. Dominant in Indian practice because they are cheap and available.
  2. Test data techniques — the auditor's own dummy transactions, valid and invalid, are put through the client's programs and the output compared with the expected result; tests programmed controls (validation checks, limits, authorisation rules).
    • Dead/dummy test data on a copy of the program, offline.
    • Live test data processed in the real system — risky; the entries must be reversed and the fact documented.
    • Integrated Test Facility (ITF): a dummy unit (branch, cost centre, employee) is built into the live system and the auditor's test transactions are processed with real ones, then removed by journal.
  3. Embedded audit facilities (continuous audit techniques) — audit routines built into the client's application:
    • Embedded Audit Module / SCARF (System Control Audit Review File): the program writes transactions meeting auditor-set criteria (e.g. payments above ₹10 lakh, after-hours postings) to an audit file for later review.
    • Snapshot: captures the state of a transaction before and after each processing stage — shows how a figure was computed.
    • Audit hooks: flags only selected high-risk transactions in real time.
    • Transaction tagging: a tag follows one transaction through every module.
    • Requires auditor involvement at the system design stage and management's cooperation; used mainly by internal audit and in banks.
  4. Parallel simulation / re-performance — the auditor writes an independent program replicating the client's logic (depreciation, interest, EMI, gratuity, bill discounting, GST rates), runs it on real data and reconciles exceptions.
  5. Review of program logic and system documentation — code review, mapping, comparison of production source code with authorised versions; needs IT-audit skill.

Using CAATs: a step-by-step process

  1. Set the objective — which assertion (existence, completeness, valuation, cut-off, presentation) or which control is being tested.
  2. Understand the IT environment and data — applications, interfaces, database, table and field layout, key fields, date formats, number of records.
  3. Decide feasibility — availability of data and of the auditor's skill, cost against benefit, timing (data may be archived), effect on the client's operations.
  4. Obtain the data — preferably a read-only extract by IT in the auditor's presence, in a neutral format (CSV, text, Excel, print report file, direct ODBC read). Never work on the live production database.
  5. Verify data integrity before testing — reconcile record count, control totals of key amount columns, and opening/closing balances to the trial balance or audited financials; check completeness of the date range; look for blank or default values. *An analytic on unreconciled data is worthless.*
  6. Design and run the tests — build the script/query, run on a small sample first, then on the full population.
  7. Evaluate the output — exceptions are not errors; investigate causes with management, distinguish data artefacts from control failures and from misstatements.
  8. Document (SA 230) — objective, source and extent of data, integrity checks performed, software and version, scripts/formulae, parameters, output, exceptions, conclusions. Retain the script so the test is reproducible.
  9. Conclude — effect on risk assessment, on the nature/timing/extent of further procedures, on reporting (including CARO 2020 and IFCoFR comments where relevant).

Common analytics the auditor actually runs

Advantages and limitations

ADA in the audit cycle, and what is new

Key points

Formulas and examples

Coverage % = (Value of items tested ÷ Total population value) × 100
Exception rate = (Number of exceptions ÷ Number of records tested) × 100
Sampling interval (monetary unit sampling) = Tolerable misstatement ÷ Assurance (risk) factor; items ≥ interval are selected 100%
Benford expected frequency of leading digit d: P(d) = log₁₀(1 + 1/d), d = 1…9 (gives 30.1%, 17.6%, 12.5%, 9.7%, 7.9%, 6.7%, 5.8%, 5.1%, 4.6%)
Projected misstatement (ratio/extrapolation) = (Misstatement found in sample ÷ Sample book value) × Population book value
Expected number of exceptions = Exception rate × Population size

(Values are in ₹; counts are plain numbers; percentages to one decimal.)

Example 1 — Coverage: analytics versus a voucher sample. A company has 2,40,000 purchase invoices totalling ₹600 crore. The auditor manually examines 60 vouchers worth ₹1.8 crore; separately, a CAAT script tests all invoices above ₹25 lakh, which number 900 and total ₹480 crore.

Example 2 — Duplicate payment test. A vendor ledger has 1,85,000 payment lines. A script keying on (vendor code + invoice number + amount) returns 410 exact duplicate groups covering 820 lines worth ₹6.15 crore. Investigation shows 300 groups (₹4.20 crore) are genuine instalments recorded with the same reference, 85 groups (₹1.55 crore) are data-entry duplicates already reversed, and 25 groups (₹40 lakh) are unrecovered double payments.

Example 3 — Benford's law on the first digit. A sample of 10,000 expense claims gives these first-digit counts against Benford expectation:

DigitExpected %Expected countActual countDifference
130.13,0102,300−710
217.61,7601,700−60
312.51,2501,200−50
49.79701,000+30
57.9790800+10
66.7670700+30
75.8580600+20
85.1510500−10
94.64601,200+740

Example 4 — Parallel simulation of interest. A term loan has an outstanding of ₹8.40 crore; the sanction letter specifies 9.25% per annum on a monthly reducing balance. The auditor's spreadsheet recomputes interest for the year on the month-end balances and gets ₹82,15,000; the books show ₹85,30,000.

Example 5 — Monetary unit sampling using a CAAT. Population book value ₹25 crore (18,000 lines), tolerable misstatement ₹50 lakh, risk factor 3.0.

-- Weekend / after-hours manual journals (SA 240 journal entry test)
SELECT doc_no, posting_date, entry_user, gl_account, amount, narration
FROM   gl_lines
WHERE  entry_type = 'MANUAL'
  AND  (DATEPART(weekday, entry_timestamp) IN (1,7)
        OR DATEPART(hour, entry_timestamp) NOT BETWEEN 9 AND 20)
  AND  ABS(amount) >= 1000000
ORDER  BY ABS(amount) DESC;
TechniqueWhat it testsNeeds live system?Main risk
Generalised audit softwareData and balancesNo (uses extract)Poor data integrity
Test data (offline)Programmed controlsNoProgram tested may not be the live one
Integrated test facilityControls in live processingYesContaminating real data
Embedded audit module / SCARFContinuous flaggingYesNeeds design-stage access, client dependence
Parallel simulationComputation logicNoAuditor's model may misread the rules

Where it is used

Interview questions

Common mistakes

Related topics

Audit planning, materiality, risk assessment and sampling · Internal control and internal audit · Standards on Auditing (SAs) · Forensic accounting and fraud detection · Company audit: CARO 2020 and the auditor's report · Bank audit, tax audit and special audits

Open in the Knowledge reader →Find jobs →