Monitoring of Jobskills with Data Engineering & AI

On own account, we from DATANOMIQ have created a web application that monitors data about job postings related to Data & AI from multiple sources (Indeed.com, Google Jobs, Stepstone.de and more).

The data is obtained from the Internet via APIs and web scraping, and the job titles and the skills listed in them are identified and extracted from them using Natural Language Processing (NLP) or more specific from Named-Entity Recognition (NER).

The skill clusters are formed via the discipline of Topic Modelling, a method from unsupervised machine learning, which show the differences in the distribution of requirements between them.

The whole web app is hosted and deployed on the Microsoft Azure Cloud via CI/CD and Infrastructure as Code (IaC).

The presentation is currently limited to the current situation on the labor market. However, we collect these over time and will make trends secure, for example how the demand for Python, SQL or specific tools such as dbt or Power BI changes.

Why we did it? It is a nice show-case many people are interested in. Over the time, it will provides you the answer on your questions related to which tool to learn! For DATANOMIQ this is a show-case of the coming Data as a Service (DaaS) Business.

Lambda Architecture vs Kappa Architecture for Big Data Cloud Platforms? Let us discuss which architecture suits best for what use cases.

Big Data – Lambda or Kappa Architecture?

Big Data Analytics stands apart from conventional data processing in its fundamental nature. In the realm of Big Data, there are two prominent architectural concepts that perplex companies embarking on the construction or restructuring of their Big Data platform: Lambda architecture or Kappa architecture. Thus, it is crucial for such companies to contemplate and decide which architectural approach best aligns with their goals.

Lambda – Architecture

Introduced in 2011 during the peak of Big Data’s prominence, the Lambda architecture remains a significant presence in the field. Despite being the older of the two architectures, it offers a more comprehensive approach by incorporating three layers: the batch layer, the speed layer (also known as the stream layer), and the serving layer.

The Batch Layer is responsible for processing the entire dataset, ensuring the generation of the most accurate results. However, this comes at the cost of higher latency due to the batch loading of data. On the flip side, the batch layer can handle complex calculations without time constraints. It stores incoming raw data and filters it for subsequent applications.

Batch runs are suitable for non-time-sensitive data that require regular updates, such as daily or weekly incremental loads. Additionally, batch runs are necessary for complete data migration or overwriting (Full Load) scenarios.

The Speed Layer operates with low latency, producing almost real-time results. It calculates real-time views that complement the batch views. The speed layer receives incoming data and provides incremental updates to the batch layer results. By implementing incremental deduction logic, the speed layer significantly reduces computational costs.

Here is a simplified depiction of the Lambda architecture, showcasing the multi-store concept and the serving layer. In this representation, there is a separate store for events within the speed layer and another store for data loaded during batch processing. The serving layer acts as a mediator, enabling subsequent applications to access the data. It is important to note that in the Lambda architecture, the serving layer can be omitted, allowing batch processing and event streaming to remain separate entities.

Here is a simplified depiction of the Lambda architecture, showcasing the multi-store concept and the serving layer. In this representation, there is a separate store for events within the speed layer and another store for data loaded during batch processing. The serving layer acts as a mediator, enabling subsequent applications to access the data. It is important to note that in the Lambda architecture, the serving layer can be omitted, allowing batch processing and event streaming to remain separate entities.

The batch views within the Lambda architecture allow for the application of more complex or resource-intensive rules, resulting in superior data quality and reduced bias over time. On the other hand, the real-time views provide immediate access to the most current data.

The Serving Layer serves as a conduit for various data queries originating from both the batch and speed layers. It receives batch views from the batch layer and near-real-time views from the speed layer, utilizing this data to facilitate standard reporting and ad hoc analytics.

The Lambda architecture effectively balances speed, reliability, and scalability. However, it is worth mentioning that while the batch layer and real-time stream handle different scenarios, their underlying processing logic often shares similarities. As a result, the development and maintenance efforts for both layers should not be underestimated.

Kappa – Architecture

