Das perfekte ABC Analyse Beispiel für Artikel

In diesem Blog möchte ich Euch die ABC-Analyse einfach und verständlich erklären und zeigen, warum ein genauerer Blick langfristig mehr Sinn macht.
ABC Analyse Beispiel
Table of Contents
In: Data Science
ℹ️
In diesem Blog möchte ich Euch die ABC-Analyse einfach und verständlich erklären und zeigen, warum ein genauerer Blick langfristig echt nützlich sein kann. Die ABC-Analyse ist ein cooles Werkzeug aus dem Management und der Betriebswirtschaft, das hilft, Artikel, Produkte oder Themen nach ihrer Wichtigkeit einzuteilen. So können Unternehmen und Organisationen ihre Ressourcen besser nutzen und effizienter arbeiten.

Was ist eine ABC Analyse?

Die ABC-Analyse teilt Dinge in drei Kategorien ein: A, B und C. Dabei wird nach bestimmten Kriterien entschieden, in welche Kategorie was fällt. Heute schauen wir uns das Ganze mal am Beispiel von Artikeln an:

  • Status A: Die wichtigsten und wertvollsten Artikel. Sie sind zwar in der Minderheit, machen aber den grössten Teil des Erfolgs aus.
  • Status B: Diese Artikel sind mittelwichtig. Sie tragen im Durchschnitt zum Erfolg bei.
  • Status C: Das sind die weniger wichtigen Artikel. Sie machen oft den grössten Teil aus, haben aber nur wenig Einfluss auf den Gesamterfolg.

Was bringt der Status auf dem Artikel?

Wenn jeder Artikel einen Status hat, wird es einfacher, gezielte Entscheidungen zu treffen und Massnahmen zu planen. Nehmen wir mal an, Ihr wollt eine SEA-Kampagne (Search Engine Advertising) starten. Wenn Ihr vorher eine ABC-Analyse mit den Kriterien Wirtschaftlichkeit oder Umsatz gemacht habt, wisst Ihr, dass Ihr für die Kampagne nur die A-Artikel verwenden solltet. Diese Artikel haben die höchste Priorität und versprechen den grössten Erfolg. Wie Ihr aber seht braucht jedes Projekt eine ABC Analyse mit unterschiedlichen Kriterien. Deshalb kommen wir direkt zum nächsten Punkt.

Wie baut man einen ABC Analyse auf?

Zunächst benötigen wir Daten, um eine allgemeine ABC-Analyse durchzuführen. Was genau das bedeutet, werde ich später erläutern. Hier sind unsere Testdaten:

Auftragsnr Artikel_ID Monat Umsatz Auftragsmenge Retourenmenge Artikelbeschreibung Lieferanten_ID Lieferantenbeschreibung Warengruppe Marke
1093 90 February 366.23 2 1 Artikel 90 1 Lieferant 10 Elektronik Marke 11
1047 81 July 381.17 2 1 Artikel 81 8 Lieferant 8 Haushalt Marke 11
1009 87 August 203.08 4 0 Artikel 87 10 Lieferant 6 Haushalt Marke 6
1024 53 March 158.24 5 1 Artikel 53 6 Lieferant 10 Elektronik Marke 16
1037 10 February 275.21 2 3 Artikel 10 10 Lieferant 3 Spielzeug Marke 2
1099 41 June 144.63 3 0 Artikel 41 2 Lieferant 5 Spielzeug Marke 12

Wichtig zu erwähnen ist das man so eine Analyse auch in Excel durchführen kann, aber man sollte Sie in einer Programmiersprache wie R oder Python durchführen. Dies bietet folgende Vorteile:

  • Reproduzieret der Analyse: Falls Sie nochmal neu ausgeführt werden muss ist das in Excel ein extremer Arbeitsaufwand.
  • Übersichtlichkeit: In R sieht man jede Änderung welche man gemacht hat.
  • Mehr Ergänzung möglich: Diese Analyse ist sehr aktiv und Ihr seit froh wenn Ihr immer weitere Werte hinzufügen könnt.

