Auditoria Contínua e Data Analytics na Auditoria Interna

Auditoria Contínua ou Monitoramento Contínuo de Riscos é um tema relativamente recente para profissionais de auditoria interna, governança corporativa e análise de dados.

Assim sendo, o assunto é pertinente em qualquer uma das linhas de defesa (Gestão, Auditoria Interna, Auditoria Externa, Gerenciamento de Riscos, Controles Internos, Compliance, Prevenção de Fraudes, etc.).

O que é Auditoria Contínua?

A metodologia de auditoria interna já é muito bem consolidada:

  • Mapeamento de processo e controle interno;
  • Criação do mapa de risco;
  • Análise de probabilidade e impacto;
  • Programa de testes para auditar;
  • Documentação dos papéis de trabalho;
  • Emissão de relatório ou parecer.

Auditoria Contínua é o processo de criação de rotinas automatizadas e periódicas de análise de dados e monitoramento contínuo. Gatilhos e critérios são pré-definidos em scripts (código-fonte/programação) para identificar exceções ou outliers (situações não usuais). São “robôs” que utilizam sistemas e ferramentas de análise de dados. Os robôs auxiliam na identificação de riscos, prevenção de fraudes, avaliação da segurança da informação, auditoria preventiva e testes de conformidade.

Uma atividade estreitamente relacionada aos auditores de TI, a Auditoria Contínua, ou Monitoramento Contínuo, provavelmente iniciou-se com as técnicas de auditoria com auxílio de sistemas, mais conhecidas como CAATs (Computer-Assisted Audit Techniques).

Monitoramento Contínuo

Usando ferramentas de análise de dados, como ACL (Audit Command Language) – agora chamado de Galvanize ACL Analytics, este profissional, aplica os conhecimentos de auditoria com o auxílio da ferramenta.

Consistindo relatórios, sumarizando campos, relacionando bases de diferentes sistemas, e criando amostras aleatórias com facilidade.

Há ainda outras ferramentas de análise de dados como Arbutus, SAS, IDEA e até mesmo o SQL Server pode ser utilizado com esta finalidade.

Transformando essas análises em scripts ACL, pode-se criar rotinas automatizadas de:

  • Monitoramento contínuo de riscos inerentes ao processo;
  • Testes de controles;
  • Simulação de controles;
  • Identificação e prevenção de fraude;
  • Gerar alertas de eventos ou comportamentos não usuais de acordo com o objetivo da auditoria.

Estes podem estar relacionados à segurança da informação, controle efetivo de inventário, quebra de alçada, pagamentos duplicados ou suspeitos e etc..

A automatização traz muitos benefícios:

  • Otimizar o plano de auditoria;
  • Implantar uma metodologia ágil;
  • Ganhar eficiência;
  • Evitar o retrabalho;
  • Reduzir custos;
  • Ampliar o escopo;
  • Novos métodos de visualização do parecer de auditoria;
  • Execução recorrente;
  • Análise em larga escala;
  • Alinhar interesses da auditoria e das áreas de negócios;
  • Fazer mais com menos.

Segurança dos Dados

Com alguns acessos de leitura ao AD (Active Directory) e relatórios gerenciais em ferramentas como o SCCM (System Center Configuration Manager), testes típicos de ITGC (Information Technology General Controls) podem ser realizados à distância e em tempo real sem a dependência da área de TI.

O monitoramento de transações críticas através de logs de acesso, revisão de perfis e funções pode ser facilmente avaliado comparando os dados eletrônicos e identificando situações em desacordo com as políticas e procedimentos da organização.

Auditoria Contábil

Escandalos recentes de corrupção e lavagem de dinheiro no Brasil demonstraram a importância de fortalecer a Governança Corporativa. Ficou evidente que o combate corrupção está intimamente ligado à identificação da “Contabilidade Criativa”. Movimentações atípicas reportadas pelo antigo COAF demonstraram a efetividade inegável de seguir “a rota do dinheiro do dinheiro sujo”.

A auditoria contabil, antes baseada em amostras aleatórias, evidências fornecidas pelo contador e testes de journal entries. Agora pode ser realizada de forma automática para a base completa com o cruzamento de dados. Isso amplia a cobertura de Riscos analisados.

Mapeando-se os processos, contas contábeis, tipos de documentos e comportamentos esperados podem-se identificar outliers: valores inconsistentes, atípicos, incompatíveis com o restante da série.