Jay Kreps introduced the Kappa architecture in 2014 as an alternative to the Lambda architecture. It addresses the redundancy present in the Lambda architecture by completely removing the batch component. By eliminating the parallel operation of two pipelines, the Kappa architecture simplifies the overall architectural complexity.

In the Kappa architecture, only the speed layer, represented by an event-based streaming pipeline, remains. The fundamental concept is to handle real-time data processing and continuous data reprocessing using a single stream processing engine. This approach allows for the avoidance of a multi-layer lambda architecture while ensuring the quality of data processing is maintained.

Illustrated simplified Kappa Architecture. This architectural concept relies on event streaming as the core element of data delivery.

Illustrated simplified Kappa Architecture. This architectural concept relies on event streaming as the core element of data delivery.

In practical implementation, the Kappa architecture is commonly deployed using Apache Kafka or Kafka-based tools. Applications can directly read from and write to Kafka or an alternative message queue tool. For existing event sources, listeners are utilized to stream writes directly from database logs or similar data stores. This approach eliminates the need for inbound batch processing and reduces resource requirements.

By treating every data point as a streaming event, the Kappa architecture enables the ability to near-realtime analytics and observe the state of all data in the organization at any given point. Queries can be performed at a single location, eliminating the need to compare batch and velocity views.

However, there are challenges associated with this architecture. Data processing must be done as a data stream, leading to difficulties such as managing duplicate events, cross-referencing events, and maintaining correct operation order. While batch processing can handle retrospective consolidation of multiple data sets, these challenges persist in the Kappa architecture. As a result, implementing architectures based on the Kappa concept can be more complex compared to those based on the Lambda concept, even though the latter may appear clearer in architectural sketches.

The Kappa architecture is particularly suitable when event streaming or real-time processing use cases are predominant. It offers the advantage of having a single ETL platform to develop and maintain. It is well-suited for developing data systems that emphasize online learning and do not require a separate batch layer. The sequence of events and queries is not predefined but generated in later steps based on business logic, prioritizing speed.

Use cases – When to use which architecture?

It is important to note that Kappa architecture does not serve as a direct substitute for Lambda architecture, as there are certain use cases supported by Lambda that cannot be seamlessly migrated. The Lambda architecture is better suited for implementing complex data processes and ensuring consistently complete data provisioning compared to the pure event processing approach of Kappa. As a result, many Data Lakehouse systems are built upon the foundations of the Lambda architecture.

Requirements that clearly speak for Lambda

  • If data is to be processed ad-hoc on quasi unchanging, quality-assured databases, or if the focus of the database is on data quality and the avoidance of inconsistencies.
  • When fast responses are required, but the system must be able to handle different update cycles.

Requirements that clearly speak in favor of Kappa:

  • When the algorithms applied to the real-time data and the historical data are identical.
  • If the analytics system is online learning capable and therefore does not require a batch layer.
  • The order of events and queries does not matter, but the stream processing platforms can exchange data with the database instantly at any time.

If your requirements prioritize a highly reliable Data Lakehouse update process and efficient machine learning model training for accurate event predictions, the Lambda architecture is the recommended choice. By leveraging both the batch layer and the speed layer, the Lambda architecture ensures minimal errors and optimized processing speed.

Alternatively, if you seek a streamlined Big Data architecture that excels in handling distinct and continuously emerging events (e.g., fueling data for numerous mobile applications), the Kappa architecture is the ideal solution for data platforms with the main purpose of real-time data processing. Its focus on unique, ongoing events allows for effective and responsive data processing.

How to reduce costs for Process Mining

Process mining has emerged as a powerful Business Process Intelligence discipline (BPI) for analyzing and improving business processes. It involves extracting data from source systems to gain insights into process behavior and uncover opportunities for optimization. While there are many approaches to create value with process mining, organizations often face challenges when it comes to the cost of implementing the necessary solution. In this article, we will highlight the key elements when it comes to process mining architectures as well as the most common mistakes, to help organizations leverage the power of process mining while maintain cost control.

Process Mining - Elements of Process Mining and their cost aspects

