How Important is Customer Lifetime Value?

This is the third article of article series Getting started with the top eCommerce use cases.

Customer Lifetime Value

Many researches have shown that cost for acquiring a new customer is higher than the cost of retention of an existing customer which makes Customer Lifetime Value (CLV or LTV) one of the most important KPI’s. Marketing is about building a relationship with your customer and quality service matters a lot when it comes to customer retention. CLV is a metric which determines the total amount of money a customer is expected to spend in your business.

CLV allows marketing department of the company to understand how much money a customer is going  to spend over their  life cycle which helps them to determine on how much the company should spend to acquire each customer. Using CLV a company can better understand their customer and come up with different strategies either to retain their existing customers by sending them personalized email, discount voucher, provide them with better customer service etc. This will help a company to narrow their focus on acquiring similar customers by applying customer segmentation or look alike modeling.

One of the main focus of every company is Growth in this competitive eCommerce market today and price is not the only factor when a customer makes a decision. CLV is a metric which revolves around a customer and helps to retain valuable customers, increase revenue from less valuable customers and improve overall customer experience. Don’t look at CLV as just one metric but the journey to calculate this metric involves answering some really important questions which can be crucial for the business. Metrics and questions like:

  1. Number of sales
  2. Average number of times a customer buys
  3. Full Customer journey
  4. How many marketing channels were involved in one purchase?
  5. When the purchase was made?
  6. Customer retention rate
  7. Marketing cost
  8. Cost of acquiring a new customer

and so on are somehow associated with the calculation of CLV and exploring these questions can be quite insightful. Lately, a lot of companies have started to use this metric and shift their focuses in order to make more profit. Amazon is the perfect example for this, in 2013, a study by Consumers Intelligence Research Partners found out that prime members spends more than a non-prime member. So Amazon started focusing on Prime members to increase their profit over the past few years. The whole article can be found here.

How to calculate CLV?

There are several methods to calculate CLV and few of them are listed below.

Method 1: By calculating average revenue per customer

 

Figure 1: Using average revenue per customer

 

Let’s suppose three customers brought 745€ as profit to a company over a period of 2 months then:

CLV (2 months) = Total Profit over a period of time / Number of Customers over a period of time

CLV (2 months) = 745 / 3 = 248 €

Now the company can use this to calculate CLV for an year however, this is a naive approach and works only if the preferences of the customer are same for the same period of time. So let’s explore other approaches.

Method 2

This method requires to first calculate KPI’s like retention rate and discount rate.

 

CLV = Gross margin per lifespan ( Retention rate per month / 1 + Discount rate – Retention rate per month)

Where

Retention rate = Customer at the end of the month – Customer during the month / Customer at the beginning of the month ) * 100

Method 3

This method will allow us to look at other metrics also and can be calculated in following steps:

  1. Calculate average number of transactions per month (T)
  2. Calculate average order value (OV)
  3. Calculate average gross margin (GM)
  4. Calculate customer lifespan in months (ALS)

After calculating these metrics CLV can be calculated as:

 

CLV = T*OV*GM*ALS / No. of Clients for the period

where

Transactions (T) = Total transactions / Period

Average order value (OV) = Total revenue / Total orders

Gross margin (GM) = (Total revenue – Cost of sales/ Total revenue) * 100 [but how you calculate cost of sales is debatable]

Customer lifespan in months (ALS) = 1 / Churn Rate %

 

CLV can be calculated using any of the above mentioned methods depending upon how robust your company wants the analysis to be. Some companies are also using Machine learning models to predict CLV, maybe not directly but they use ML models to predict customer churn rate, retention rate and other marketing KPI’s. Some companies take advantage of all the methods by taking an average at the end.

CAPTCHAs lösen via Maschine Learning

Wie weit ist das maschinelle Lernen auf dem Gebiet der CAPTCHA-Lösung fortgeschritten?

Maschinelles Lernen ist mehr als ein Buzzword, denn unter der Haube stecken viele Algorithemen, die eine ganze Reihe von Problemen lösen können. Die Lösung von CAPTCHA ist dabei nur eine von vielen Aufgaben, die Machine Learning bewältigen kann. Durch die Arbeit an ein paar Problemen im Zusammenhang mit dem konvolutionellen neuronalen Netz haben wir festgestellt, dass es in diesem Bereich noch viel Verbesserungspotenzial gibt. Die Genauigkeit der Erkennung ist oftmals noch nicht gut genug. Schauen wir uns im Einzelnen an, welche Dienste wir haben, um dieses Problem anzugehen, und welche sich dabei als die besten erweisen.

Was ist CAPTCHA?

CAPTCHA ist kein fremder Begriff mehr für Web-Benutzer. Es handelt sich um die ärgerliche menschliche Validierungsprüfung, die auf vielen Websites hinzugefügt wird. Es ist ein Akronym für Completely Automated Public Turing test for tell Computer and Humans Apart. CAPTCHA kann als ein Computerprogramm bezeichnet werden, das dazu entwickelt wurde, Mensch und Maschine zu unterscheiden, um jede Art von illegaler Aktivität auf Websites zu verhindern. Der Sinn von CAPTCHA ist, dass nur ein Mensch diesen Test bestehen können sollte und Bots bzw. irgend eine Form automatisierter Skripte daran versagen. So entsteht ein Wettlauf zwischen CAPTCHA-Anbietern und Hacker-Lösungen, die auf den Einsatz von selbstlernenden Systemen setzen.

Warum müssen wir CAPTCHA lösen?

Heutzutage verwenden die Benutzer automatisierte CAPTCHA-Lösungen für verschiedene Anwendungsfälle. Und hier ein entscheidender Hinweis: Ähnlich wie Penetrationstesting ist der Einsatz gegen Dritte ohne vorherige Genehmigung illegal. Gegen eigene Anwendungen oder gegen Genehmigung (z. B. im Rahmen eines IT-Security-Tests) ist die Anwendung erlaubt. Hacker und Spammer verwenden die CAPTCHA-Bewältigung, um die E-Mail-Adressen der Benutzer zu erhalten, damit sie so viele Spams wie möglich erzeugen können oder um Bruteforce-Attacken durchführen zu können. Die legitimen Beispiele sind Fälle, in denen ein neuer Kunde oder Geschäftspartner zu Ihnen gekommen ist und Zugang zu Ihrer Programmierschnittstelle (API) benötigt, die noch nicht fertig ist oder nicht mit Ihnen geteilt werden kann, wegen eines Sicherheitsproblems oder Missbrauchs, den es verursachen könnte.

Für diese Anwendungsfälle sollen automatisierte Skripte CAPTCHA lösen. Es gibt verschiedene Arten von CAPTCHA: Textbasierte und bildbasierte CAPTCHA, reCAPTCHA und mathematisches CAPTCHA.

Es gibt einen Wettlauf zwischen CAPTCHA-Anbieter und automatisierten Lösungsversuchen. Die in CAPTCHA und reCAPTCHA verwendete Technologie werden deswegen immer intelligenter wird und Aktualisierungen der Zugangsmethoden häufiger. Das Aufrüsten hat begonnen.

Populäre Methoden für die CAPTCHA-Lösung

Die folgenden CAPTCHA-Lösungsmethoden stehen den Benutzern zur Lösung von CAPTCHA und reCAPTCHA zur Verfügung:

  1. OCR (optische Zeichenerkennung) via aktivierte Bots – Dieser spezielle Ansatz löst CAPTCHAs automatisch mit Hilfe der OCR-Technik (Optical Character Recognition). Werkzeuge wie Ocrad, tesseract lösen CAPTCHAs, aber mit sehr geringer Genauigkeit.
  2. Maschinenlernen — Unter Verwendung von Computer Vision, konvolutionalem neuronalem Netzwerk und Python-Frameworks und Bibliotheken wie Keras mit Tensorflow. Wir können tiefe neuronale Konvolutionsnetzmodelle trainieren, um die Buchstaben und Ziffern im CAPTCHA-Bild zu finden.
  3. Online-CAPTCHA-Lösungsdienstleistungen — Diese Dienste verfügen teilweise über menschliche Mitarbeiter, die ständig online verfügbar sind, um CAPTCHAs zu lösen. Wenn Sie Ihre CAPTCHA-Lösungsanfrage senden, übermittelt der Dienst sie an die Lösungsanbieter, die sie lösen und die Lösungen zurückschicken.

