
Terça-feira, 21 de Dezembro, 2010
A melhor lei contra a fraude
O ano foi 1938 e seu nome era Frank Benford. Benford era físico e ficou intrigado com uma observação que ele tinha constatado em seus conjuntos de dados. Ele observou que apesar de seus dados serem aparentemente aleatórios, os primeiros dígitos tinham uma distribuição muito estranha. Por exemplo, se pensarmos na sucessão de potências de 2, o que será que pode-se tirar de comum? 2 4 8 16 32 64 128 256 512 1024... Considere agora apenas o primeiro dígito de cada número: 2 4 8 1 3 6 1 2 5 1...Observe agora quantas vezes apareceu o número 1? E o número 2? E os demais? Pois foi o que Frank Benford fez em seus dados. Ele observou que mesmo em tabelas de números aleatórios, o número 1 sempre aparecia mais que o número 2, o número 2 mais que o número 3 e assim até o dígito 9. Pode-se pensar que é um absurdo, pois na conhecida distribuição de probabilidade uniforme, todo número têm a mesma chance de ser escolhido com a probabilidade 1/(tamanho do intervalo). Mas incrivelmente, mesmo nessa distribuição, retirando-se apenas o primeiro digítio a "Lei Benford" é obedecida. A lei vale sempre? Não, pois é uma lei empírica e se o leitor pegar uma lista telefônica com prefixo (31) por exemplo, não vai encontrar nenhum dígito primeiro 1. Mas é uma lei muito interessante quando se trata de dados aleatórios e em boa quantidade. A fórmula da Lei Benford para calcular a probabilidade de cada primeiro dígito é o logaritmo de (1+1/d) na base 10, ou |
|
Então a tabela de "chances" de aparecimento do primeiro dígito para dígitos de 1 a 9 é a seguinte: Se o leitor fizer o gráfico dessa lei, poderá observar o conhecido decaimento exponencial da probabilidade, mostrando que os primeiros dígitos com os primeiros números naturais tem mais chance de aparecer do que os últimos. Poderia ser apenas mais uma curiosidade matemática que faz um leigo rir, brincar e esquecer. Mas com o advento do computador, coisas mais sérias começaram a aparecer em cima dessa lei. Por exemplo, depois da década de 1980 ela começou a ser usada para verificar a veracidade de dados que se diziam aleatórios. Ou seja, começou a ser usada para verificar crimes em mesas de jogos, em jogos eletrônicos de apostas pois é barata e apenas uma pequena coleta de dados é suficiente para atestar a verdadeira aleatoriedade de dados ou não. Então, a receita federal dos EUA, em 1998 implementou essa lei em seu sistema de ratreamento de fraudes! Sim, porque se por exemplo, valores de despezas estão aparecendo com muitos dígitos iniciais 3 acima dos 12% é sinal que algo de errado existe na declaração de imposto de renda. E o mais impressionante é que fraudes históricas nos EUA compreendendo dados de grandes empresas foram descobertos e estavam corretos, somente pela aplicação da lei Benford. Não dá para acreditar apenas lendo. Então vamos fazer. Pegamos os dados na data de hoje (21/12/2010) de 62 empresas listadas na Bovespa. Os valores eram de intraday, negociados às 13,30 horas. Usando planilha em Excel é fácil tomar apenas o primeiro dígito do número, fazendo uso para isso da seguinte fórmula para cada linha do valor da ação:
|
A função "Esquerda" serve para tirar apenas o primeiro dígito do valor da ação. A função "Valor" o transforma em valor numérico pois o site de onde retiramos o relatório das ações os números estavam em forma de texto. O número 10 multiplicando a célula não é necessário pois todos os preços estão com dígitos significativos, mas fica pronto dessa forma se desejar trocar os dados para opções. Então o leitor separa nove colunas, uma para cada dígito de verificação e para contagem de seu aparecimento (1,2,3,...,9). Isso pode ser feito usando a função "SE" do Excel:
Nesse exemplo acima, a função foi para selecionar apenas os dígitos que começassem com 1. Para a coluna seguinte, o comando seria B2=2, depois B2=3 e assim sucessivamente até B2=9. Então conta-se o total de aparecimento de cada dígito e divide-se pelo total de dados ( no caso o total de ações). O resultado? Vamos analisar a tabela abaixo:
A coluna em azul foi retirada dos primeiros dígitos das 62 empresas no momento da coleta de dados. A última coluna é o valor teórico esperado de cada dígito. Vamos antes lembrar que 62 não é nem de longe um bom número para tamanho da amostra das empresas listadas na Bovespa. Mas mesmo com essa amostra muito baixa, as relações entre os dígitos se tornam curiosas. Por exemplo, o aparecimento do dígito 1 foi muito próximo dos 30% esperado pela lei de Benford. E os que estão acima e abaixo? Então entra aí mais uma invenção interessante. Alguns sites indicam que para a bolsa de valores, quando os dados começando com um certo dígito estão abaixo do esperado, é hora de comprar, se estiver muito acima, é hora de vender. Não dá para confiar nessa regra muito parecida com a regra da média móvel. Mas no caso de descoberta de fraudes em empresas, os relatos são pra lá de interessantes. Fraudes contábeis de vendas já foram apuradas usando planilhas Excel apenas contando os primeiros dígitos. Como os dados não eram amostrais mas totais, pois eram de toda empresa, foi possível confiar e descobrir até qual o departamento estava desviando verbas. Uma procura na internet (thinkfn, Exceluser, wikipedia) pode mostrar que as aplicações estão aumentando e muito e a lei está sendo adotada até mesmo por contadores no Brasil. No caso das ações da Bovespa, o gráfico a seguir mostra o desvio (linha azul) das ações em relação ao valor esperado dos primeiros dígitos (linha vermelha) na teoria.
|
|
Sua empresa "adora" o Excel? Você confia muito no Excel em suas projeções? Já alertamos do perigo escondido atrás da função que todos os fundos, bancos e corretoras com seus analistas usam no Excel: "Aleatório()". Em nosso texto " O diabo se esconde atrás dos dados... dos fundos de investimentos" mostramos o perigo das projeções que estão se fazendo no mercado usando Excel. Usamos então a lei de Benford para replicar e mostrar o que acontece com dados que vem da função "aleatório()". Repetimos todos os passos que comentamos nas ações da Bovespa. Eis o resultado encontrado:
|
Pode-se observar que nem de longe os dados aleatórios casam com a lei de Benford. Não somente uma vez, mas dezenas de vezes que a planilha foi atualizada os dados não chegam perto da lei Benford. Isso não prova nem comprova nada pois o teste é muito simples, mas é mais um indício para não se confiar em relatórios de tendências feitos no Excel usando a função aleatório. Conforme mostramos no texto sobre o erro no Excel, mostramos que outras linguagens de programação produzem resultados confiáveis e mais precisos do que o Excel. O gráfico nesse caso do teste aleatório é o seguinte:
Como dissemos, a lei Benford é uma lei empírica, o que significa dizer que não funciona para 100% dos dados, mas testes tem mostrado que funciona para detecção de fraudes ou outliers em dados aleatórios. Se o governo americano implementou essa solução barata é porque deve funcionar. Talvez a nossa receita federal já tenha implementado em seus sistema de imposto de renda. O fato é que para empresas essa funçaõ se torna uma arma poderosa, pelo menos para detectar e soltar um alarme. Se não deu certo, pelo menos o departamento fica atento e o funcionário mal intensionado pensará duas vezes antes de agir. Como estamos nessa época natalina, ofereço como presente de Natal a planilha em Excel com a implementação das cotações da Bovespa e as funções descritas acima usando a lei de Benford. Para usar com seus dados, o leitor só precisa trocar a coluna "A" por dados novos e observar o que vai sair na tabela de frequências. Se o Brasil tivesse implementado essa lei ao contrário de outras tantas sem função, talvez os gastos públicos fossem menores e o natal de muitos seria ainda melhor. |