Process Mining – Elements of Process Mining and their cost aspects

Data Extraction for process mining

Most process mining projects underestimate the complexity of data extraction. Even for well-known sources like SAP-ERP’s, the extraction often consumes 50% of the first pilot’s resources. As a result, the extraction pipelines are often built with the credo of “asap” and this is where the cost-drama begins. Process Mining demands Big Data in 99% of the cases, releasing bad developed extraction jobs will end in big cost chunks down the value stream. Frequently organizations perform full loads of big SAP tables, causing source system performance impact, increasing maintenance, and moving hundred GB’s of data on daily basis without any new value. Other organizations fall for the connectors, provided by some process mining platform tools, promising time-to-value being the best. Against all odds the data is getting extracted then into costly third-party platforms where they can be only consumed by the platforms process mining tool itself. On top of that, these organizations often perform more than one Business Process Intelligence discipline, resulting in extracting the exact same data multiple times.

Process Mining - Data Extraction

Process Mining – Data Extraction

The data extraction for process mining should be well planed and match the data strategy of the organization. By considering lightweighted data preprocessing techniques organizations can save both time and money. When accepting the investment character of big data extractions, the investment should be done properly in the beginning and therefore cost beneficial in the long term.

Cloud-Based infrastructure with process mining?

Depending on the data strategy of one organization, one cost-effective approach to process mining could be to leverage cloud computing resources. Cloud platforms, such as Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP), provide scalable and flexible infrastructure options. By using cloud services, organizations can avoid the upfront investment in hardware and maintenance costs associated with on-premises infrastructure. They can pay for resources on a pay-as-you-go basis, scaling up or down as needed, which can significantly reduce costs. When dealing with big data in the cloud, meeting the performance requirements while keeping cost control can be a balancing act, that requires a high skillset in cloud technologies. Depending the organization situation and data strategy, on premises or hybrid approaches should be also considered. But costs won’t decrease only migrating from on-premises to cloud and vice versa. What makes the difference is a smart ETL design capturing the nature of process mining data.

Process Mining Cloud Architecture on "pay as you go" base.

Process Mining Cloud Architecture on “pay as you go” base.

Storage for process mining data

Storing data is a crucial aspect of process mining, as in most cases big data is involved. Instead of investing in expensive data storage solutions, which some process mining solutions offer, organizations can opt for cost-effective alternatives. Cloud storage services like Amazon S3, Azure Blob Storage, or Google Cloud Storage provide highly scalable and durable storage options at a fraction of the cost of process mining storage systems. By utilizing these services, organizations can store large volumes of event data without incurring substantial expenses. Moreover, when big data engineering technics, consider profound process mining logics the storage cost cut down can be tremendous.

Process Mining - Infrastructure Cost Curve - On-Premise vs Cloud

Process Mining – Infrastructure Cost Curve: On-Premise vs Cloud

Process Mining Tools

While some commercial process mining tools can be expensive, there are several powerful more economical alternatives available. Tools like Process Science, ProM, and Disco provide comprehensive process mining capabilities without the hefty price tag. These tools offer functionalities such as event log import, process discovery, conformance checking, and performance analysis. Organizations often mismanage the fact, that there can and should be more then one process mining tool available. As expensive solutions like Celonis have their benefits, not all use cases make up for the price of these tools. As a result, these low ROI-use cases will eat up the margin, or (and that’s even more critical) little promising use cases won’t be investigated on and therefore high hanging fruits never discovered. Leveraging process mining tools can significantly reduce costs while still enabling organizations to achieve valuable process insights.

Process Mining Tool Landscape

Process Mining Tool Landscape (examples shown)

Collaboration

Another cost-saving aspect is to encourage collaboration within the organization itself. Most process mining initiatives require the input from process experts and often involve multiple stakeholders across different departments. By establishing cross-functional teams and supporting collaboration, organizations can share resources and distribute the cost burden. This approach allows for the pooling of expertise, reduces duplication of efforts, and facilitates knowledge exchange, all while keeping costs low.