Die allgemeine ABC Analyse

In der allgemeinen ABC-Analyse werden Werte analysiert, die in allen Projekten verwendet werden können. Diese Werte eignen sich gut, um das gesamte Sortiment allgemein zu bewerten. In einer Artikel-ABC-Analyse wären das beispielsweise folgende Werte:

  • Umsatz
  • Auftragsmenge
  • Retourenmenge

Nun wird für jeden dieser Werte eine Analyse durchgeführt und anschliessend ein Wert von 3 bis 1 zugewiesen. Drei ist dabei die beste Bewertung und eins die schlechteste.

Danach werden dann alle Analysen zu einem Totalwert zusammengesetzt um den Stauts dann final zu vergeben. Aber das erkläre ich jetzt noch etwas genauer.

Umsatzanalyse

Schritt 1 / Umsatz pro Artikel berechnen

Für die Umsatzanalyse berechnen wir zunächst, wie viel Umsatz jeder Artikel im Datensatz generiert hat, und sortieren die Ergebnisse anschliessend in absteigender Reihenfolge, vom grössten zum kleinsten Umsatz.

Artikel_ID Umsatz_summe
857 1928.0
102 1406.0
49 1389.0
674 1328.0
465 1250.0
845 1245.0

Der R-Code dafür ist folgender:

artikel_umsatz <- dataset %>%
  group_by(Artikel_ID) %>%
  summarize(Umsatz_summe = sum(Umsatz)) %>%
  arrange(desc(Umsatz_summe))

Schritt 2 / Berechnen der Kumulativen Summe und Prozent

Im nächsten Schritt wird die kumulative Summe und kumulative Prozent berechnet:

Artikel_ID Umsatz_summe kumulative_summe kumulative_prozent
857 1928 1928 0.911
102 1406 3335 1.58
49 1389 4724 2.23
674 1328 6052 2.86
465 1250 7302 3.45
845 1245 8547 4.04

Der R-Code dafür ist folgender:

artikel_umsatz <- artikel_umsatz %>%
  arrange(desc(Umsatz_summe)) %>%
  mutate(kumulative_summe = cumsum(Umsatz_summe),
         kumulative_prozent = kumulative_summe / sum(Umsatz_summe) * 100)

Die kumulative Summe wird berechnet, indem man die Umsatz_summe jedes Artikels zur Summe der vorherigen Artikel addiert. Es ist im Grunde genommen die laufende Summe der Umsatzwerte.

Beispiel:

  • Für Artikel_ID 857 ist die kumulative_summe = 1928 (da es der erste Artikel ist).
  • Für Artikel_ID 102 ist die kumulative_summe = 1928 (von Artikel 857) + 1406 = 3335.
  • Für Artikel_ID 49 ist die kumulative_summe = 3335 (von Artikel 102) + 1389 = 4724.

Der kumulative Prozentsatz wird berechnet, indem man die kumulative_summe jedes Artikels durch die Gesamtsumme aller Umsatz_summe teilt und dann mit 100 multipliziert, um den Prozentsatz zu erhalten.

Beispiel:

  • Angenommen, die Gesamtsumme der Umsatz_summe für alle Artikel beträgt 21115 (Summe von 1928 + 1406 + 1389 + 1328 + 1250 + 1245).
  • Für Artikel_ID 857 ist der kumulative_prozent = (1928 / 21115) * 100 = 9.13%
  • Für Artikel_ID 102 ist der kumulative_prozent = (3335 / 21115) * 100 = 15.79%

Schritt 3 / Punkte vergeben nach kumulative Prozent

Nun kann man die Punkte aufgrund von der kumulative Prozent vergeben. Zum Beispiel so:

  • Kumulative Prozent <= 20 = 3 Punkte
  • Kumulative Prozent <= 50 = 2 Punkte
  • Kumulative Prozent >50.0001 = 1 Punkt

Dann kommt man im Bezug auf die Umsatzanalyse zu so einer Tabelle:

Artikel_ID Umsatz_summe kumulative_summe kumulative_prozent Umsatzanalyse
857 1928.0 1928.0 0.911 3
102 1406.0 3335.0 1.58 3
49 1389.0 4724.0 2.23 3
674 1328.0 6052.0 2.86 3
465 1250.0 7302.0 3.45 3
845 1245.0 8547.0 4.04 3
783 1237.0 9783.0 4.62 3
681 1192.0 10975.0 5.19 3
199 1158.0 12133.0 5.73 3
830 1154.0 13287.0 6.28 3

Vollendung der allgemeinen ABC Analyse

Anschliessend wird die Analyse auch für die Auftragsmenge und die Retourenmenge durchgeführt. Bei der Retourenmenge werden die Werte umgekehrt bewertet, da hier ein negativer Wert als positiv anzusehen ist.

Auftragsmengeanalyse:

Artikel_ID Auftragsmenge_summe kumulative_summe kumulative_prozent Auftragsmengeanalyse
862 18 18 0.774 3
674 16 34 1.46 3
857 16 50 2.15 3
49 15 65 2.79 3
255 14 79 3.39 3
492 14 93 4.00 3

Retourenmengeanalyse:

Artikel_ID Retourenmenge_summe kumulative_summe kumulative_prozent Retourenmengeanalyse
198 11 11 0.917 1
857 11 22 1.83 1
862 9 31 2.59 1
32 8 39 3.25 1
256 8 47 3.92 1
318 8 55 4.59 1

Schliesslich werden alle Ergebnisse zu einer allgemeinen Punktetabelle zusammengeführt, in der das Gesamtergebnis aller Analysen angezeigt wird. Diese Tabelle bietet eine übersichtliche Zusammenfassung der kombinierten Punkte aus Umsatz, Auftragsmenge und Retourenmenge.

artikel_id umsatz_analyse auftragsmenge_analyse retourenmenge_analyse total status
71 3 3 1 7 B
17 3 2 1 6 B
11 3 3 1 7 B
97 3 3 2 8 A
62 3 3 1 7 B
51 3 2 1 6 B

Der dazugehörige R-Code:

allgemein_punkte_tabelle <- artikel_umsatz %>%
  select(artikel_id, umsatz_analyse) %>%
  inner_join(artikel_auftragsmenge %>% select(artikel_id, auftragsmenge_analyse), by = "artikel_id") %>%
  inner_join(artikel_retourenmenge %>% select(artikel_id, retourenmenge_analyse), by = "artikel_id") %>%
  mutate(
    total = umsatz_analyse + auftragsmenge_analyse + retourenmenge_analyse,
    status = case_when(
      total >= 8 ~ "A",
      total >= 6 ~ "B",
      TRUE ~ "C"
    )
  )

Hier habe ich es ganz einfach gehalten und angenommen, dass alle Analysen gleich wichtig sind. Das bedeutet, dass nur der Gesamtwert entscheidend ist, um den besten Status zu erreichen:

  • Status A: Total mindestens 8 Punkte
  • Status B: Total mindestens 6 Punkte
  • Status C: Alles darunter

In der realen Welt würde man natürlich zusätzliche Kriterien festlegen, wie zum Beispiel, dass die Umsatz- und Auftragsmengenanalyse jeweils mindestens 3 Punkte haben müssen, um den Status A zu erreichen, da diese wichtiger sind als die Retourenmenge. Aber hier könnt ihr euch gerne eigene Gedanken machen. Doch nicht nur hier haben wir grosses Verbesserung Potenzial, sondern noch bei vielen weiteren Punkten.

Datengetriebene Clusteranzahlfindung

In der ABC-Analyse nehmen wir einfach an, dass es korrekt ist, die Daten in 3 Cluster zu unterteilen. Allerdings kann die optimale Anzahl der Cluster je nach Datensatz variieren. Zum Glück gibt es eine datengetriebene Methode, um die optimale Anzahl der Cluster zu ermitteln: die Elbow-Methode. Ich werde diese Methode jetzt nicht im Detail erklären, aber du kannst dazu einen Blogbeitrag finden, den ich hier verlinke:

Plot von der Elbow-Methode
Plot von der Elbow-Methode mit dem Test Dataset

Datenbasierte Statuswertfindung für die Analysen

In der oben erstellten ABC-Analyse gehen wir ebenfalls davon aus, dass Artikel mit einem kumulativen Prozentsatz von 20 % oder weniger drei Punkte verdienen. Aber möglicherweise ist dieser Schwellenwert zu hoch oder zu niedrig. Zum Glück lässt sich auch das datenbasiert ermitteln, und zwar mithilfe des k-means Cluster-Algorithmus. Das zu erklären würde in diesem Blog zu weit führen, aber du findest dazu einen spezifischen Blogbeitrag hier:

Abteilungsbasierte ABC Analyse

Nun haben wir eine allgemeine ABC-Analyse erstellt, aber für viele Abteilungen und Projekte sind unterschiedliche Dinge unterschiedlich wichtig. Da wir R verwendet haben, können wir jedoch ganz einfach neue Datensätze hinzufügen und verbinden, um die Punktetabelle neu zu gewichten. Alternativ können wir auch die aktuelle Tabelle mit zusätzlichen interessanten Werten weiter analysieren, um spezifische Einblicke zu gewinnen.

ABC Analyse Abteilung Einkauf

Beim Einkauf könnte es hilfreich sein, die allgemeinen Punkte nach Warengruppen (WG) aufzuschlüsseln. So kann man leichter erkennen, welche Warengruppe besonders wichtig ist. Dafür sollten wir die Tabelle mit den allgemeinen Punkten um die WG-Daten ergänzen.

artikel_id umsatz_analyse auftragsmenge_analyse retourenmenge_analyse total status warengruppe
71 3 3 1 7 B Spielzeug
71 3 3 1 7 B Spielzeug
71 3 3 1 7 B Spielzeug
71 3 3 1 7 B Spielzeug
71 3 3 1 7 B Spielzeug
71 3 3 1 7 B Spielzeug

Der dazugehörige R Code:

allgemein_punkte_tabelle_var <- allgemein_punkte_tabelle %>%
  inner_join(dataset, by = "artikel_id") %>%
  select(
    artikel_id,
    umsatz_analyse,
    auftragsmenge_analyse,
    retourenmenge_analyse,
    total,
    status,
    warengruppe
  )

Mit dieser Tabelle können wir jetzt einen Plot erstellen, der zeigt, wie viele Artikel jede Warengruppe in den verschiedenen Status hat. So können wir auf einen Blick erkennen, welche Warengruppe für uns die wichtigste ist.

Warengruppe ABC Analyse Beispiel
WG ABC Analyse Beispiel

Jetzt sehen wir direkt, dass Bekleidung für uns die wichtigste Warengruppe ist, während Haushalt scheinbar unwichtig wirkt. Das stimmt auch – allerdings nur im Verhältnis zu allen Artikeln. Wenn man sich jedoch als Händler mit einem Fokus auf Bekleidung aufstellt, könnte man schnell denken, dass Haushalt keine A-Artikel hat.

Deshalb müssen wir jetzt eine gezielte Analyse durchführen, bei der wir die Daten von Anfang an einschränken, um herauszufinden, welche Artikel innerhalb der Warengruppe Haushalt wirklich wichtig sind.

ABC Analyse Beispiel eingeschränkt auf eine Warengruppe
Plot für die eingeschränkt ABC Analyse

Wenn man die ABC-Analyse nur auf die Artikel aus der Warengruppe Haushalt anwendet, stösst man auf vier A-Artikel. Das ist natürlich nur ein Beispiel, und es gibt unzählige weitere Szenarien, die du dir selbst ausmalen kannst.

Falls du mehr ins Detail gehen möchtest, habe ich hier noch ein HTML-Dokument für dich, in dem du den kompletten R-Code findest – inklusive Elbow-Methode und k-means-Cluster-Algorithmus. Viel Spass beim Ausprobieren!

More from Online-Marketing und Datenanalyse | ATBN
Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to Online-Marketing und Datenanalyse | ATBN.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.