Leistungsanalyse der OCR-basierten Lösung

OCR Die OCR ist zwar eine kostengünstige Lösung, wenn es darum geht, eine große Anzahl von trivialen CAPTCHAs zu lösen, aber dennoch liefert sie nicht die erforderliche Genauigkeit. OCR-basierte Lösungen sind nach der Veröffentlichung von ReCaptcha V3 durch Google selten geworden. OCR-fähige Bots sind daher nicht dazu geeignet, CAPTCHA zu umgehen, die von Titanen wie Google, Facebook oder Twitter eingesetzt werden. Hierfür müsste ein besser ausgestattetes CAPTCHA-Lösungssystem eingesetzt werden.

OCR-basierte Lösungen lösen 1 aus 3 trivialen CAPTCHAs korrekt.

Leistungsanalyse der ML-basierten Methode

Schauen wir uns an, wie Lösungen auf dem Prinzip des Maschinenlernens funktionieren:

Die ML-basierte Verfahren verwenden OpenCV, um Konturen in einem Bild zu finden, das die durchgehenden Gebiete feststellt. Die Bilder werden mit der Technik der Schwellenwertbildung vorverarbeitet. Alle Bilder werden in Schwarzweiß konvertiert. Wir teilen das CAPTCHA-Bild mit der OpenCV-Funktion findContour() in verschiedene Buchstaben auf. Die verarbeiteten Bilder sind jetzt nur noch einzelne Buchstaben und Ziffern. Diese werden dann dem CNN-Modell zugeführt, um es zu trainieren. Und das trainierte CNN-Modell ist bereit, die richtige Captchas zu lösen.

Die Präzision einer solchen Lösung ist für alle textbasierten CAPTCHAs weitaus besser als die OCR-Lösung. Es gibt auch viele Nachteile dieser Lösung, denn sie löst nur eine bestimmte Art von CAPTCHAs und Google aktualisiert ständig seinen reCAPTCHA-Generierungsalgorithmus. Die letzte Aktualisierung schien die beste ReCaptcha-Aktualisierung zu sein, die disen Dienst bisher beeinflusst hat: Die regelmäßigen Nutzer hatten dabei kaum eine Veränderung der Schwierigkeit gespürt, während automatisierte Lösungen entweder gar nicht oder nur sehr langsam bzw. inakkurat funktionierten.

Das Modell wurde mit 1⁰⁴ Iterationen mit korrekten und zufälligen Stichproben und 1⁰⁵ Testbildern trainiert, und so wurde eine mittlere Genauigkeit von ~60% erreicht.

Bild-Quelle: “CAPTCHA Recognition with Active Deep Learning” @ TU München https://www.researchgate.net/publication/301620459_CAPTCHA_Recognition_with_Active_Deep_Learning

Wenn Ihr Anwendungsfall also darin besteht, eine Art von CAPTCHA mit ziemlich einfacher Komplexität zu lösen, können Sie ein solches trainiertes ML-Modell hervorragend nutzen. Eine bessere Captcha-Lösungslösung als OCR, muss aber noch eine ganze Menge Bereiche umfassen, um die Genauigkeit der Lösung zu gewährleisten.

Online-Captcha-Lösungsdienst

Online-CAPTCHA-Lösungsdienste sind bisher die bestmögliche Lösung für dieses Problem. Sie verfolgen alle Aktualisierungen von reCAPTCHA durch Google und bieten eine tadellose Genauigkeit von 99%.

Warum sind Online-Anti-Captcha-Dienste leistungsfähiger als andere Methoden?

Die OCR-basierten und ML-Lösungen weisen nach den bisherigen Forschungsarbeiten und Weiterentwicklungen viele Nachteile auf. Sie können nur triviale CAPTCHAs ohne wesentliche Genauigkeit lösen. Hier sind einige Punkte, die in diesem Zusammenhang zu berücksichtigen sind:

– Ein höherer Prozentsatz an korrekten Lösungen (OCR gibt bei wirklich komplizierten CAPTCHAs ein extrem hohes Maß an falschen Antworten; ganz zu schweigen davon, dass einige Arten von CAPTCHA überhaupt nicht mit OCR gelöst werden können, zumindest vorerst).

– Kontinuierlich fehlerfreie Arbeit ohne Unterbrechungen mit schneller Anpassung an die neu hinzugekommene Komplexität.

– Kostengünstig mit begrenzten Ressourcen und geringen Wartungskosten, da es keine Software- oder Hardwareprobleme gibt; alles, was Sie benötigen, ist eine Internetverbindung, um einfache Aufträge über die API des Anti-Captcha-Dienstes zu senden.

Die großen Anbieter von Online-Lösungsdiensten

Jetzt, nachdem wir die bessere Technik zur Lösung Ihrer CAPTCHAs geklärt haben, wollen wir unter allen Anti-Captcha-Diensten den besten auswählen. Einige Dienste bieten eine hohe Genauigkeit der Lösungen, API-Unterstützung für die Automatisierung und schnelle Antworten auf unsere Anfragen. Dazu gehören Dienste wie 2captcha, Imagetyperz, CaptchaSniper, etc.

2CAPTCHA ist einer der Dienste, die auf die Kombination von Machine Learning und echten Menschen setzen, um CAPTCHA zuverlässig zu lösen. Dabei versprechen Dienste wie 2captcha:

  • Schnelle Lösung mit 17 Sekunden für grafische und textuelle Captchas und ~23 Sekunden für ReCaptcha
  • Unterstützt alle populären Programmiersprachen mit einer umfassenden Dokumentation der fertigen Bibliotheken.
  • Hohe Genauigkeit (bis zu 99% je nach dem CAPTCHA-Typ).
  • Das Geld wird bei falschen Antworten zurückerstattet.
  • Fähigkeit, eine große Anzahl von Captchas zu lösen (mehr als 10.000 pro Minute)

Schlussfolgerung

Convolutional Neural Networks (CNN) wissen, wie die einfachsten Arten von Captcha zu bewältigen sind und werden auch mit der weiteren Enwicklung schritthalten können. Wir haben es mit einem Wettlauf um verkomplizierte CAPTCHAs und immer fähigeren Lösungen der automatisierten Erkennung zutun. Zur Zeit werden Online-Anti-Captcha-Dienste, die auf einen Mix aus maschinellem Lernen und menschlicher Intelligenz setzen, diesen Lösungen vorerst voraus sein.

Python vs R: Which Language to Choose for Deep Learning?

Data science is increasingly becoming essential for every business to operate efficiently in this modern world. This influences the processes composed together to obtain the required outputs for clients. While machine learning and deep learning sit at the core of data science, the concepts of deep learning become essential to understand as it can help increase the accuracy of final outputs. And when it comes to data science, R and Python are the most popular programming languages used to instruct the machines.

Python and R: Primary Languages Used for Deep Learning

Deep learning and machine learning differentiate based on the input data type they use. While machine learning depends upon the structured data, deep learning uses neural networks to store and process the data during the learning. Deep learning can be described as the subset of machine learning, where the data to be processed is defined in another structure than a normal one.

R is developed specifically to support the concepts and implementation of data science and hence, the support provided by this language is incredible as writing codes become much easier with its simple syntax.

Python is already much popular programming language that can serve more than one development niche without straining even for a bit. The implementation of Python for programming machine learning algorithms is very much popular and the results provided are accurate and faster than any other language. (C or Java). And because of its extended support for data science concept implementation, it becomes a tough competitor for R.