Process Mining Team Structure

Process Mining Team Structure

Conclusion

Process mining offers tremendous potential for organizations seeking to optimize their business processes. While many organizations start process mining projects euphorically, the costs set an abrupt end to the party. Implementing a low-cost and collaborative architecture can help to create a sustainable value for the organization. By leveraging cloud-based infrastructure, cost-effective storage solutions, big data engineering techniques, process mining tools, well developed data extractions, lightweight data preprocessing techniques, and fostering collaboration, organizations can embark on process mining initiatives without straining their budgets. With the right approach, organizations can unlock the power of process mining and drive operational excellence without losing cost control.

One might argue that implementing process mining is not only about the costs. In the end each organization must consider the long-term benefits and return on investment (ROI). But with a cost controlled and sustainable process mining approach, return on investment is likely higher and less risky.

This article provides general information for process mining cost reduction. Specific strategic decisions should always consider the unique requirements and restrictions of individual organizations.

Praxisbeispiel: Data Science im Banking

Wie sich mit Data Science die Profitabilität des Kreditkartengeschäfts einer Bank nachhaltig steigern lässt.

Die Fragestellung

Das Kreditkartengeschäft einer Bank brachte nicht die erhofften Gewinne ein, weshalb die Pricing-Strategie dieses Geschäftszweiges optimiert werden sollte. Hierbei sollte allerdings unbedingt vermieden werden, dass Kund:innen aufgrund erhöhter Zinskosten abspringen.

Die Frage, die sich hieraus ergab, lautete: Welche der Kund:innen würden höhere Zinskosten akzeptieren und welche würden bei einer Erhöhung der Zinsen ihre Kreditkarte kündigen? Um Kündigungen zu vermeiden, sollten deshalb zunächst eindeutige Kundensegmente identifiziert werden. Das Ziel war weiterhin, den weniger preissensitiven Kund:innen neue, lukrativere Kreditprodukte anzubieten, ohne gleichzeitig die Loyalität der Kund:innen zu gefährden.

Das Vorgehen

Um die verschiedenen Kundengruppen zu identifizieren, sollten die Kund:innen mithilfe einer Clustering-Analyse in klar voneinander abgegrenzte Segmente eingeteilt werden. Bei einer Clustering-Analyse handelt es sich um ein maschinelles Lernverfahren, bei dem Datenpunkte, in diesem Fall also Kund:innen zu Clustern oder Segmenten zusammengefasst werden. Bei einer solchen Analyse werden jene Kund:innen zu Clustern zusammengefasst, die sich in vielen Eigenschaften ähneln.

Der Vorteil an diesem Vorgehen ist, dass bei einer Clustering-Analyse eine Vielzahl an Eigenschaften gleichzeitig betrachtet werden kann. Außerdem können die erstellten Segmente dynamisch angepasst werden, wenn neue Daten in die Analyse eingehen. Zudem bietet ein Clustering-Modell die Möglichkeit, neue Kunden zu bewerten und einem bestehenden Cluster zuzuordnen, sofern die entsprechenden Daten über sie vorliegen.

Kunden segmentieren

Die Bank verfügte über vielfältige Daten den Kund:innen. Dazu gehörten persönliche Informationen wie Alter, Geschlecht, Bonität, Anzahl und Art der genutzten Kreditprodukte, Anzahl und Art der mit der Kreditkarte getätigten Transaktionen, aber auch Informationen zur bisherigen Beziehung zwischen Kund:in und Bank, wie beispielsweise Kontaktaufnahmen mit dem Kundenservice, Beschwerden, Net Promoter Score u.s.w.

Nachdem die Kund:innen anhand all dieser Eigenschaften einer Clustering-Analyse unterzogen worden waren, konnten verschiedene Gruppen identifiziert werden. Ein Vergleich dieser Gruppen untereinander ergab, dass es Kund:innen gibt, für die der Umfang der gebotenen Leistungen der Bank wichtiger war als der Zinssatz, also der Preis dieser Leistungen. Diese Kund:innen waren entsprechend als weniger preissensitiv bezüglich der Zinskosten einzuschätzen. In einem weiteren Segment wurden Kunden identifiziert, die eine Steigerung des Zinssatzes akzeptieren würden, weil sie die Kreditkarte sehr häufig verwendeten.