A análise de dados é facilitada quando a companhia utiliza dados estruturados em um sistema de ERP (Enterprise Resource Planning) como por exemplo o SAP. Neste tipo de sistema, há transações standard para cada processo, e as informações podem ser acessadas e extraídas diretamente na transação.

O ganho de eficiência vêm com conhecimento das tabelas internas do SAP. Pode-se extrair grandes volumes de dados de uma vez. Utilizamos a transação SE16, conectores ou transações ABAP.

Inovação na Auditoria Interna

A inovação é peça chave neste tipo de atividade, e está cada vez mais relacionada às tendências da área de TI: RPA, BI, Big Data, Data Science. Novos cenários se apresentam ao auditor:

  • Cloud Computing;
  • Gamificação;
  • Aplicativos mobile;
  • Internet das Coisas (IOT);
  • Trabalho remoto;
  • BYOD (Bring Your Own Device);
  • Metodologias ágeis e etc.

Exige-se portanto uma visão disruptiva do profissional para novos riscos, novos tipos de auditoria e novas possibilidades de auditar.

Automatização e RPA

O RPA (Robot Process Automation) vêm se destacando no mercado como solução de ganho de eficiência. No RPA, um robô é programado para executar tarefas sequenciais e repetitivas.

Quando associado à Inteligência Artificial, permite ainda a execução de atividades mais sofisticadas com um alto grau de precisão e aprimoramento contínuo.

Os humanos ficam liberados para atividades mais complexas, subjetivas, que exijam planejamento, estratégia e julgamento como conduta e integridade na prevenção de fraudes.

Data Science e Big Data

As Companhias estão estruturando planos de Transformação Digital, e temas como ciência de dados, data warehouse, data lake e os 3 V´s do Big Data já são corriqueiros.

O cientista de dados já um profissional cobiçado no mercado, embora o tema ainda seja bastante novo e esteja em constante aprimoramento.

As empresas de auditoria interna, consultoria, auditoria externa, faculdades, os profissionais – todos querem surfar esta onda cheia de jargões de análise de dados.

Resta ao profissional de gestão de riscos corporativos que deseja acompanhar estas inovações buscar a atualização de conhecimentos. Procure fortalecer a base teórica em matemática, especialmente estatística, desenvolver habilidades de programação e análise de dados.

Um bom começo pode ser o ACL ou ferramenta semelhante de análise de dados. Depois, cabe conhecer a linguagem R, Python e acompanhar os impactos da Inteligência Artificial e Robotização nos processos da Companhia.

Referências sobre Auditoria Contínua

Ficando Um Passo À Frente O Uso da Tecnologia por parte da Auditoria Interna (IIA/Michael P. Cangemi, 2015)

Auditoria Interna no Brasil

Introdução a linguagem r

Introdução a linguagem r é certamente um dos primeiros temas pesquisados na jornada de aprendizado de um cientista de dados, profissional de bioestatística, auditor em auditoria contínua ou um profissional com foco em data analytics.

No entanto, antes de partir para temas mais complexos como análise preditiva, inteligência artificial, machine learning, Big Data, certamente também vale a pena relembrar e reforçar conceitos básicos de matemática, estatística, lógica de programação e estrutura de dados.

Matemática e Estatística

Muito utilizada por matemáticos e estatísticos, a linguagem R é especializada em manipulação, análise e visualização de dados. Assim sendo, a linguagem R possui funções estatísticas e é muito fácil utilizá-la para obter a média, moda, mediana, criar histogramas, e até mesmo criar e visualizar gráficos elaborados com dispersão, regressão linear e até mesmo três dimensões (3D). Este post mostrará alguns conceitos básicos da linguagem. Por este motivo, para testar os exemplos você precisa instalar o R previamente. Adicionalmente. se preferir, também pode instalar o RStudio – um ambiente gráfico mais amigável e gratuito.

Quais são as estruturas de dados no R?

Como atribuir um valor no R?

Primeiramente, vamos aprender a atribuir o valor 1 à x. Para isto, basta utilizar o comando abaixo:

> x <- 1

Como resultado, apesar de conter apenas um item (1), veja que ainda sim para o R, x é considerado um vetor de tamanho 1.

Como exibir valores no R?

Para exibir o valor de x, basta digitar x e teclar enter:

> x
[1] 1

Você pode atribuir mais de um número à um vetor, por exemplo, concatenando os valores (1,2,3,4,5) à partir da função c( ) :

> x <- c(1,2,3,4,5)
> x
[1] 1 2 3 4 5

Outra forma de fazer o mesmo, seria atribuir uma sequência numérica sequencial “1:5” através do operador “:

> x <- 1:5
> x
[1] 1 2 3 4 5

Para exibir o valor de uma estrutura de dados (variável, vetor, matriz, data frame), basta digitar o nome e teclar enter:

Como transformar um vetor em uma matriz no R?

Vejamos o vetor x contendo números de 1 à 20:

> x <- 1:20
> x
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

Utilizando a função dim( ) podemos atribuir os parâmetros nrow=10 (número de linhas = 10), ncol=2 (número de colunas = 2) para o vetor x, transformando-o em uma matriz 10 x 2:

> dim(x) <- c(10,2)

Exibindo o valor de x vemos uma matriz de 10 linhas e 2 colunas:

> x
      [,1] [,2]
 [1,]    1   11
 [2,]    2   12
 [3,]    3   13
 [4,]    4   14
 [5,]    5   15
 [6,]    6   16
 [7,]    7   17
 [8,]    8   18
 [9,]    9   19
[10,]   10   20

Como realizar uma operação matemática entre matrizes no R?

Vamos criar outro vetor y, contendo números de 20 à 39 e formatá-lo como uma matriz 10 x 2. Para isso basta utilizar os seguintes comandos:

> y <- 20:39
> dim(y) <- c(10,2)

Exibindo o resultado de y temos:

> y
      [,1] [,2]
 [1,]   20   30
 [2,]   21   31
 [3,]   22   32
 [4,]   23   33
 [5,]   24   34
 [6,]   25   35
 [7,]   26   36
 [8,]   27   37
 [9,]   28   38
[10,]   29   39

O código abaixo multiplica a matriz x pela matriz y e guarda o resultado na matriz z.

> z <- x * y
> z
      [,1] [,2]
 [1,]   20  330
 [2,]   42  372
 [3,]   66  416
 [4,]   92  462
 [5,]  120  510
 [6,]  150  560
 [7,]  182  612
 [8,]  216  666
 [9,]  252  722
[10,]  290  780

Assim como na matemática, a linguagem R procura multiplicar os elementos das matrizes que estão na mesma posição, ou seja o item presente na linha 1, coluna 1 da matriz x (1) é multiplicado pelo item presente na linha 1, coluna 1 da matriz y (20), e assim por diante.

O código fonte completo

Finalmente, depois de tudo que vimos acima, temos abaixo o código fonte completo utilizado neste post. Você pode simplesmente copiar e executar de uma vez e observar os resultados obtidos.

x <- 1:20
x
dim(x) <- c(10,2)
x
y <- 20:39
dim(y) <- c(10,2)
y
z <- x * y
z
dim(z) <- c(5,4)
z

Resultado obtido

> x <- 1:20
> x
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
> dim(x) <- c(10,2)
> x
      [,1] [,2]
 [1,]    1   11
 [2,]    2   12
 [3,]    3   13
 [4,]    4   14
 [5,]    5   15
 [6,]    6   16
 [7,]    7   17
 [8,]    8   18
 [9,]    9   19
[10,]   10   20
> y <- 20:39
> dim(y) <- c(10,2)
> y
      [,1] [,2]
 [1,]   20   30
 [2,]   21   31
 [3,]   22   32
 [4,]   23   33
 [5,]   24   34
 [6,]   25   35
 [7,]   26   36
 [8,]   27   37
 [9,]   28   38
[10,]   29   39
> z <- x * y
> z
      [,1] [,2]
 [1,]   20  330
 [2,]   42  372
 [3,]   66  416
 [4,]   92  462
 [5,]  120  510
 [6,]  150  560
 [7,]  182  612
 [8,]  216  666
 [9,]  252  722
[10,]  290  780
> dim(z) <- c(5,4)
> z
     [,1] [,2] [,3] [,4]
[1,]   20  150  330  560
[2,]   42  182  372  612
[3,]   66  216  416  666
[4,]   92  252  462  722
[5,]  120  290  510  780
> 

Perguntas sobre R respondidas aqui

  1. Introdução a linguagem R
  2. Quais são as estruturas de dados no R?
  3. Como criar uma variável no R?
  4. Como atribuir um valor a uma variável no R?
  5. Como exibir uma variável no R?
  6. Como atribuir um range de números sequenciais à um vetor no R?
  7. Como transformar um vetor em uma matriz no R?
  8. Como realizar uma operação matemática entre matrizes no R?

Referências sobre linguagem R

R Programming for Data Science ( Roger D. Peng ) Professor de Bioestatística Bloomberg Public Health School – Johns Hopkins University.