However, if we compare the charts of popularity, Python is obviously more popular among data scientists and developers because of its versatility and easier usage during algorithm implementation. However, R outruns Python when it comes to the packages offered to developers specifically expertise in R over Python. Therefore, to conclude which one of them is the best, let’s take an overview of the features and limits offered by both languages.

Python

Python was first introduced by Guido Van Rossum who developed it as the successor of ABC programming language. Python puts white space at the center while increasing the readability of the developed code. It is a general-purpose programming language that simply extends support for various development needs.

The packages of Python includes support for web development, software development, GUI (Graphical User Interface) development and machine learning also. Using these packages and putting the best development skills forward, excellent solutions can be developed. According to Stackoverflow, Python ranks at the fourth position as the most popular programming language among developers.

Benefits for performing enhanced deep learning using Python are:

  • Concise and Readable Code
  • Extended Support from Large Community of Developers
  • Open-source Programming Language
  • Encourages Collaborative Coding
  • Suitable for small and large-scale products

The latest and stable version of Python has been released as Python 3.8.0 on 14th October 2019. Developing a software solution using Python becomes much easier as the extended support offered through the packages drives better development and answers every need.

R

R is a language specifically used for the development of statistical software and for statistical data analysis. The primary user base of R contains statisticians and data scientists who are analyzing data. Supported by R Foundation for statistical computing, this language is not suitable for the development of websites or applications. R is also an open-source environment that can be used for mining excessive and large amounts of data.

R programming language focuses on the output generation but not the speed. The execution speed of programs written in R is comparatively lesser as producing required outputs is the aim not the speed of the process. To use R in any development or mining tasks, it is required to install its operating system specific binary version before coding to run the program directly into the command line.

R also has its own development environment designed and named RStudio. R also involves several libraries that help in crafting efficient programs to execute mining tasks on the provided data.

The benefits offered by R are pretty common and similar to what Python has to offer:

  • Open-source programming language
  • Supports all operating systems
  • Supports extensions
  • R can be integrated with many of the languages
  • Extended Support for Visual Data Mining

Although R ranks at the 17th position in Stackoverflow’s most popular programming language list, the support offered by this language has no match. After all, the R language is developed by statisticians for statisticians!

Python vs R: Should They be Really Compared?

Even when provided with the best technical support and efficient tools, a developer will not be able to provide quality outputs if he/she doesn’t possess the required skills. The point here is, technical skills rank higher than the resources provided. A comparison of these two programming languages is not advisable as they both hold their own set of advantages. However, the developers considering to use both together are less but they obtain maximum benefit from the process.

Both these languages have some features in common. For example, if a representative comes asking you if you lend technical support for developing an uber clone, you are directly going to decline as Python and R both do not support mobile app development. To benefit the most and develop excellent solutions using both these programming languages, it is advisable to stop comparing and start collaborating!

R and Python: How to Fit Both In a Single Program

Anticipating the future needs of the development industry, there has been a significant development to combine these both excellent programming languages into one. Now, there are two approaches to performing this: either we include R script into Python code or vice versa.

Using the available interfaces, packages and extended support from Python we can include R script into the code and enhance the productivity of Python code. Availability of PypeR, pyRserve and more resources helps run these two programming languages efficiently while efficiently performing the background work.

Either way, using the developed functions and packages made available for integrating Python in R are also effective at providing better results. Available R packages like rJython, rPython, reticulate, PythonInR and more, integrating Python into R language is very easy.

Therefore, using the development skills at their best and maximizing the use of such amazing resources, Python and R can be togetherly used to enhance end results and provide accurate deep learning support.

Conclusion

Python and R both are great in their own names and own places. However, because of the wide applications of Python in almost every operation, the annual packages offered to Python developers are less than the developers skilled in using R. However, this doesn’t justify the usability of R. The ultimate decision of choosing between these two languages depends upon the data scientists or developers and their mining requirements.

And if a developer or data scientist decides to develop skills for both- Python and R-based development, it turns out to be beneficial in the near future. Choosing any one or both to use in your project depends on the project requirements and expert support on hand.

Wie der C++-Programmierer bei der Analyse großer Datenmengen helfen kann

Die Programmiersprache C wurde von Dennis Ritchie in den Bell Labs in einer Zeit (1969-1973) entwickelt, als jeder CPU-Zyklus und jeder Byte Speicher sehr teuer war. Aus diesem Grund wurde C (und später C++) so konzipiert, dass die maximale Leistung der Hardware mit der Sprachkomplexität erzielt werden konnte. Derzeit ist der C++ Programmierer besonders begehrt auf dem Arbeitsmarkt, für ganz bestimmte Abläufe, die wir später genauer beschreiben werden.

Warum sollten Sie einen C++ Entwickler mieten, wenn es um große Daten geht?

C++ ermöglicht, als Sprache auf einem niedrigen Level, eine Feinabstimmung der Leistung der Anwendung in einer Weise, die bei der Verwendung von Sprachen auf einem hohen Level nicht möglich ist. Warum sollten Sie einen C++ Entwickler mieten? C++ bietet den Entwicklern eine viel bessere Kontrolle über den Systemspeicher und die Ressourcen, als die der C Programmierer oder Anderer.

C++ ist die einzige Sprache, in der man Daten mit mehr als 1 GB pro Sekunde knacken, die prädiktive Analyse in Echtzeit neu trainieren und anwenden und vierstellige QPS einer REST-ful API in der Produktion bedienen kann, während die [eventuelle] Konsistenz des Aufzeichnungssystems ständig erhalten bleibt. Auf einem einzigen Server, natürlich aus Gründen der Zuverlässigkeit dupliziert, aber das, ohne in Repliken, Sharding und das Auffüllen und Wiederholen von persistenten Nachrichtenwarteschlangen investieren zu. Für ein groß angelegtes Werbesystem, dynamischen Lastausgleich oder eine hocheffiziente adaptive Caching-Schicht ist C++ die klügste Wahl.

Die allgemeine Vorstellung ist, dass R und Python schneller sind, aber das ist weit von der Wahrheit entfernt. Ein gut optimierter C++-Code könnte hundertmal schneller laufen, als das gleiche Stück Code, das in Python oder R geschrieben wurde. Die einzige Herausforderung bei C++ ist die Menge an Arbeit, die Sie bewältigen müssen, um die fertigen Funktionen zum Laufen zu bringen. Sie müssen wissen, wie man Zeiger verteilt und verwaltet – was ehrlich gesagt ein wenig kompliziert sein kann. Die C# Programmierer Ausbildung ist aus diesem Grunde z.Z. sehr begehrt.

R und Python

Akademiker und Statistiker haben R über zwei Jahrzehnte entwickelt. R verfügt nun über eines der reichsten Ökosysteme, um Datenanalysen durchzuführen. Es sind etwa 12000 Pakete in CRAN (Open-Source-Repository) verfügbar. Es ist möglich, eine Bibliothek zu finden, für was auch immer für eine Analyse Sie durchführen möchten. Die reiche Vielfalt der Bibliothek macht R zur ersten Wahl für statistische Analysen, insbesondere für spezialisierte analytische Arbeiten.

Python kann so ziemlich die gleichen Aufgaben wie R erledigen: Data Wrangling, Engineering, Feature Selection Web Scrapping, App und so weiter. Python ist ein Werkzeug, um maschinelles Lernen in großem Maßstab einzusetzen und zu implementieren. Python-Codes sind einfacher zu warten und robuster als R. Vor Jahren hatte Python nicht viele Bibliotheken für Datenanalyse und maschinelles Lernen. In letzter Zeit holt Python auf und bietet eine hochmoderne API für maschinelles Lernen oder künstliche Intelligenz. Der größte Teil der datenwissenschaftlichen Arbeit kann mit fünf Python-Bibliotheken erledigt werden: Numpy, Pandas, Scipy, Scikit-Learning und Seaborn.

Aber das Wissen, mit Zeigern zu arbeiten oder den Code in C++ zu verwalten, ist mit einem hohen Preis verbunden. Aus diesem Grunde werden C++ Programmierer gesucht, für die Bewältigung von großen Datenpaketen. Ein tiefer Einblick in das Innenleben der Anwendung ermöglicht es ihnen, die Anwendung im Falle von Fehlern besser zu debuggen und sogar Funktionen zu erstellen, die eine Kontrolle des Systems auf Mikroebene erfordern. Schauen Sie sich doch nach C# Entwickler in Berlin um, denn sie haben einen besonders guten Ruf unter den neuen Entwicklern.

Das Erlernen der Programmierung ist eine wesentliche Fähigkeit im Arsenal der Analysten von Big Data. Analysten müssen kodieren, um numerische und statistische Analysen mit großen Datensätzen durchzuführen. Einige der Sprachen, in deren Erlernen auch die C Entwickler Zeit und Geld investieren sollten, sind unter anderem Python, R, Java und C++. Je mehr sie wissen, desto besser – Programmierer sollten immer daran denken, dass sie nicht nur eine einzelne Sprache lernen sollten. C für Java Programmierer sollte ein MUSS sein.

Wo wird das C++ Programmieren eingesetzt?

Die Programmiersprache C++ ist eine etablierte Sprache mit einem großen Satz von Bibliotheken und Tools, die bereit ist, große Datenanwendungen und verteilte Systeme zu betreiben. In den meisten Fällen wird C++ zum Schreiben von Frameworks und Paketen für große Daten verwendet. Diese Programmiersprache bietet auch eine Reihe von Bibliotheken, die beim Schreiben von Algorithmen für das tiefe Lernen helfen. Mit ausreichenden C++-Kenntnissen ist es möglich, praktisch unbegrenzte Funktionen auszuführen. Dennoch ist C++ nicht die Sprache, die man leicht erlernen kann, da man die über 1000 Seiten Spezifikation und fast 100 Schlüsselwörter beherrschen muss.

Die Verwendung von C++ ermöglicht die prozedurale Programmierung für intensive Funktionen der CPU und die Kontrolle über die Hardware, und diese Sprache ist sehr schnell, weshalb sie bei der Entwicklung verschiedener Spiele oder in Spielmaschinen weit verbreitet ist.

C++ bietet viele Funktionen, die anderen Sprachen fehlen. Darüber hinaus bietet die Sprache auch Zugang zu umfangreichen Vorlagen, die es Ihnen ermöglichen, generische Codes zu schreiben. Als betroffenes Unternehmen sollten Sie sich deshalb tatsächlich überlegen, einen C++ Programmierer zu suchen oder in einen Kurs von C++ für Ihren C Programmierer zu investieren. Am Ende lohnen sich bestimmt diese Kosten.

Und vergessen Sie nicht: C++ ist die einzige Sprache, die in der Lage ist, 1 GB+ Daten in weniger als einer Sekunde zu verarbeiten. Darüber hinaus können Sie Ihr Modell neu trainieren und prädiktive Analysen in Echtzeit und sogar die Konsistenz der Systemaufzeichnung anwenden. Diese Gründe machen C++ zu einer bevorzugten Wahl für Sie, wenn Sie einen Datenwissenschaftler für Ihr Unternehmen suchen.

Beispiele für die Verwendung von C++

Die Verwendung von C++ zur Entwicklung von Anwendungen und vielen produktbasierten Programmen, die in dieser Sprache entwickelt wurden, hat mehrere Vorteile, die nur auf ihren Eigenschaften und ihrer Sicherheit beruhen. Unten finden Sie eine Liste der häufigsten Anwendungen von C++.

  • Google-Anwendungen – Einige der Google-Anwendungen sind auch in C++ geschrieben, darunter das Google-Dateisystem und der Google-Chromium-Browser sowie MapReduce für die Verarbeitung großer Clusterdaten. Die Open-Source-Gemeinschaft von Google hat über 2000 Projekte, von denen viele in den Programmiersprachen C oder C++ geschrieben und bei GitHub frei verfügbar sind.
  • Mozilla Firefox und Thunderbird – Der Mozilla-Internetbrowser Firefox und der E-Mail-Client Thunderbird sind beide in der Programmiersprache C++ geschrieben, und sie sind ebenfalls Open-Source-Projekte. Der C++-Quellcode dieser Anwendungen ist in den MDN-Webdokumenten zu finden.
  • Adobe-Systeme – Die meisten der wichtigsten Anwendungen von Adobe-Systemen werden in der Programmiersprache C++ entwickelt. Zu diesen Anwendungen gehören Adobe Photoshop und Image Ready, Illustrator und Adobe Premier. Sie haben in der Vergangenheit eine Menge Open-Source-Codes veröffentlicht, immer in C++, und ihre Entwickler waren in der C++-Community aktiv.
  • 12D-Lösungen – 12D Solutions Pty Ltd ist ein australischer Softwareentwickler, der sich auf Anwendungen im Bereich Bauwesen und Vermessung spezialisiert hat. Computer Aided Design-System für Vermessung, Bauwesen und mehr. Zu den Kunden von 12D Solutions gehören Umweltberater, Berater für Bau- und Wasserbau, lokale, staatliche und nationale Regierungsabteilungen und -behörden, Vermessungsingenieure, Forschungsinstitute, Bauunternehmen und Bergbau-Berater.
  • In C/C++ geschriebene Betriebssysteme

Apple – Betriebssystem OS XApple – Betriebssystem OS X

Einige Teile von Apple OS X sind in der Programmiersprache C++ geschrieben. Auch einige Anwendungen für den iPod sind in C++ geschrieben.

Microsoft-BetriebssystemeMicrosoft-Betriebssysteme

Der Großteil der Software wird buchstäblich mit verschiedenen Varianten von Visual C++ oder einfach C++ entwickelt. Die meisten der großen Anwendungen wie Windows 95, 98, Me, 200 und XP sind ebenfalls in C++ geschrieben. Auch Microsoft Office, Internet Explorer und Visual Studio sind in Visual C++ geschrieben.

  • Betriebssystem Symbian – Auch Symbian OS wird mit C++ entwickelt. Dies war eines der am weitesten verbreiteten Betriebssysteme für Mobiltelefone.

Die Einstellung eines C- oder C++-Entwicklers kann eine gute Investition in Ihr Projekt-Upgrade sein

Normalerweise benötigen C- und C++-Anwendungen weniger Strom, Speicher und Platz als die Sprachen der virtuellen Maschinen auf hoher Ebene. Dies trägt dazu bei, den Kapitalaufwand, die Betriebskosten und sogar die Kosten für die Serverfarm zu reduzieren. Hier zeigt sich, dass C++ die Gesamtentwicklungskosten erheblich reduziert.

Trotz der Tatsache, dass wir eine Reihe von Tools und Frameworks nur für die Verwaltung großer Daten und die Arbeit an der Datenwissenschaft haben, ist es wichtig zu beachten, dass auf all diesen modernen Frameworks eine Schicht einer niedrigen Programmiersprache – wie C++ – aufgesetzt ist. Die Niedrigsprachen sind für die tatsächliche Ausführung des dem Framework zugeführten Hochsprachencodes verantwortlich. Es ist also ratsam in ein C-Entwickler-Gehalt zu investieren.

Der Grund dafür, dass C++ ein so unverzichtbares Werkzeug ist, liegt darin, dass es nicht nur einfach, sondern auch extrem leistungsfähig ist und zu den schnellsten Sprachen auf dem Markt gehört. Darüber hinaus verfügt ein gut geschriebenes Programm in C++ über ein komplexes Wissen und Verständnis der Architektur der Maschine, sowie der Speicherzugriffsmuster und kann schneller laufen als andere Programme. Es wird Ihrem Unternehmen Zeit- und Stromkosten sparen.

Zum Abschluss eine Grafik, die Sie als Unternehmer interessieren wird und die das Verhältnis von der Performance and der Sicherheit diverser Sprachen darstellt:

Aus diesen und weiteren Gründen neigen viele Unternehmensentwickler und Datenwissenschaftler mit massiven Anforderungen an Skalierbarkeit und Leistung zu dem guten alten C++. Viele Organisationen, die Python oder andere Hochsprachen für die Datenanalyse und Erkundungsaufgaben verwenden, verlassen sich auf C++, um Programme zu entwickeln, die diese Daten an die Kunden weiterleiten – in Echtzeit.

Im Interview mit Henny Selig zu Process Mining: “Für den Kunden sind solche Aha-Momente toll“

Henny Selig ist Spezialistin für Process Mining und verfügt über umfassende Erfahrung bei der Umsetzung von Process-Mining-Lösungen und der Unterstützung von Kunden bei der Prozessanalyse. Als Solution Owner bei Signavio ist Henny auch mit der Implementierung von Signavio Process Intelligence bei Unternehmen jeglicher Größe bestens vertraut. In diesem Interview geht Henny auf die Herausforderungen und Chancen von Process Mining ein. 


Read this interview in English:

Looking for the ‘aha moment’: An expert’s insights on process mining

 


Henny, wie würdest du das Konzept „Process Mining“ erklären?

Process Mining ist eine Kombination aus Datenanalyse und Business Process Management. Nahezu jeder Geschäftsprozess stützt sich auf IT-Systeme und hinterlässt digitale Spuren. Aus diesen IT-Systemen extrahieren wir alle Daten, die einen bestimmten Prozess betreffen, visualisieren sie und werten diese dann mithilfe von Data Science-Technologien aus.

Kurz gesagt: Process Mining bildet eine wichtige Brücke zwischen Fachabteilungen, Prozessverantwortlichen und dem Management. Damit sind datengestützte und faktenbasierte Diskussionen zur Optimierung von Geschäftsprozessen möglich. So lassen sich vor allem Übergaben und abteilungsübergreifende Schritte transparent gestalten und Silo-Denken vermeiden.

Welche Fragen beschäftigen Unternehmen, die mit Process Mining beginnen? Gibt es bestimmte Erwartungen, die durch den Einsatz von Process Mining erfüllt werden sollen?

Jedes Unternehmen ist anders und hat unterschiedliche Fragen und Erwartungen. Ein Beispiel: Ein Beschaffungsmanager, mit dem ich vor Kurzem zusammengearbeitet habe, war von den analysierten Daten überrascht. Denn es stellte sich heraus, dass zu einem bestimmten Zeitpunkt im Prozess eine Genehmigung vorlag, die eigentlich in einem anderen Moment erfolgen sollte. Für den Kunden sind solche Aha-Momente toll. Sie treten ganz automatisch auf, wenn man eine objektive und transparente Sicht auf den jeweiligen Prozess hat. 

Es wurden auch Fragen von uns aufgeworfen, die das Unternehmen bisher nicht berücksichtigt hatte, z. B. wie sich der Prozessablauf bei einem Bestellbetrag unter 1.000 Euro gestaltet und wie oft dies vorkommt. Fragen, die einem Außenstehenden klar erscheinen, die sich Prozessverantwortliche aber oft nicht stellen.

Ahnen Unternehmen häufig nur, dass ein Prozess nicht wie gewünscht läuft? Oder wissen die Meisten um spezifische Probleme in einem Bereich? 

Es gibt Unternehmen, die wissen, dass ein Prozess prinzipiell gut läuft, ein bestimmtes Problem aber immer wieder auftritt. Die involvierten Mitarbeiter sagen in diesen Fällen häufig, dass sie kein bestimmtes Anliegen oder keine konkrete Frage haben. Das stimmt natürlich nicht: Bei genauerem Nachfragen äußern sie dann erste Vermutungen oder Ideen.

Wenn man Mitarbeiter eines Unternehmens direkt fragt, wie sie bestimmte Dinge erledigen, sorgt das oft völlig unbeabsichtigt für Stress. Viele halten zunächst Informationen zurück, weil sie das Gefühl haben, dass der von ihnen beschriebene Prozess oder Workflow nicht perfekt ist. So wollen sie Vorwürfe vermeiden. 

Das oben erwähnte Genehmigungsbeispiel ist mein Favorit, weil es so eindeutig ist. Im betreffenden Unternehmen gab es zum Beispiel ein Team, das immer wieder sagte: „Diese Art von Anträgen genehmigen wir nicht.“ Die Daten sagten jedoch etwas ganz anderes – dem Team war das überhaupt nicht bewusst. 

Wir sprachen dann mit dem Manager. Dieser hatte sich bisher über ganz andere Dinge Gedanken gemacht wie etwa Risiken, den Prozessfluss im Allgemeinen und vieles andere. Nur allein durch dieses Gespräch konnten wir schon die Unstimmigkeiten zwischen dem Management und dem Team beseitigen, noch bevor der eigentliche Prozess selbst optimiert wurde. 

Gibt es noch andere Aspekte, die Unternehmen beachten sollten, wenn sie mit ihrer Process Mining-Initiative beginnen?

Nicht jede Varianz jenseits des Soll-Modells eines Prozesses ist automatisch negativ. Die wenigsten Prozesse, die nicht rein automatisiert ablaufen, sind zu 100% prozesskonform – selbst wenn die Rahmenbedingungen ideal sind. Daher wird es immer Ausnahmen geben, die einen anderen Ansatz erfordern. Und genau das ist die Herausforderung im Projekt: Man muss herausfinden, welche Variationen gewünscht und wo notwendige Ausnahmen zu treffen sind.

Würdest du sagen, dass eine datenbasierte Prozessanalyse eine Teamleistung ist?

Absolut! In jeder Phase eines Process Mining-Projekts sind ganz unterschiedliche Projektmitglieder involviert. Die IT stellt die Daten bereit und hilft bei deren Interpretation. Analysten führen dann die Prozessanalyse durch und diskutieren die gefundenen Auffälligkeiten mit der IT, den Prozessverantwortlichen und den Experten aus den Fachabteilungen. Denn manchmal gibt es gute Gründe für ein bestimmtes Prozessverhalten, das ohne das Wissen der Experten nicht erklärbar ist. 

Bei der Diskussion hilft es natürlich ungemein, den Gedankengang des Teams mit technischen Mitteln wie Signavio Process Intelligence zu dokumentieren. Auf diese Weise ist es möglich, die Analyse auf einzelne Prozesse herunterzubrechen und die richtige Person an der richtigen Stelle in die Diskussion einzubeziehen. So verliert man auch nicht den roten Faden. Und der nächste Kollege, der sich mit dem Thema beschäftigt, kann die Analyse nachvollziehen und das Ergebnis richtig einordnen.

Weitere Informationen dazu, wie Sie mit Process Mining Ihre Geschäftsprozesse besser verstehen und optimieren können, finden Sie auf der Produktseite von Signavio Process Intelligence. Oder melden Sie sich noch heute für eine kostenlose  bei Signavio an und legen Sie direkt los.

Multi-touch attribution: A data-driven approach

This is the first article of article series Getting started with the top eCommerce use cases.

What is Multi-touch attribution?

Customers shopping behavior has changed drastically when it comes to online shopping, as nowadays, customer likes to do a thorough market research about a product before making a purchase. This makes it really hard for marketers to correctly determine the contribution for each marketing channel to which a customer was exposed to. The path a customer takes from his first search to the purchase is known as a Customer Journey and this path consists of multiple marketing channels or touchpoints. Therefore, it is highly important to distribute the budget between these channels to maximize return. This problem is known as multi-touch attribution problem and the right attribution model helps to steer the marketing budget efficiently. Multi-touch attribution problem is well known among marketers. You might be thinking that if this is a well known problem then there must be an algorithm out there to deal with this. Well, there are some traditional models  but every model has its own limitation which will be discussed in the next section.

Traditional attribution models

Most of the eCommerce companies have a performance marketing department to make sure that the marketing budget is spent in an agile way. There are multiple heuristics attribution models pre-existing in google analytics however there are several issues with each one of them. These models are:

First touch attribution model

100% credit is given to the first channel as it is considered that the first marketing channel was responsible for the purchase.

Figure 1: First touch attribution model

Last touch attribution model

100% credit is given to the last channel as it is considered that the first marketing channel was responsible for the purchase.

Figure 2: Last touch attribution model

Linear-touch attribution model

In this attribution model, equal credit is given to all the marketing channels present in customer journey as it is considered that each channel is equally responsible for the purchase.

Figure 3: Linear attribution model

U-shaped or Bath tub attribution model

This is most common in eCommerce companies, this model assigns 40% to first and last touch and 20% is equally distributed among the rest.

Figure 4: Bathtub or U-shape attribution model

Data driven attribution models

Traditional attribution models follows somewhat a naive approach to assign credit to one or all the marketing channels involved. As it is not so easy for all the companies to take one of these models and implement it. There are a lot of challenges that comes with multi-touch attribution problem like customer journey duration, overestimation of branded channels, vouchers and cross-platform issue, etc.

Switching from traditional models to data-driven models gives us more flexibility and more insights as the major part here is defining some rules to prepare the data that fits your business. These rules can be defined by performing an ad hoc analysis of customer journeys. In the next section, I will discuss about Markov chain concept as an attribution model.

Markov chains

Markov chains concepts revolves around probability. For attribution problem, every customer journey can be seen as a chain(set of marketing channels) which will compute a markov graph as illustrated in figure 5. Every channel here is represented as a vertex and the edges represent the probability of hopping from one channel to another. There will be an another detailed article, explaining the concept behind different data-driven attribution models and how to apply them.

Figure 5: Markov chain example

Challenges during the Implementation

Transitioning from a traditional attribution models to a data-driven one, may sound exciting but the implementation is rather challenging as there are several issues which can not be resolved just by changing the type of model. Before its implementation, the marketers should perform a customer journey analysis to gain some insights about their customers and try to find out/perform:

  1. Length of customer journey.
  2. On an average how many branded and non branded channels (distinct and non-distinct) in a typical customer journey?
  3. Identify most upper funnel and lower funnel channels.
  4. Voucher analysis: within branded and non-branded channels.

When you are done with the analysis and able to answer all of the above questions, the next step would be to define some rules in order to handle the user data according to your business needs. Some of the issues during the implementation are discussed below along with their solution.

Customer journey duration

Assuming that you are a retailer, let’s try to understand this issue with an example. In May 2016, your company started a Fb advertising campaign for a particular product category which “attracted” a lot of customers including Chris. He saw your Fb ad while working in the office and clicked on it, which took him to your website. As soon as he registered on your website, his boss called him (probably because he was on Fb while working), he closed everything and went for the meeting. After coming back, he started working and completely forgot about your ad or products. After a few days, he received an email with some offers of your products which also he ignored until he saw an ad again on TV in Jan 2019 (after 3 years). At this moment, he started doing his research about your products and finally bought one of your products from some Instagram campaign. It took Chris almost 3 years to make his first purchase.

Figure 6: Chris journey

Now, take a minute and think, if you analyse the entire journey of customers like Chris, you would realize that you are still assigning some of the credit to the touchpoints that happened 3 years ago. This can be solved by using an attribution window. Figure 6 illustrates that 83% of the customers are making a purchase within 30 days which means the attribution window here could be 30 days. In simple words, it is safe to remove the touchpoints that happens after 30 days of purchase. This parameter can also be changed to 45 days or 60 days, depending on the use case.

Figure 7: Length of customer journey

Removal of direct marketing channel

A well known issue that every marketing analyst is aware of is, customers who are already aware of the brand usually comes to the website directly. This leads to overestimation of direct channel and branded channels start getting more credit. In this case, you can set a threshold (say 7 days) and remove these branded channels from customer journey.

Figure 8: Removal of branded channels

Cross platform problem

If some of your customers are using different devices to explore your products and you are not able to track them then it will make retargeting really difficult. In a perfect world these customers belong to same journey and if these can’t be combined then, except one, other paths would be considered as “non-converting path”. For attribution problem device could be thought of as a touchpoint to include in the path but to be able to track these customers across all devices would still be challenging. A brief introduction to deterministic and probabilistic ways of cross device tracking can be found here.

Figure 9: Cross platform clash

How to account for Vouchers?

To better account for vouchers, it can be added as a ‘dummy’ touchpoint of the type of voucher (CRM,Social media, Affiliate or Pricing etc.) used. In our case, we tried to add these vouchers as first touchpoint and also as a last touchpoint but no significant difference was found. Also, if the marketing channel of which the voucher was used was already in the path, the dummy touchpoint was not added.

Figure 10: Addition of Voucher as a touchpoint

Let me know in comments if you would like to add something or if you have a different perspective about this use case.

4 Industries Likely to Be Further Impacted by Data and Analytics in 2020

The possibilities for collecting and analyzing data have skyrocketed in recent years. Company leaders no longer must rely primarily on guesswork when making decisions. They can look at the hard statistics to get verification before making a choice.

Here are four industries likely to notice continuing positive benefits while using data and analytics in 2020.

  1. Transportation

If the transportation sector suffers from problems like late arrivals or buses and trains never showing up, people complain. Many use transportation options to reach work or school, and use long-term solutions like planes to visit relatives or enjoy vacations.

Data analysis helps transportation authorities learn about things such as ridership numbers, the most efficient routes and more. Digging into data can also help professionals in the sector verify when recent changes pay off.

For example, New York City recently enacted a plan called the 14th Street Busway. It stops cars from traveling on 14th Street for more than a couple of blocks from 6 a.m. to 10 p.m. every day. One of the reasons for making the change was to facilitate the buses that carry passengers along 14th Street. Data confirms the Busway did indeed encourage people to use the bus. Ridership jumped 24% overall, and by 20% during the morning rush hour.

Data analysis could also streamline air travel. A new solution built with artificial intelligence can reportedly make flights more on time and reduce fuel consumption by improving traffic flow in the terminals. The system also crunches numbers to warn people about long lines in an airport. Then, some passengers might make schedule adjustments to avoid those backups.

These examples prove why it’s smart for transportation professionals to continually see what the data shows. Becoming more aware of what’s happening, where problems exist and how people respond to different transit options could lead to better decision-making.

  1. Agriculture

People in the agriculture industry face numerous challenges, such as climate change and the need to produce food for a growing global population. There’s no single, magic fix for these challenges, but data analytics could help.

For example, MIT researchers are using data to track the effects of interventions on underperforming African farms. The outcome could make it easier for farmers to prove that new, high-tech equipment will help them succeed, which could be useful when applying for loans.

Elsewhere, scientists developed a robot called the TerraSentia that can collect information about a variety of crop traits, such as the height and biomass. The machine then transfers that data to a farmer’s laptop or computer. The robot’s developers say their creation could help farmers figure out which kinds of crops would give the best yields in specific locations, and that the TerraSentia will do it much faster than humans.

Applying data analysis to agriculture helps farmers remove much of the guesswork from what they do. Data can help them predict the outcome of a growing season, target a pest or crop disease problem and more. For these reasons and others, data analysis should remain prominent in agriculture for the foreseeable future.

  1. Energy 

Statistics indicate global energy demand will increase by at least 30% over the next two decades. Many energy industry companies have turned to advanced data analysis technologies to prepare for that need. Some solutions examine rocks to improve the detection of oil wells, while others seek to maximize production over the lifetime of an oilfield.

Data collection in the energy sector is not new, but there’s been a long-established habit of only using a small amount of the overall data collected. That’s now changing as professionals are more frequently collecting new data, plus converting information from years ago into usable data.

Strategic data analysis could also be a good fit for renewable energy efforts. A better understanding of weather forecasts could help energy professionals pinpoint how much a solar panel or farm could contribute to the electrical grid on a given day.

Data analysis helps achieve that goal. For example, some solutions can predict the weather up to a month in advance. Then, it’s possible to increase renewable power generation by up to 10%.

  1. Construction

Construction projects can be costly and time-consuming, although the results are often impressive. Construction professionals must work with a vast amount of data as they meet customers’ needs. Site plans, scheduling specifics, weather information and regulatory documents all help define how the work progresses and whether everything stays under budget.

Construction firms increasingly use big data analysis software to pull all the information into one place and make it easier to use. That data often streamlines customer communications and helps with meeting expectations. In one instance, a construction company depended on a real-time predictive modeling solution and combined it with in-house estimation software.

The outcome enabled instantly showing a client how much a new addition would cost. Other companies that are starting to use big data in construction note that having the option substantially reduces their costs — especially during the planning phase before construction begins. Another company is working on a solution that can analyze job site photos and use them to spot injury risks.

Data Analysis Increases Success

The four industries mentioned here have already enjoyed success by investigating the potential data analysis offers. People should expect them to continue making gains through 2020.

Seeing the Big Picture: Combining Enterprise Architecture with Process Management

Ever tried watching a 3D movie without those cool glasses people like to take home? Two hours of blurred flashing images is no-one’s idea of fun. But with the right equipment, you get an immersive experience, with realistic, clear, and focused images popping out of the screen. In the same way, the right enterprise architecture brings the complex structure of an organization into focus.

We know that IT environments in today’s modern businesses consist of a growing number of highly complex, interconnected, and often difficult-to-manage IT systems. Balancing customer service and efficiency imperatives associated with social, mobile, cloud, and big data technologies, along with effective day-to-day IT functions and support, can often feel like an insurmountable challenge.

Enterprise architecture can help organizations achieve this balance, all while managing risk, optimizing costs, and implementing innovations. Its main aim is to support reform and transformation programs. To do this, enterprise architecture relies on the accuracy of an enterprise’s complex data systems, and takes into account changing standards, regulations, and strategic business demands.

Components of effective enterprise architecture

In general, most widely accepted enterprise architecture frameworks consist of four interdependent domains:

  • Business Architecture

A blueprint of the enterprise that provides a common understanding of the organization, and used to align strategic objectives and tactical demands. An example would be representing business processes using business process management notation.

  • Data Architecture

The domain that shows the dependencies and connections between an organization’s data, rules, models, and standards.

  • Applications Architecture

The layer that shows a company’s complete set of software solutions and their relationships with each other.

  • Infrastructure Architecture

Positioned at the lowest level, this component shows the relationships and connections of an organization’s existing hardware solutions.

Effective EA implementation means employees within a business can build a clear understanding of the way their company’s IT systems execute their specific work processes, as well as how they interact and relate to each other. It allows users to identify and analyze application and business performance, with the goal of enabling underperforming IT systems to be promptly and efficiently managed.

In short, EA helps businesses answer questions like:

  • Which IT systems are in use, and where, and by whom?
  • Which business processes relate to which IT systems?
  • Who is responsible for which IT systems?
  • How well are privacy protection requirements upheld?
  • Which server is each application run on?

The same questions, shifted slightly to refer to business processes rather than IT systems, are what drive enterprise-level business process management as well. Is it any wonder the two disciplines go together like popcorn and a good movie?

Combining enterprise architecture with process management

Successful business/IT alignment involves effectively leveraging an organization’s IT to achieve company goals and requirements. Standardized language and images (like flow charts and graphs) are often helpful in fostering mutual understanding between highly technical IT services and the business side of an organization.

In the same way, combining EA with collaborative business process management establishes a common language throughout a company. Once this common ground is established, misunderstandings can be avoided, and the business then has the freedom to pursue organizational or technical transformation goals effectively.

At this point, strengthened links between management, IT specialists, and a process-aware workforce mean more informed decisions become the norm. A successful pairing of process management, enterprise architecture, and IT gives insight into how changes in any one area impact the others, ultimately resulting in a clearer understanding of how the organization actually functions. This translates into an easier path to optimized business processes, and therefore a corresponding improvement in customer satisfaction.

Effective enterprise architecture provides greater transparency inside IT teams, and allows for efficient management of IT systems and their respective interfaces. Along with planning continual IT landscape development, EA supports strategic development of an organization’s structure, just as process management does.

Combining the two leads to a quantum leap in the efficiency and effectiveness of IT systems and business processes, and locks them into a mutually-reinforcing cycle of optimization, meaning improvements will continue over time. Both user communities can contribute to creating a better understanding using a common tool, and the synergy created from joining EA and business process management adds immediate value by driving positive changes company-wide.

Want to find out more? Put on your 3D glasses, and test your EA initiatives with Signavio! Sign up for your free 30-day trial of the Signavio Business Transformation Suite today.

Machen Sie mehr aus Ihrem Prozessmanagement

Jedes neue Unternehmen steht vor den Fragen: Haben wir das richtige Produkt/den richtigen Marktansatz?  Funktioniert das Geschäftsmodell? Haben wir genug Liquidität? In der Regel konzentrieren sich neu gegründete Unternehmen auf das Überleben und verschieben alles, was für dieses Ziel zunächst nicht unmittelbar relevant ist, auf einen späteren Zeitpunkt.  


Read this article in English:

Scaling up your Process Management 


Die meisten Unternehmen stellen jedoch schnell fest, dass ihr Überleben vor allem davon abhängt, ob sie ihren Kunden innovative Produkte und effiziente Dienstleistungen anbieten können. Infolgedessen rückt die Arbeitsweise des Unternehmens in den Fokus, denn Manager und Mitarbeiter möchten auf effiziente Weise gute Ergebnisse erzielen. Der schnellste Weg zum Ziel: Effiziente Prozesse. 

Das Festlegen von Rollen und Verantwortlichkeiten führt dazu, dass Arbeitsabläufe im Unternehmen optimiert werden und Mitarbeiter ihre Aufgaben reibungsloser und schneller erledigen können.

Unternehmenswachstum mit Prozessmanagement

Jedes Unternehmen will sich schnell am Markt etablieren, das eigene Wachstum vorantreiben und neue Kunden gewinnen. Auch mit diesem Ziel vor Augen ist es nicht immer leicht, effiziente Prozesse zu gestalten. Nehmen Sie zum Beispiel die Rekrutierung und das Onboarding neuer Mitarbeiter. 

Einstellungsprozesse auf Ad-hoc-Basis können für ein Start-up funktionieren, nicht aber unbedingt für ein wachstumsorientiertes, mittelständisches Unternehmen. Hier müssen immer mehr Mitarbeiter in kürzerer Zeit eingearbeitet werden. Abteilungsleiter müssen sicherstellen, dass sie über die richtigen Informationen für ihre Arbeit verfügen. Die Lösung ist ein dokumentierter, skalierbarer und wiederholbarer Prozess, der unabhängig vom Standort oder der zu besetzenden Funktion beliebig oft ausgeführt werden kann. 

Wenn neue Mitarbeiter eingestellt werden, müssen sie wissen, wie sie ihre Aufgaben künftig erledigen müssen. Auch hier führt ein klar definierter Prozess dazu, dass die notwendigen Abläufe, Rollen und Dokumente bekannt und zugänglich sind – und das alles über Standortgrenzen hinweg. Unternehmenswachstum bedeutet auch, dass sich immer mehr Personen mit ihren Fähigkeiten und Ideen einbringen.

 

Kollaboratives Prozessmanagement

Führungskräfte sollten auf das kollektive Know-how ihrer Mitarbeiter setzen und ihnen die Möglichkeit zu geben, zur Verbesserung der Arbeitsweise des Unternehmens beizutragen. In einem Unternehmen mit einem effektiven Rahmen zur Prozessmodellierung bedeutet dies, dass alle Mitarbeiter Prozesse selbst entwerfen und modellieren können. 

Dass die Modellierung von Geschäftsprozessen in den Aufgabenbereich des Managements oder bestimmter Experten gehört, –ist eine überholte Sichtweise. Niemand möchte auf das wertvolle Wissen des Einzelnen verzichten: Denn je mehr Erkenntnisse über einen Prozess vorliegen, desto effizienter lassen sich die Prozesse modellieren und optimieren. Unternehmen, die auf die Nutzung einer gemeinsamen Informationsquelle für ihre Prozesse setzen, können eine kollaborative und transparente Arbeitsumgebung aufbauen. Dies führt nicht nur zu zufriedenen Mitarbeitern, sondern auch zu effizienteren Arbeitsabläufen und besseren Unternehmensergebnissen. 

Das kollaborative Prozessmanagement hilft wachsenden Unternehmen dabei, ineffiziente Abläufe, wie zeitaufwändigen E-Mail-Verkehr oder das Suchen nach der neuesten Dokumentenversion und andere Wachstumsbremsen zu vermeiden. 

Stattdessen können Prozessinhalte jederzeit von allen Mitarbeitern erstellt und freigegeben werden. Auf diese Weise werden die digitalen und cloudbasierten Strategien eines Unternehmens vorangetrieben, Analysen verbessert, Prozesse optimiert und Business-Transformation-Initiativen unterstützt. Kurz gesagt: Eine derartige Prozesstransparenz kann als Basis für die nächste Wachstumsphase eines Unternehmens genutzt werden. 

Sie möchten gern weitere Informationen über eine erfolgreiche Unternehmenstransformation erhalten? Gern stellen wir Ihnen unser Whitepaper In 7 Schritten zur Unternehmenstransformation kostenlos zur Verfügung.

Das Gesamtbild im Fokus: Enterprise Architecture und Prozessmanagement verbinden

Haben Sie jemals versucht, einen 3D-Film ohne 3D-Brille zu schauen? Zwei Stunden undeutliche Bilder zu sehen, ist alles andere als ein Vergnügen. Doch mit der richtigen Ausrüstung genießen Sie ein beeindruckendes Erlebnis mit realistischen, klaren und scharfen Aufnahmen. Auf die gleiche Weise rückt die richtige Enterprise Architecture die komplexe Struktur einer Organisation in den Mittelpunkt des Geschehens.

Die IT-Umgebungen moderner Unternehmen bestehen aus einer wachsenden Anzahl hochkomplexer, miteinander verbundener und oft schwierig zu verwaltender IT-Systeme. Und so scheint es häufig eine unüberwindliche Herausforderung zu sein, eine Balance zwischen Kundenservice und Effizienzanforderungen herzustellen. Dies gilt insbesondere im Zusammenhang mit Social-, Mobile-, Cloud- und Big-Data-Technologien und effektiven täglichen IT-Funktionen und -Support.

Die Unternehmensarchitektur kann Organisationen dabei helfen, dieses Gleichgewicht herzustellen und zugleich Risiken zu handhaben, Kosten zu optimieren und Innovationen einzuführen. Hier steht vor allem die erfolgreiche Umsetzung von Reform- und Transformationsprogrammen im Fokus. Dabei stützt sich die Unternehmensarchitektur auf die Genauigkeit der komplexen Datensysteme eines Unternehmens. Zugleich berücksichtigt sie      die sich ändernden Standards, Vorschriften und strategischen Geschäftsanforderungen.

Komponenten einer effektiven Enterprise Architecture

Im Allgemeinen bestehen Unternehmensarchitektur-Frameworks aus vier voneinander abhängigen Disziplinen:

  • Geschäftsarchitektur

Der Blueprint des Unternehmens, der ein allgemeines Verständnis der Organisation vermittelt und dazu dient, strategische Ziele und taktische Anforderungen aufeinander abzustimmen. Ein Beispiel hierfür ist die Abbildung von Geschäftsprozessen mithilfe von Business Process Management Notation.

  • Datenarchitektur

Die Domäne, die die Abhängigkeiten und Verbindungen zwischen den Daten, Richtlinien, Modellen und Standards einer Organisation aufzeigt.

  • Anwendungsarchitektur

Die Ebene, die alle Softwarelösungen eines Unternehmens und ihre Beziehungen untereinander aufzeigt.

  • Infrastrukturarchitektur

Diese Komponente befindet sich auf der untersten Architekturebene und zeigt die Beziehungen und Verbindungen der vorhandenen Hardwarelösungen eines Unternehmens auf.

Eine effektive EA-Implementierung bedeutet, dass Unternehmensmitarbeiter ein klares Verständnis dafür entwickeln, wie die IT-Systeme ihres Unternehmens die spezifischen Arbeitsprozesse ausführen und in welcher Verbindung sie zueinanderstehen. Sie ermöglicht Benutzern, die Anwendungs- und Business-Leistung zu analysieren und leistungsschwache IT-Systeme schnell und effizient in Angriff zu nehmen.

Kurz gesagt: EA hilft Unternehmen bei der Beantwortung von Fragen wie:

  • Welche IT-Systeme werden von wem wo genutzt?
  • Welche Geschäftsprozesse stehen mit welchem IT-System in Verbindung?
  • Wer ist für welche IT-Systeme verantwortlich?
  • Wie gut werden die Datenschutzanforderungen eingehalten?
  • Auf welchem ​​Server werden die jeweiligen Anwendungen ausgeführt?

Dieselben Fragen können auch auf die Geschäftsprozesse angewandt werden und bestimmen in diesem Fall das Business Process Management auf Unternehmensebene. Kein Wunder also, dass die beiden Disziplinen zusammenpassen wie Popcorn und ein guter Film, oder?

Enterprise Architecture und Prozessmanagement verbinden

Für die erfolgreiche Ausrichtung von Business und IT müssen die IT-Lösungen eines Unternehmens effektiv genutzt werden. So können sie die Unternehmensziele und -Anforderungen erfüllen. Standardisierte Sprache und Bilder (wie Flussdiagramme und Grafiken) sind oftmals hilfreich, um eine gemeinsame Brücke zwischen dem Fachbereich und der IT zu schaffen.

Auf die gleiche Weise sorgt die Kombination aus EA und kollaborativem Business Process Management für eine gemeinsame Sprache im gesamten Unternehmen. Eine solche Basis ermöglicht es, Missverständnisse zu vermeiden und organisatorische oder technische Transformationsziele effektiv zu verfolgen.

Eine stärkere Verknüpfung von Management, IT und einer prozessorientierten Belegschaft führt dazu, dass fundiertere Entscheidungen zur Norm werden. Eine erfolgreiche Kombination aus Prozessmanagement, Unternehmensarchitektur und IT gibt nicht nur Aufschluss darüber, wie sich Änderungen in einem Bereich auf die anderen Gebiete auswirken, sondern sorgt letztendlich auch für ein besseres Verständnis der tatsächlichen Funktionsweise des Unternehmens. Dies führt wiederum zu einer leichteren Optimierung der Geschäftsprozesse und einer damit einhergehenden höheren Kundenzufriedenheit.

Eine effektive Unternehmensarchitektur bietet IT-Teams mehr Transparenz und ermöglicht eine effiziente Verwaltung der IT-Systeme und ihrer jeweiligen Schnittstellen. Neben der Planung der kontinuierlichen Entwicklung der IT-Landschaft unterstützt EA – ebenso wie das Process Management – auch die strategische Entwicklung der Organisationsstruktur.

Mit der Kombination aus Enterprise Architecture und Process Management profitieren Sie von neuen Maßstäben in den Bereichen effiziente  IT-Systeme und Geschäftsprozesse sowie synchrone Optimierung und kontinuierliche Verbesserungen. Die Nutzung eines Tools für Enterprise Architecture und Business Process Management bringt Business und IT näher zusammen und erzeugt Synergien, die unmittelbaren Mehrwert schaffen und positive Veränderungen im gesamten Unternehmen vorantreiben.

Möchten Sie mehr erfahren? Setzen Sie auf 3-D-Ansichten und verleihen Sie Ihren EA-Initiativen mehr Tiefe mit Signavio! Registrieren Sie sich noch heute für eine kostenlose 30-Tage-Testversion der Business Transformation Suite.