Durch die Bestimmung dieser wenig preissensitiven Cluster war die Bank zunächst in der Lage, diesen Kund:innen neue und lukrativere Kreditprodukte anzubieten.

Kundenloyalität messen

Darüber hinaus war der Bank wichtig, auch die Kundenzufriedenheit und -loyalität genauer zu beobachten, um Abwanderungen zu vermeiden.

Eine Möglichkeit, die Zufriedenheit und Loyalität von Kund:innen einzuschätzen besteht darin, ihre Sprache zu untersuchen, wenn sie im Austausch mit dem Kundenservice stehen. Aufgrund ihrer Wortwahl – ob mündlich oder schriftlich – können KI-Technologien den Emotionszustand der Kund:innen bestimmen. Positive Emotionen können hierbei allgemein als Zeichen der Loyalität und Zufriedenheit gedeutet werden, wohingegen negative Emotionen vor allem in Beschwerden oder schlechten Bewertungen vorkommen, die einen Kundenverlust zur Folge haben können. Das Ziel der Bank war es, Anfragen mit negativen Emotionen, also wahrscheinlich Beschwerden oder negative Bewertungen schneller zu erkennen, um diese priorisiert beantworten zu können und so einen drohenden Kundenverlust zu vermeiden.

In der Sprache ausgedrückte positive oder negative Emotionen können mit einer sogenannten Sentiment Analysis untersucht werden, wobei die Sprache der Kunden – ob schriftlich oder mündlich – mit KI-Technologien untersucht wird. Dafür kommt Natural Language Processing – eine Reihe der KI-Technologien zur Analyse menschlicher Sprache – zur Anwendung. Anhand dieser KI-Technologie wurden eingehende Nachrichten und Bewertungen einer automatischen Voruntersuchung unterzogen. Nachrichten und Bewertungen, die mit negativen Emotionen assoziiert wurden, wurden priorisiert bearbeitet. Durch die priorisierte Bearbeitung konnte eine 50%ige Reduktion der Antwortzeiten auf Beschwerden erzielt werden.

Die Ergebnisse

In diesem Projekt konnte die Bank durch verschiedene Ansätze das Kreditkartengeschäft optimieren sowie die Kundenreaktion auf die Zinssteigerung bzw. die Kundenloyalität in Echtzeit messen:

  • Mithilfe von Clustering konnten Kund:innen in Cluster eingeteilt werden, die sich in bestimmten, für die Bank wichtige Eigenschaften stark ähnelten. Durch die Bestimmung wenig preissensitiver Cluster war die Bank in der Lage, diesen Kund:innen neue und lukrativere Kreditprodukte anzubieten, was das Kreditkartengeschäft profitabler machte.
  • Mithilfe von Natural Language Processing konnten die Stimmungen der Kund:innen am Telefon mit dem Kundenservice oder per Email erfasst und ausgewertet werden. Negative Nachrichten wurden demzufolge priorisiert bearbeitet, was sich wiederum positiv auf die Kundenzufriedenheit und -loyalität auswirkte.

Neugierig geworden?

Dies ist nur eins von vielen Beispielen, wie Sie mit Data Science im Banking zu Erkenntnissen gelangen, die Sie gewinnbringend bzw. kostensparend einsetzen können.

Qualifizieren Sie sich mit den Seminaren und Trainings der Haufe Akademie rund um das Thema Data Science weiter!

Sie wollen auf Augenhöhe mit Data Scientists kommunizieren und im richtigen Moment die richtigen Fragen stellen können?

Oder Sie wollen selbst tief in die Welt der Data Science eintauchen und programmieren können? Wir bieten Ihnen die Qualifizierungen, die für Sie passen!

Aktuelle Kursangebot des Data Science Blog Sponsors, die Haufe Akademie: