PROJECT: DETECTING FRAUD IN FINANCIAL TRANSACTIONS

# Python# Spark# Flask# MySQL# AWS
# SQL# Hadoop# Django# PostgreSQL# Azure
# VBA# Kafka# SQLite# GCP
# Flink# MongoDB# cloud on-premises

 

time: May 2014 – May 2018
role: Data Scientist 
company: KRONOSPAN

Kronospan is a company specializing in the mass production of chipboards. Every month, its factories received hundreds of thousands of tons of wood waste, such as chips, sawdust, and other materials, delivered by transport companies. Payments for these transports were made on two levels: separately for the raw material and for the transport service. The cost of transport was calculated based on „system kilometers,” which included various parameters such as distance, loading location, route type, and other factors influencing the cost per kilometer.

Given the large scale of operations, transporters realized that manually verifying every claim for a transport run was practically impossible. They exploited this by occasionally falsifying route parameters, leading to inflated transport costs. Monthly, the company had to process hundreds of thousands of transport-related transactions, making manual analysis ineffective.

As a Big Data specialist, I was tasked with creating a system that would automatically detect such fraud. To meet this challenge, I implemented advanced technologies such as Apache Hadoop, Apache Spark, and Apache Kafka, which allowed for efficient processing and analysis of enormous amounts of data in real time.

PROJECT IMPLEMENTATION

The first step was to create a data lake, where I gathered all the data related to transport transactions. Using Apache Kafka, I could collect real-time data directly from Kronospan’s systems, enabling ongoing monitoring of each transaction, though data could also be analyzed after processing. These data were then processed by Apache Spark, which was responsible for identifying anomalies and patterns that could indicate potential fraud.

I developed a model based on three key principles:

Continuity Principle – Transport costs for a specific carrier should be stable over time. Sudden and drastic changes in costs could be indicators of irregularities.

Consistency Principle – Similar routes executed by the same companies should have comparable costs. Deviations from this could indicate fraudulent activity.

Comparability Principle – Companies with similar profiles should have similar costs when calculated per kilometer or per ton of delivered material.

Anomalies in transactions were detected through statistical distribution analysis and classic statistical tests. When differences were too significant, the system generated alerts that called for further investigation.

Apache Spark allowed for the parallel processing of vast amounts of data, significantly speeding up the identification of suspicious transactions. By applying machine learning models, I introduced a predictive mechanism that could flag potential fraud even before the data was fully processed. The Apache Hadoop infrastructure, in turn, was essential for storing and managing these large datasets, which was crucial when analyzing hundreds of thousands of transactions each month.

The project was a success. We managed to create a system that operated efficiently and detected fraud in transport transactions on a national scale.


PROJEKT: WYKRYWANIE OSZUSTW W TRANSAKCJACH FINANSOWYCH DLA FIRMY KRONOSPAN

Kronospan to firma, która specjalizuje się w masowej produkcji płyt wiórowych. Każdego miesiąca do jej fabryk trafiały setki tysięcy ton surowców drzewnych w postaci wiórów, trocin i innych odpadów, które były dostarczane przez firmy transportowe. Płatności za te transporty były realizowane na dwóch poziomach: oddzielnie za surowiec i oddzielnie za transport. Koszt transportu opierano na tzw. „kilometrach systemowych”, które uwzględniały różne parametry, takie jak dystans, miejsce załadunku, rodzaj trasy i inne czynniki wpływające na koszt za kilometr.

Z uwagi na dużą skalę działalności, przewoźnicy zdawali sobie sprawę, że ręczne sprawdzanie każdego roszczenia za transport było praktycznie niemożliwe. Wykorzystywali to, czasami fałszując parametry tras, co prowadziło do zawyżania kosztów transportu. Miesięcznie firma musiała przetwarzać kilkaset tysięcy transakcji związanych z transportem, co sprawiało, że manualna analiza była nieefektywna.

Jako specjalista od Big Data, zostałem poproszony o stworzenie systemu, który automatycznie wykrywałby takie oszustwa. Aby sprostać temu wyzwaniu, wdrożyłem zaawansowane technologie, takie jak Apache Hadoop, Apache Spark oraz Apache Kafka, które pozwalały efektywnie przetwarzać i analizować gigantyczne ilości danych w czasie rzeczywistym.

REALIZACJA PROJEKTU

Pierwszym krokiem było stworzenie data lake, w którym zebrałem wszystkie dane dotyczące transakcji transportowych. Dzięki Apache Kafka mogłem zbierać dane na bieżąco, bezpośrednio z systemów firmy Kronospan, co umożliwiało mi bieżące monitorowanie każdej transakcji, choć analiza danych mogła być również przeprowadzana po ich przetworzeniu. Dane te były następnie przetwarzane przez Apache Spark, który odpowiadał za wykrywanie anomalii i wzorców mogących wskazywać na potencjalne oszustwa.

Stworzyłem model oparty na trzech kluczowych zasadach:

Zasada ciągłości – Koszty transportu dla konkretnego przewoźnika powinny być stabilne w czasie. Nagłe i drastyczne zmiany w kosztach mogą być wskaźnikiem nieprawidłowości.

Zasada spójności – Podobne kursy realizowane przez te same firmy powinny mieć porównywalne koszty. Odchylenia od normy mogły wskazywać na próby oszustwa.

Zasada porównywalności – Firmy o podobnym profilu powinny mieć zbliżone koszty przeliczone na kilometr lub tonę dostarczonego surowca.

Anomalie w transakcjach były wykrywane za pomocą analizy rozkładów statystycznych i klasycznych testów statystycznych. Gdy różnice były zbyt duże, system generował alerty, które wskazywały na konieczność dalszego dochodzenia.

Apache Spark umożliwił równoczesne przetwarzanie ogromnych ilości danych, co znacznie przyspieszyło proces identyfikacji podejrzanych transakcji. Zastosowanie modeli uczenia maszynowego pozwoliło mi wprowadzić mechanizm predykcyjny, który potrafił przewidzieć potencjalne oszustwa jeszcze przed pełnym przetworzeniem danych. Infrastruktura Apache Hadoop z kolei była kluczowa do przechowywania i zarządzania tymi wielkimi zbiorami danych, co było niezbędne przy analizie kilkuset tysięcy transakcji miesięcznie.

Projekt zakończył się sukcesem. Udało się stworzyć system, który działał efektywnie i wykrywał oszustwa w transakcjach transportowych na skalę całej Polski.

1 Komentarz

Komentowanie jest wyłączone.