SEO: Unterschied zwischen Onpage- und Offpage Optimierung

WebLab HsH: SEO

Autor*in: Julia Solohub


Zusammenfassung was SEO ausmacht
Zusammenfassung was SEO ausmacht

SEO. Vielleicht bist auch du über diesen Begriff gestolpert, aber wusstest nie was er bedeutet. In diesem Beitrag versuche ich es dir mal zu erklären. Stell dir vor du würdest nach Informationen für deine Präsentation im Internet suchen.  Wahrscheinlich suchst du dafür in Google so wie es die Mehrheit tut. Dazu gibst du deine Suchanfrage in die Suchmaschine ein und erhältst innerhalb weniger Sekunden eine Überflutung an Webseiten. Die Ergebnisse sind dann auf mehreren Seiten verteilt. Bestimmt ergeht es dir wie den meisten und du klickst die ersten Ergebnisse an. Doch wie schaffen es genau diese Webseiten auf den ersten Seiten einer Suchmaschine zu erscheinen? Dafür ist SEO verantwortlich. Aber was ist denn nun SEO? Und wie funktioniert es? Das erfährst du hier.

Orientierungshilfe 

Definition von SEO

SEO ist die Abkürzung für Search Engine Optimization, zu Deutsch Suchmaschinenoptimierung. Es ist ein Teil des Suchmaschinenmarketings und wird für das Online Marketing angewendet. Dabei stehen das Erzielen von Umsatz, Steigerung der Popularität und der Besucherzahl sowie die Erhöhung der Reichweite im Fokus. Bei SEO werden Maßnahmen ergriffen, damit Webseiten und deren Inhalte in Suchmaschinen besser aufgefunden und als eine der ersten Treffer (Ranking) platziert werden. Dies gilt nicht nur für Webseiten, sondern auch für Bilder und Videos [4]. Hierfür werden verschiedene Rankingfaktoren beachtet und nach denen optimiert.

Steigerung der Reichweite im Diagramm
Steigerung der Reichweite

SEO wird in zwei Bereiche unterteilt: In die Onpage Optimierung und in die Offpage Optimierung. Im Folgenden wird zunächst auf die Onpage Optimierung und danach auf die Offpage Optimierung näher eingegangen

Onpage Optimierung

Unter Onpage Optimierung versteht man Maßnahmen der Suchmaschinenoptimierung, die auf der eigenen Webseite vorgenommen werden. Hierbei sollen die Faktoren Technik, Inhalt und Struktur der Webseite nach Suchmaschinenkriterien verbessert werden. In der Regel sind das Faktoren für Google [2]. “Ziel der Onpage Optimierung ist es vor allem, ein möglichst gutes Ranking in Suchmaschinen zu erreichen” [8].

Rankingfaktoren der Onpage Optimierung

In diesem Abschnitt werden ein paar Beispiele für Rankingfaktoren aufgelistet.

Rankingfaktor Inhalt

Einzigartige, aktuelle und hochwertige Inhalte beeinflussen diverse Rankingfaktoren und sind der Schlüssel zu einer hohen Kundenzufriedenheit” [8]. Sie steigern die Verweildauer und senken die Absprungsrate [8].
Um guten Inhalt zu verfassen, muss man sich in die Sicht des Nutzers hineinversetzen. Daher müssen folgende Fragen beantwortet werden: Löst der Inhalt ein Problem? Ist er individuell gestaltet und geschrieben? Unterscheidet er sich zu anderen Webseiten? Wird überhaupt nach dem Problem gesucht?

Zu dem Inhalt zählt ebenfalls wie dieser strukturiert ist. Die Verwendung aussagekräftiger Überschriften spielt hierbei eine große Rolle. Als Hauptüberschrift der Webseite muss eine H1 Überschrift verwendet werden. Für Überschriften der zweiten Ordnung die H2 Überschrift und so weiter. Ebenfalls sollte der Text gut lesbar sein. Komplizierte Satzstruktur und Rechtschreibfehler sollten vermieden werden.  Ebenfalls erleichtern Absätze dem Nutzer das Lesen.  Des Weiteren muss auf die Formatierung geachtet werden. Wenn sie nötig ist, sollte sie eingesetzt werden wie z.B. bei Aufzählungen oder Tabellen. Ebenfalls ist für die Orientierung ein Inhaltsverzeichnis von Vorteil.  Als positiv gewertet wird auch das Einbinden einer Interaktionsmöglichkeit. Das weckt das Interesse des Nutzers und bindet ihn in den Inhalt ein. Dies kann dazu führen, dass der Text somit verständlicher ist. Beispiele für Interaktionsmöglichkeiten sind ein Quiz am Ende des Textes oder freie Felder für Kommentare [9].

Für das Auffinden der Webseite müssen Keywords eingesetzt werden, die man bei der Suchanfrage verwenden würde. Diese müssen möglichst häufig im Text vorkommen. Dies gilt ebenfalls für die URL, bei der der Besucher sofort weiß, auf welcher Webseite er sich befindet und wovon diese handelt.

Damit sich die Verweildauer der Besucher erhöht, ist es gut Multimedia Elemente, wie Bilder oder Videos, auf deine Webseite zu platzieren [2]. Bei Bildern müssen einige Kriterien beachtet werden. Bilder müssen komprimiert und auf die richtige Größe zugeschnitten werden. Bei der Bildbenennung sollten Keywords sowohl im Titel als auch im Dateinamen enthalten sein. Hinzu kommt das Nutzen von Titel und ALT-Attributen, um das Bild zusätzlich zu beschreiben [9].

Rankingfaktor Technik

Die Inhalte deiner Webseite müssen gut lesbar sein. Dies bedeutet, dass die Webseite an mobile Endgeräte angepasst werden muss. Dazu zählen z.B. Handys und Tablets. Ebenso muss der Zugang zur Webseite gewährleistet sein (Barrierefreiheit). Weiterhin ist eine hohe Ladegeschwindigkeit wichtig, damit der Besucher auf der Webseite verweilt [2].

Studien haben gezeigt, dass die durchschnittliche Wartezeit beim Laden einer Webseite 3 Sekunden beträgt [1]. Also immer daran denken! Ebenfalls muss man an die Nutzerfreundlichkeit der Webseite denken. Das bedeutet jeder muss sich auf der Webseite gut zurechtfinden. Eine gute Navigation muss gegeben sein. 

Des Weiteren helfen Interne Verlinkungen innerhalb einer Webseite nicht nur bei dem Zurechtfinden, sondern auch zur Nachverfolgung, wo man sich aktuell befindet. Dies kann man durch eine verlinkte Menüführung, Links zu Unterseiten oder Breadcrumbs erreichen. Breadcrumbs ist eine Unternavigation, die zur Orientierung dient. Dabei wird ein Pfad von Seiten angezeigt, die man durchklicken muss, um auf die aktuelle Seite zu gelangen. Solche Breadcrumbs wirken sich im Suchmaschinenranking bei Google positiv aus.

Je schneller ein Besucher die benötigte Seite auf einer Webseite erreicht, desto besser. Dies bedeutet, wenn der Benutzer durch wenig Durchklicken an sein Ziel kommt, wirkt es sich positiv auf das Ranking aus. Das heißt durch wenig Deep Links gelangt der User an sein Ziel [2].

⇒ “Richtwert: von der Homepage zur Zielseite in drei Klicks”[2].

Rankingfaktor Struktur

HTML Kenntnisse sind hier von Vorteil. Das Nutzen von Tags und Überschriften sowie die Strukturierung des Textes fließen in das Ranking mit ein [2]. Ebenso ist das Einsetzen von Meta-Tags wichtig. Hierzu ein paar Beispiele:

  • Verwendung von Keywords im Title Tag, das als Seitenbenennung und Überschrift in Suchergebnissen dient, vermittelt dem Nutzer den Inhalt der Seite
  • Zum Ranking zählt ebenfalls die Beschreibung des Inhalts durch das Einsetzen von Meta-Description Tags
  • Ein weiteres Beispiel ist die Benennung von Bildern durch das (IMG)Title Tag. Dies erleichtert Google das Verstehen des Bildinhalts
  • Der Tag kann auch für Verlinkungen verwendet werden [8].

 

Dieses Video erläutert nochmal das Gelesene [6].

Offpage Optimierung

Bisher war die Rede nur von Onpage Optimierung. Dabei gibt es einen zweiten Bereich von SEO: Die Offpage Optimierung. Was ist denn nun der Unterschied zwischen den beiden Bereichen? Der Unterschied liegt bei den Maßnahmen der Optimierung. Hierbei werden Maßnahmen ergriffen, die außerhalb der eigenen Webseite stattfinden.  Ein weiterer Unterschied ist, dass im Gegensatz zu der Onpage Optimierung, die Offpage Optimierung nicht aktiv beeinflussbar ist. 

Wir erinnern uns: Das Ziel von SEO ist es dem User die passenden und besten Ergebnisse zu seiner Suchanfrage zu liefern.  Dafür müssen Suchmaschinen, korrekte und gute Inhalte auf die ersteren Plätze der Trefferseite platzieren. Jedoch können Suchmaschinen die Inhalte weder lesen noch deren Richtigkeit beurteilen. Aus diesem Grund kommen andere Nutzer ins Spiel.

Wird eine Webseite mehrmals verlinkt und von anderen Webseiten empfohlen, signalisiert das der Suchmaschine, dass der Inhalt einer Webseite gut sein muss. Die mehrfachen Verlinkungen sind so genannte Backlinks. Wenn eine Webseite mehrere Backlinks erhält, entsteht eine externe Verlinkungsstruktur. Aus diesem Grund steigt die Reichweite und der Bekanntheitsgrad. Dies ist das Hauptziel von Offpage Optimierung. Doch wie veranlasst man nun am besten die Bildung von Backlinks? 

Methoden der Offpage Optimierung

Persönliche Kontakte

Wenn man Kontakte hat, die selber Webseitenbetreiber sind oder Webseitenbetreiber im Bekanntenkreis haben, kann man sie fragen, ob sie die Webseite verlinken [2].

Linkbuilding

Beim Linkbuilding soll eine Website so viele Backlinks wie möglich erhalten. Vor allem gut für das Ranking ist es, wenn die Website organisch die Backlinks aufbaut. Das signalisiert der Suchmaschine, dass die Nutzer gerne und von selbst die Seite aufgrund ihres Inhalts verlinken. Gekaufte Backlinks werden von Google erkannt und können abgestraft werden. Ebenso wirken sich der Linktext, die Linkposition und die Anzahl der Links von einer Quelle auf die Stärke der Verknüpfung aus. Nach diesen Faktoren wertet Google die Stärke der Verknüpfung aus [11]. Ein guter Trick für die Erzeugung von Backlinks ist, wenn man selbst Verlinkungen von anderen Webseiten auf seiner eigenen Webseite setzt. Die Webseitenbetreiber können das sehen und einen auf der eigenen Webseite zurück verlinken [2]. Hier ein paar Beispiele für gute Backlink-Quellen: Social Media, Artikeltexte, Verzeichnisse, Kommentare und Foren [10].

Soziale Netzwerke

Verlinkungen in Kommentaren oder Posts auf verschiedenen sozialen Netzwerken, wie Instagram, Twitter, YouTube, können gute Backlinks einbringen [2]. Nutzer können mit den Inhalten interagieren und sorgen durch den viralen Effekt dafür, dass sich dieser verbreitet und dadurch viele weitere Nutzer auf die Website aufmerksam werden [10]. “Ein hohes Suchvolumen nach einem Markennamen oder die häufige Erwähnung eines Unternehmens im Netz könnten darauf hindeuten, dass eine Marke über hohe Brand Awareness verfügt und bekannt ist. Zudem lassen sich viele Backlinks und eine hohe Aktivität sowie hohe Followerzahlen in Social Media als deutliche Hinweise auf eine erfolgreiche Marke anführen” [11]. Diese „Social Signals“ werden von Google positiv bewertet und fördern das Ranking der Website [10].

Social Media trägt einen großen Teil zu Verlinkungen bei. Um den oben genannten Punkt zu verdeutlichen zeigt diese Tabelle einen Ausschnitt der Anzahl der Nutzer von den meist genutzten sozialen Netzwerken (Stand: Januar 2019) [3].

 

 Soziales Netzwerk Userzahl
Facebook 2,27 Milliarden
YouTube 1,900 Milliarden
Instagram 1,000 Milliarden
Twitter 360 Millionen
Branchenbücher

Durch das Eintragen einer Webseite in Branchenbücher, wird dem Nutzer verholfen die Webseite online über die Branche zu finden. Somit können ebenfalls Backlinks erzeugt werden [2].

 

Dieses Video erläutert nochmal das Gelesene [7].

Eine kurze Zusammenfassung in Form einer Infografik verschafft dir einen besseren Überblick über die SEO Maßnahmen [5].

SEO und UX

SEO und die User Experience hängen miteinander zusammen und auch voneinander ab.  Google kann mittlerweile die Inhalte der Webseiten semantisch erfassen und zuordnen. Ebenso kann die Suchmaschine die Bedienbarkeit einer Webseite bewerten.  Dazu zählen z.B.  versteckte Inhalte hinter Tabs, die man auf den ersten Blick nicht sieht. Jedoch erkennt Google solche Inhalte und kann sie dementsprechend positiv oder negativ bewerten. In Bezug auf die Rankingfaktoren von Google, zeigt sich ein Zusammenhang zwischen SEO und UX. Setzt man bestimmte Rankingfaktoren um, steigt die UX. Hier einige Beispiele:

  • Durch den Einsatz von HTTPS wird die Sicherheit der Seitenbesucher erhöht
  • Kurze Ladezeiten machen das Abrufen von Webseiten leichter
  • Durch Anpassung an mobile Endgeräte wird ein Abruf von Webseiten auf Smartphones und anderen Geräten ermöglicht
  • Webseiten, die wenig Werbung und viele hilfreichen Inhalten enthalten, helfen dem Nutzer das zu finden, wonach er sucht
  • Durch eine Einteilung der Webseite in Kategorien wird das Auffinden der Webseite erleichtert.

Je einfacher Google es hat, wie ein Nutzer die Webseite zu bedienen, desto besser ist die User Experience sowie die ergriffenen Maßnahmen von SEO. In Folge dessen steigt die Webseite im Ranking [12].

Fazit

Die Onpage- und Offpage Optimierung sind ein wichtiger Teil der Suchmaschinenoptimierung. Bei Onpage Optimierung dreht sich alles um das Auffinden einer Webseite in einer Suchmaschine (meistens Google), indem man die Webseite nach verschiedenen Rankingfaktoren optimiert. Das kann aktiv beeinflusst werden und passiert gezielt auf der Webseite. Technische, strukturelle und inhaltliche Aspekte zählen zu diesen Rankingfaktoren. Ein wesentlicher Vorteil der Onpage Optimierung ist die Erhöhung des Traffic der eigenen Webseite. Zudem dreht sich dabei alles um die Usability [8].

Zusätzlich zu der Onpage Optimierung hilft die Offpage Optimierung die Webseite und die eventuell damit verbundene Marke bekannt zu machen und die Reichweite zu steigern. Hierfür sind Backlinks für Google ein wichtiges Rankingkriterium. Insbesondere die Verlinkungen auf den sozialen Medien wirken sich auf das Ranking aus. Im Gegensatz zu der Onpage Optimierung ist die Offpage Optimierung nicht aktiv beeinflussbar ist. Hierfür spielen die Nutzer eine große Rolle. Sie interagieren mit den Inhalten und verbreiten diese viral. Dadurch werden weitere Nutzer auf die Webseite aufmerksam. Infolgedessen entscheiden und bewerten sie den Inhalt der Webseite und teilen diese. Entscheidend für das Verbreiten und somit das Erzeugen von Backlinks sind guter Content, Nutzerfreundlichkeit und starke Interaktion mit den Kunden/Nutzern. All dies sorgt für bessere SEO-Ergebnisse [11].


Quellenverzeichnis

1: Quietsch, Phillip (o. J.): Google Report: verschenktes Conversion-Potenzial durch lange mobile Ladezeiten. Online unter https://www.effektiv.com/mobile-ladezeiten-2714.html [Abruf am 04.12.2019]

2: Roth, Carina (2018): SEO: Was ist Onpage- und Offpage-Optimierung?. Online unter https://www.digitionell.de/547-onpage-offpage-unterschied-seo/ [Abruf am 04.12.2019]

3: Statista GmbH (2019): Ranking der größten sozialen Netzwerke und Messenger nach der Anzahl der monatlich aktiven Nutzer (MAU) im Januar 2019 (in Millionen). Online unter https://de.statista.com/statistik/ daten/studie/ 181086/umfrage/die-weltweit-groessten-social-networks-nach-anzahl-der-user/ [Abruf am 04.12.2019]

4: Kopp, Olaf (2019): Was ist SEO? Suchmaschinenoptimierung einfach erklärt. Online unter https://www.sem-deutschland.de/seo-firma/seo-glossar/suchmaschinenoptimierung-seo/ [Abruf am 04.12.2019]

5: Wohllebe, Atilla (2014): Infografik: So erstellt Google sein Ranking. Online unter https://onlinemarketing.de/news/infografik-so-erstellt-google-sein-ranking [Abruf am 29.01.2020]

6: Fairrank TV (2017): Was ist OnPage-Optimierung? | Fairrank TV. Online unter https://www.youtube.com/watch?v=QWaJ_Q5oPvw&feature=emb_title [Abruf am 04.12.2019]

7: Fairrank TV (2017): Was ist OffPage-Optimierung? | Fairrank TV. Online unter https://www.youtube.com/watch?v=eCoDEqw6oPI&feature=emb_title [Abruf am 04.12.2019]

8: Sario Marketing GmbH (2020): Onpage Optimierung. Online unter https://www.textbroker.de/onpage-optimierung [Abruf am 25.01.2020]

9: PageRangers.com (o. J.): Onpage Optimierung. Online unter https://pagerangers.com/seo-handbuch/onpage-optimierung [Abruf am 25.01.2020]

10: Hanseranking (2020): Offpage SEO. Online unter https://www.hanseranking.de/seo/offpage.html [Abruf am 25.01.2020]

11: Sario Marketing GmbH (2020): Offpage Optimierung. Online unter https://www.textbroker.de/offpage-optimierung [Abruf am 25.01.2020]

12: Kunz, Christian (2018): Google: SEO ergibt sich aus guter User Experience. Online unter https://www.seo-suedwest.de/3454-google-seo-ergibt-sich-aus-guter-user-experience.html [Abruf am 28.01.2020]

BestOf Bachelor: Ein WordPress-Plugin für den Vergleich von Veranstaltungen

Bachelorarbeit von Lukas Fischer: Ein Festival-Plugin für WordPress

In der Bachelorarbeit von Lukas Fischer (2020) mit dem Titel “Konzeption und Anwendung eines WordPress-Plugins für den Vergleich von Veranstaltungenwird thematisiert, wie WordPress über ein selbstentwickeltes Plugin für den komfortablen Vergleich von Festivals eingesetzt werden kann.

In seinem Abstract schreibt Lukas:

“Plugins erweitern die Funktionalität von WordPress und helfen Webseitenbetreibern beim Hinzufügen neuer Elemente oder Funktionen. Dabei muss der Betreiber selbst keinen komplexen Programmcode schreiben. Auch können diese Erweiterungen als Erleichterung bei der Pflege von Informationen und Inhalten dienen. In der vorliegenden Bachelorarbeit wird die Konzipierung, Umsetzung und Anwendung eines solchen Plugins für den Vergleich von Veranstaltungen beschrieben. Dabei findet es Anwendung auf einer Internetseite zum Thema Festivals. Die Informationen bezüglich der Festivals werden per Import in einer Tabelle gespeichert und für den Vergleich dargestellt. Eintragungen können auch händisch getätigt werden, woraus sich schließlich ergibt, dass das Plugin mit seiner Importfunktion eine zeitsparende und sinnvolle Erweiterung ist.”

Die Bachelorarbeit von Lukas wurde vorbildlich über SerWisS veröffentlicht und ist als Volltext zu finden unter:

Das praktische Ergebnis der Bachelorarbeit kann unter https://www.konzertkalender.net/ ausprobiert werden.
 

Data Mining bei der Warenkorbanalyse

WebLab HsH: Data Mining und Warenkorbanalyse

Autori*nnen: Judith Hauschulz und Verena-Christin Schmidt

Oder: Werden Windeln und Bier wirklich oft zusammen gekauft?

Die Warenkorbanalyse gehört zum Data Mining und ist ein Anwendungs-gebiet der Assoziationsanalyse. Wenn du diese Begriffe hörst, ist dir wahrscheinlich klar, dass es um Daten geht. Aber das klingt nun vielleicht etwas trocken, deshalb fangen wir nochmal neu an:

    • Du wolltest schon immer wissen, warum Data Mining Beispiel: Bier und Windelndir beim Online-Shopping “passende” Artikel vorgeschlagen werden?
    • Dich interessiert, wieso sich die Süßigkeiten im Supermarkt immer auf dem Weg zur Kasse befinden?
    • Oder du willst einfach endlich erfahren, was da eigentlich dahintersteckt?

Dann bist du hier genau richtig! Wir erklären dir, wie das funktioniert. Doch dazu fangen wir erst einmal beim Allgemeinen an: dem Data Mining.

Was bedeutet Data Mining?

Eigentlich heißt Data Mining nur „Datenschürfen“. Dabei soll aus Daten Wissen erzeugt werden.1 Mit Wissen ist hier ein Muster gemeint, das für NutzerInnen interessant ist oder auch interessant sein kann. Ein Muster besteht dann wiederum aus Beziehungen zwischen Daten oder Regelmäßigkeiten und wird Datenmustererkennung genannt. 2

In der Graphik kannst du den Ablauf des Data Minings ablesen. Das Ganze stellt einen Prozess dar, bei dem das Ziel ist, dass man neue Erkenntnisse gewinnt. Dabei beschränkt man zuerst eine große Menge an Rohdaten auf eine kleinere Auswahl, sodass sie anschließend verarbeitet werden können. So dienen sie also als Grundlage für die Muster, die das Data Mining aufdecken soll.3

Rohdaten - Zieldaten - Inputdaten - Data Mining - Interpretation - WissenAbb.: Von den Rohdaten zum Wissen

Es gibt sehr viele Verfahren im Data Mining. Wir erklären dir aber nur die Assoziationsanalyse, weil sie relevant für die Analyse von Waren ist. Sie zählt zu den bekannteren beziehungsweise typischen Methoden des Data Minings.4

Assoziationen im Data Mining

"Die Assoziationsanalyse gehört zu einem der grundlegendsten Verfahren in der Datenanalyse und spielt im wirtschaftlichen Bereich eine große Rolle." 5

Mit der Assoziationsanalyse kannst du Abhängigkeiten und Zusammenhänge in großen Datenmengen ermitteln. Dazu benutzt man sogenannte Items. Stell sie dir am besten wie Produkte im Supermarkt vor! Mit diesen Items können wir dann Berechnungen durchführen. Wir könnten also schauen, ob zwei von ihnen auffällig oft gemeinsam vorkommen.

Es kann aber auch passieren, dass ein Item besonders dann auftritt, wenn ein anderes Item vorhanden ist. Ein Item kann sogar das Vorkommen eines anderen Items begünstigen. Wenn das eintritt, lassen sich da-raus Assoziationsregeln ableiten.1 Aus ihnen können wir beispielsweise Vorhersagen treffen oder Empfehlungen aussprechen.

Als Ergebnis erhalten wir Regeln, die folgende Form haben:

"Wenn Item A vorliegt, dann tritt in X Prozent
der Fälle auch Item B auf.
"6

Diese Regeln der Assoziationsanalyse können wir benutzen, um zum Beispiel Wechselwirkungen verschiedener Medikamente zu erforschen. Und auch wenn man Zusammenhänge bei der Wahl von Anlageformen bei Banken aufdecken möchte, ist sie nützlich.7 Ein wesentlich bekannteres Beispiel ist aber die Empfehlung von Artikeln im Online-Handel. Wenn wir einen Artikel aufrufen, dann zeigt uns die Seite oft, was andere KundInnen noch gekauft haben.8 Solche Vorhersagen lassen sich auch aufgrund von Warenkorbanalysen treffen.

Warenkorbanalyse mit Bier und Windeln

In einer Folge der SerieNumb3rs – Die Logik des Verbrechens geht es um ein beliebtes Beispiel der Warenkorbanalyse. Windeln und Bier werden hier sehr oft zusammen gekauft. Auch wenn es erstaunlich erscheint, so haben sie eine logische Erklärung dafür: Männer, die von ihren Frauen zum Windelkauf aufgefordert werden, kaufen gerne noch Bier dazu. Damit haben sie etwas, worauf sie sich nach der „Arbeit mit dem Kind“ freuen und was sie genießen können. Darum kommt es zu dem Ergebnis, dass das Bierregal auf dem Weg von den Windeln zur Kasse platziert und so der Umsatz gesteigert wird.9

Die Warenkorbanalyse unter den Data Mining-Verfahren

Bei der Warenkorbanalyse wertet man die Einkäufe von KundInnen aus, um dadurch verschiedene Items zu untersuchen. Die Items bestehen hier aus den Artikeln von zum Beispiel Supermärkten. Alle Kaufaktionen zusammengefasst ergeben die Datenbasis.7

Fast alle Unternehmen, die Waren verkaufen, haben die Daten, die für das Data Mining mit der Warenkorbanalyse nötig sind. Schon einige Kassenbons reichen aus und es wird kein spezielles System benötigt. Damit lassen sich dann stark nachgefragte Produkte ermitteln oder Verbindungen zwischen verschiedenen Waren untersuchen.10 Mit der Analyse können wir also auch erfahren, wie oft ein Produkt mit einem anderen im Warenkorb landet. Um dabei die „Spreu vom Weizen“ zu trennen, werden Assoziationsregeln erstellt.11 Aber wie können wir denn nun Muster finden?

Einkaufswagen Warenkorb EinkaufslisteWenn Menschen Lebensmittel einkaufen gehen, haben sie meistens eine Einkaufsliste dabei, damit sie nichts vergessen. Auf manchen Listen befinden sich viele gesunde Produkte, wohingegen auf anderen eher Bier und Chips stehen. Daraus können wir schon Muster erkennen, durch die sich die Waren im Supermarkt entsprechend sortieren lassen.12

Werden Bier und Windeln wirklich oft zusammengekauft?

Wenn wir Zusammenhänge und Abhängigkeiten berechnen wollen, müssen wir (leider) etwas mathematisch werden. Aber keine Angst, wir benutzen dafür ein leicht verständliches und nachvollziehbares Beispiel.

Zuerst brauchen wir die drei Kennzahlen Support, Konfidenz und Lift. In der Tabelle steht ein Beispiel, dass dir helfen wird, um diese Kennzahlen zu verstehen. Bei uns geht es lediglich um zwei Produkte. Insgesamt untersuchen wir hier aber 1.000.000 Transaktionen beziehungsweise Einkäufe. Darin kommen auch 200.000-mal der Kauf von Bier und 50.000-mal der Kauf von Windeln vor. Die KundInnen dieses Supermarkts haben Bier und Windeln sogar 20.000-mal gleichzeitig gekauft.

Anzahl Waren
1.000.000 Transaktionen insgesamt
200.000 Bier
50.000 Windeln
20.000 Windeln und Bier

Los geht die Warenkorbanalyse…

Wie oft werden Bier und Windeln denn nun zusammen gekauft? Um das zu erfahren, berechnen wir den Support. Dafür setzen wir zuerst die Anzahl der Käufe von Bier und Windeln separat ins Verhältnis aller vorliegenden Einkäufe. Danach machen wir das genauso mit der Anzahl der gemeinsamen Käufe, sodass wir einen Support von 2% erhalten.

Support Windeln Bier Warenkorbanalyse

Die Konfidenz sagt uns, wie oft eine Assoziationsregel („Wenn Bier gekauft wird, dann werden auch Windeln gekauft”) richtig ist. Sie gibt außerdem einen Hinweis darauf, wie stark der Zusammenhang zwischen Bier und Windeln ist.11

Wenn wir die Konfidenz berechnen wollen, brauchen wir die Support-Werte. Zu Beginn teilen wir dabei den gemeinsamen Support durch den einzelnen Support des Biers. Daraus ergibt sich eine Konfidenz von 10%. Weil das noch nicht besonders viel ist, drehen wir die Assoziationsregel einfach mal um. Somit ergibt sich eine Konfidenz von 40%, da nun die Anzahl der Windel-Einkäufe die Bezugsgröße darstellt.

Konfidenz Windeln Bier Warenkorbanalyse

Die zweite Regel zeigt also ein Muster auf, das der Supermarkt so nutzen kann: Wenn das Bier in Sichtweite der Windeln positioniert wird, dann wird beides häufiger zusammen gekauft werden.7

Ob der Kauf von Bier und Windeln nun wirklich zusammenhängt, verrät der Lift. Er sagt uns auch, um wieviel wahrscheinlicher Windeln den Kauf von Bier machen. Dafür müssen wir den gemeinsamen Support durch das Produkt der einzelnen Support-Werte teilen.

Lift Windeln Bier Warenkorbanalyse

Das Ergebnis ist ein Lift von 200%. Das heißt, dass der Kauf von Windeln die Wahrscheinlichkeit für den zusätzlichen Kauf von Bier sogar verdoppelt!

Zur Erklärung: Ein Lift von 100% würde stattdessen bedeuten, dass beide Items unabhängig voneinander sind. Bei einem Lift, der kleiner als 100% ist, ist es unwahrscheinlich ist, dass beide Items zusammen auftreten.11

Was bringt die Warenkorbanalyse?

Wie du siehst, ist es eigentlich doch ganz einfach, Muster und Abhängigkeiten zu entdecken. Wenn wir uns aber nicht nur mit zwei, sondern mit allen Artikeln eines Supermarkts beschäftigen würden, so wäre es deutlich schwieriger. Wir hätten dann ja viel mehr Daten, wodurch sich der Umfang der Berechnungen massiv erhöhen würde. Umso besser ist aber dadurch das Endergebnis. Aus einer großen und umfangreichen Warenkorbanalyse gewinnt man nämlich nicht nur ein paar Muster, sondern das gesamte Einkaufsverhalten der KundInnen. Das können Unternehmen für Dinge nutzen, wie zum Beispiel:

    • Regalplatzierungen
    • Preisgestaltung
    • Rabatt-Aktionen
    • zielgerichtetes Marketing12

Sobald Unternehmen die Warenkorbanalyse benutzen, geht es aber auch immer darum, das Angebot zu optimieren und den Umsatz zu steigern.10

Data Mining und Warenkorbanalyse

Gut aufgepasst? Überprüfe jetzt dein Wissen mit dem Quiz zum Data Mining mit der Warenkorbanalyse!

Wenn du mehr darüber erfahren willst, warum wir diesen Beitrag geschrieben haben, dann lies dir doch unser Konzept durch. Darin erklären wir auch, wie wir beim Verfassen von “Data Mining mit der Warenkorbanalyse” vorgegangen sind.

Quellenverzeichnis

1 vgl. Cleve, Jürgen; Lämmel, Uwe (2016): Data Mining. 2. Auflage. Berlin, Boston: De Gruyter Saur

2 vgl. Bissantz, Nicolas; Hagedorn, Jürgen (1993): Data Mining (Datenmustererkennung). In: Wirtschaftsinformatik Jg. 35, H. 5, S. 481–487

3 vgl. Reutterer, Thomas; Hahsler, Michael; Hornik, Kurt (2007): Data Mining und Marketing am Beispiel der explorativen Warenkorbanalyse. In: ZFP. Journal of Research and Management. Jg. 29., H. 3, S. 163-179

4 vgl. Beekmann, Frank (2003): Stichprobenbasierte Assoziationsanalyse im Rahmen des knowledge discovery in databases. Wiesbaden. Deutsche Universitäts-Verlag

5 Begerow, Markus u.a. (2019): Assoziationsanalyse. Online unter https://www.datenbanken-verstehen.de/lexikon/assoziationsanalyse/ [Abruf am 20.12.2019]

6 Beekmann, Frank (2003): Stichprobenbasierte Assoziationsanalyse im Rahmen des knowledge discovery in databases. Wiesbaden. Deutsche Universitäts-Verlag

7 vgl. Bankhofer, Udo; Vogel, Jürgen (2008): Datenanalyse und Statistik. Eine Einführung für Ökonomen im Bachelor. Wiesbaden: Gabler

8 vgl. Zaki, Mohammed J. ; Meira Jr., Wagner (2013): Data Mining and Analysis. Fundamental Concepts and Algorithms. Online unter https://repo.palkeo.com/algo/information-retrieval/Data%20mining%20and%20analysis.pdf [Abruf am 16.12.2019]

9 vgl. Swoyer, Stephen (2016): Beer and Diapers. The impossible correlation. Online unter https://tdwi.org/articles/2016/11/15/beer-and-diapers-impossible-correlation.aspx [Abruf am 17.12.2019]

10 vgl. Poliakov, Vladimir (2019): Data Science. Warenkorbanalyse in 30 Minuten. Online unter https://www.heise.de/developer/artikel/Data-Science-Warenkorbanalyse-in-30-Minuten-4425737.html [Abruf am 13.12.2019]

11 vgl.Rabanser, Alexander (2018): Warenkorbanalyse Teil 1. Analytische Grundlagen und Korrelationsanalyse in Excel. Online unter https://linearis.at/blog/2018/04/06/warenkorbanalyse-teil-1-analytische-grundlagen-und-korrelationsanalyse-in-excel/ [Abruf am 13.12.2019]

12 vgl. Ng, Annalyn; Soo, Kenneth (2017): Data Science – Was ist das eigentlich?! Algorithmen des maschinellen Lernens verständlich erklärt. Berlin, Heidelberg: Springer


Dieser Beitrag ist im Rahmen der Lehrveranstaltung Content Management im Wintersemester 2019/20 bei Andre Kreutzmann (und Monika Steinberg) entstanden.

Aufgabentypen des Data Mining

WebLab HsH: Data Mining

Autorin:  Linda Görzen

Dieser Beitrag im Überblick:

Einführung: Data Mining – Was ist das?

”Signals always point to something. In this sense, a signal is not a thing but a relationship. Data becomes useful knowledge of something that matters when it builds a bridge between a question and an answer. This connection is the signal.”

― Stephen Few, Signal: Understanding What Matters in a World of Noise[5]

Unter Data Mining versteht man einen Prozess, bei dem man mithilfe anspruchsvoller mathematischer und statistischer Algorithmen in großen Datenmengen nach Mustern, Trends und Zusammenhängen sucht.[1]  Die Besonderheit des Data Mining ist die automatische Generierung der neuen Hypothesen aus den Datenmengen.[4]  So kann man beispielsweise anhand der Verkaufsdaten untersuchen, ob und wann Kunden, die Produkt A gekauft haben, auch Produkt B kaufen.

Ziele der Untersuchung einer Datenmenge können unterschiedlich sein. Je nach Ziel gibt es im Data Mining dafür passende Aufgabenstellungen beziehungsweise -typen und dazugehörige Methoden. Typische Aufgabentypen sind Klassifikation, Regressionsanalyse, Assoziationsanalyse, Ausreißererkennung und Clusteranalyse. Darüber hinaus werden die Aufgabentypen des Data Mining oftmals nur in zwei Gruppen eingeteilt. Diese sind Beobachtungsprobleme (Clusteranalyse, Ausreißererkennung) und Prognoseprobleme (Klassifikation, Regressionsanalyse). [6]

Klassifikation

Die Objekte der vorhandenen Daten werden anhand ihrer Merkmale in Klassen zusammengefasst. Die dadurch gebildeten Klassenmengen dienen als Grundlage für die Entwicklung eines Klassifikationsmodells. Mit dem Klassifikationsmodell lässt sich nun die Klassenzugehörigkeit eines neuen Objekts automatisch vorhersagen.[2]

Regressionsanalyse

Die Regressionsanalyse basiert auf den Konzepten der Varianz und Kovarianz. Dies bedeutet, es wird nach Zusammenhängen beziehungsweise Abhängigkeiten zwischen Variablen gesucht. Meistens setzt man eine Regressionsanalyse bei Prognosen und Vorhersagen ein.[3]

So ist es möglich, aus den historischen Daten der Umsätze eines Kunden und seinem Wohnort eine Kennzahl zu ermitteln. Diese Kennzahl kann beispielsweise der zu erwartende Umsatz, den der Kunde in Zukunft einbringen wird, sein.[8]

Assoziationsanalyse

Bei der Assoziationsanalyse untersucht man die einzelnen Datensätze eines Datenbestandes auf Zusammenhänge, bei denen auf ein Ereignis konsequent ein anderes folgt. [8] Diese Zusammenhänge werden über Wenn-dann-Regeln beschrieben. Typischer Anwendungsbereich der Assoziationsanalyse ist die Untersuchung des Warenkorbes. Ein Beispiel dafür ist folgendes:  Wenn ein Kunde Mehl kauft, dann kauft er wahrscheinlich auch die Butter. Die Assoziationsanalyse kann aber auch für die Untersuchung komplexerer Zusammenhänge benutzt werden. Etwa, in welchem Zeitabstand nach dem Kauf des Produktes A, der Kauf des Produktes B erfolgt. [1]

Ausreißererkennung

Ausreißer sind die Werte, die deutlich von den erwarteten Werten abweichen und gar nicht in die Messreihe passen. Sie können die Datenergebnisse stark verzerren und ungültig machen. Aus diesem Grund muss ein Datenbestand von den Ausreißern bereinigt werden. [3]  Die Verfahren zur Analyse von Ausreißern sollen mithilfe der historischen Daten die Wahrscheinlichkeit ermitteln, mit der ein neuer Datensatz ein Ausreißer ist. Dieser soll dann entweder automatisch gelöscht oder zur manuellen Analyse gesammelt werden. [8]

Clusteranalyse

Die zentrale Aufgabe einer Clusteranalyse ist es, neue Kategorien bzw. Gruppen zu identifizieren. Denn im Gegensatz zu Klassenanalyse sind bei dieser Methode die Klassen nicht vorgegeben. Bei der Clusteranalyse werden große Datenmengen in kleinere Gruppen eingeteilt (siehe Abbildung 1).  Die Mitglieder eines Clusters sollen möglichst ähnliche (homogen) Eigenschaften aufweisen. Die einzelnen Clusterkategorien sollen sich wiederum möglichst stark unterscheiden (heterogen).[7]

Da die Cluster ohne Vorwissen generiert werden, ist es nicht immer eindeutig, was die Cluster ähnlich macht und ob sie auch inhaltlich relevant sind. Für eine Aufklärung sind zusätzliche Analysen zuständig.[7]

EM-Gaussian-data
Abbildung 1: Clusteranalyse[9]  (Autor: Chire Linzenz: CC BY-SA)

Im folgenden Video sind weitere Informationen  zum Thema Methoden  beziehungsweise Aufgabentypen des Data Mining  mit dazugehörigen Beispielen zu finden:

Fazit

Das Anwendungspotenzial des Data Mining ist vielfältig, da es in unterschiedlichen Bereichen verwendet werden kann. Aber vor allem in der Wirtschaft spielt es eine große Rolle. Mit dem Einsatz der Datenanalyse durch Data Mining können sich Händler besser auf das Kaufverhalten der Kunden anpassen und ihnen ein besseres Einkaufsserlebnis sowohl online als auch im Laden anbieten. Ferner können Banken und Versicherungen die Bonität ihrer Kunden schneller beurteilen.

Nichtsdestotrotz sollte man immer bedenken, dass die Daten nicht immer vollständig oder zum Teil fehlerhaft sein können, was zu verfälschten Resultaten führt. Somit ist die Qualität der Daten ausschlaggebend für aussagekräftige Ergebnisse.

 


Quellen:

1 Computerwoche (2015): Was ist bei Predictiv Analytics? Online unter: https://www.tecchannel.de/a/was-ist-was-bei-predictive-analytics,3199559,2 [Abruf am 25.01.2020]

2 Dürr, Holger (2004): Anwendungen des Data Mining in der Praxis. Online unter: http://www.mathematik.uni-ulm.de/sai/ws03/dm/arbeit/duerr.pdf [Abruf am 25.01.2020]

3 Entwickler.de (2014): Data Mining: typische Verfahren und Praxisbeispiele. Online unter: https://entwickler.de/online/datenbanken/data-mining-typische-verfahren-und-praxisbeispiele-115010.html [Abruf am 25.01.2020]

4 Enzyklopädie der Wirtschaftsinformatik Online – Lexikon (2019): Data Mining. Online unter:  https://www.enzyklopaedie-der-wirtschaftsinformatik.de/wi-enzyklopaedie/lexikon/daten-wissen/Business-Intelligence/Analytische-Informationssysteme–Methoden-der-/Data-Mining/index.html [Abruf am 25.01.2020]

5 Goodreads (2020): Signal Quotes. Online unter: https://www.goodreads.com/work/quotes/45158439-signal-understanding-what-matters-in-a-world-of-noise [Abruf am 30.01.2020]

6 MSO Digital (2019): Data Mining. Online unter: https://www.mso-digital.de/wiki/data-mining/ [Abruf am 25.01.2020]

7 Novustat (2019): Data Mining Methoden – ein verständlicher Überblick über die wichtigsten Verfahren. Online unter: https://novustat.com/statistik-blog/data-mining-methoden-ueberblick.html [Abruf am 25.01.2020]

8 Ordix AG (o. J.): Data Mining in der Praxis (Teil I). Online unter: https://www.ordix.de/ordix-news-archiv/1-2017/data-mining-in-der-praxis-teil-i-was-ist-data-mining.html [Abruf am 25.01.2020]

9 Wikipedia commons (2016): EM-Gausian-data.svg. Online unter: https://commons.wikimedia.org/wiki/File:EM-Gaussian-data.svg [Abruf am 31.01.2020]


Dieser Beitrag ist im Rahmen der Lehrveranstaltung Content Management im Wintersemester 2019/20 bei Andre Kreutzmann (und Monika Steinberg) entstanden.

SneakPeak Bachelor: IT-Kompetenzen analysieren und klassifizieren

WebLab HsH: Bachelorabiet von Matthias Olbrisch, 2019

In seiner Bachelorarbeit mit dem Titel “Analyse und Klassifikation der hannoverschen IT Kompetenzen in einer variablen Datenbasis” schreibt Matthias Olbrisch (2019) in seinem Abstrakt:

“Die allgemeine Digitalisierung und besonders die IT-Branche in Hannover, stellen Arbeitgeber*innen vor große Herausforderungen. Berufsbezeichnungen im IT-Sektor zeichnen sich im Gegensatz zu klassischen Berufsfeldern nicht dadurch aus, dass sie vereinheitlicht sind. Unterschiedlichste Berufsbezeichnungen verlangen oftmals identische Kompetenzen. Die Kompetenzen und Fähigkeiten der Arbeitnehmer*innen stehen ebenso immer mehr im Fokus der Arbeitgeber*innen, wie die Bereitschaft der permanenten Weiterbildung.

Zielgebend der vorliegenden Abschlussarbeit ist eine Datenbasis zu liefern, die den Anspruch hat, die bereits beschriebenen Herausforderungen zu analysieren und zu klassifizieren. Zunächst ist daher eine Klassifikation, der auf dem hannoverschen Jobmarkt gesuchten IT-Kompetenzen, zu erstellen. Vorbereitend wird eine Marktanalyse angefertigt, die sowohl Jobsuchmaschinen auf ihre Kompetenzorientierung als auch IT-Kompetenzklassifikationen untersucht.

Die erstellte Klassifikation bildet anschließend die Grundlage für das Kompetenzmatching zwischen Klassifikation und den Kompetenzen, die hannoversche IT-Studierende erlernen, um zu verdeutlichen, in welchen Kompetenzen Weiterbildungsbedarf besteht. Die entstandene Datenbasis wird in einer MySQL Datenbank präsentiert, um eine möglichst flexible Verwendung und Weiterentwicklung des Datenbestands zu ermöglichen.”

Die Bachelorarbeit von Matthias ist Teil unseres Forschungsprojekts nITo (Nutzerzentrierte IT-Kompetenzoptimierung). Sie wurde vorbildlich über SerWisS veröffentlicht und ist als Volltext zu finden unter:

https://doi.org/10.25968/opus-1562

Videos rundum IM: Das Client-Server-Modell

WebLab HsH: Client-Server-Modell

Das Client-Server-Modell

Autor: Kirill Prokopov

Inhalt:

In der Animation erkläre ich die Rollen von Client und Server. Ebenso wird die Kommunikation zwischen beiden Geräten grob erläutert.

Software:

Verwendet habe ich hierzu die Software „Blender“ (für Animationen, das Compositing und Videoschnitt) und den freien Software Synthesizer „Synth1“ für das Einspielen von Audio.

Die „Hauptdarsteller“ sind dabei Piktogramme von Client und Server und animierte Textelemente, die deren Funktion erklären und verdeutlichen. Die Piktogramme und die Texte liegen auf verschiedenen Ebenen und sind somit im Compositing von „Blender“ separat mit Effekten animierbar.

Realisiert im Compositing sind die Unschärfe- und Helligkeitsanimationen der Piktogramme sowie die Farbwechselanimation des Hintergrundverlaufs. Dies erfolgt simultan zu den erklärenden Texten und deren Keyframeanimationen. Ich setzte Compositing und Ebenen vor allem ein, damit die Rechenzeit pro Bild in einem vertretbaren Rahmen von 15 Sekunden pro Bild bleibt. Ohne Compositing und Ebenen wären es ca. 2 Minuten pro Bild gewesen, was bei knapp 1500 Bildern nicht so schön gewesen wäre.

 Ablauf in Blender:

  • Programm berechnet die Ebene mit den Piktogrammen
  • Programm berechnet die Ebene mit den Texten
  • im Compositing wird der Hintergrundverlauf hinzugefügt und dessen Farbe nach Position in der Animation angepasst
  • über den Hintergrund wird die Ebene mit den Piktogrammen gelegt und je nach Position in der Animation Unschärfe und Helligkeit verändert
  • darüber wird letztendlich die Ebene mit den Texten gelegt und das Endergebnis als Bild abgespeichert
  • dies geschieht Bild für Bild bis die Animation (1481 Bilder) abgearbeitet und alle Einzelbilder abgespeichert sind
  • Titel und Nachspann sind separate Animationen, die ebenfalls im Programm berechnet werden und Einzelbilder ausgeben
  • danach Erzeugung einer kompletten Testanimation ohne Ton im Videoschnittbereich um in Synth1 Synthesizereinstellungen vornehmen zu können.

 Ablauf Synth1:

  • Auswahl einer Synthesizervoreinstellung, die zur Animation passt (nicht langweilig, aber auch nicht zu dominant) und kleinere Anpassungen an der Voreinstellung
  • grobes Einspielen des Synthesizers passend zur Animation als MIDI-Datei, dann kleinere Anpassungen an der MIDI-Datei um das Timing zu verbessern und letztendliche Ausgabe als WAV-Datei

Endschnitt in Blender:

  • hinzufügen der Einzelbilder von Titel, Animation und Nachspann zu Videospuren
  • hinzufügen der WAV-Datei zur Audiospur
  • Ausgabe der kompletten Animation als MP4-Datei.

Das ist meine Animation zum Thema “Das Client-Server-Modell”

Storyboard

Im Studiengang Informationsmanagement an der Hochschule Hannover sind im Rahmen des Kurses Entwicklung von Multimediasystemen I (Wintersemester 2017/18, Prof. Dr.-Ing. Steinberg) einige sehr gute Videos rundum das Studium Informationsmanagement und das studentische Leben an der Expo Plaza in Hannover entstanden. Dabei wurden unterschiedliche, klassische Techniken wie z.B. Erklärvideo, Legetechnik oder Stopmotion verwendet.

Die besten Videos stellen wir euch hier nach und nach vor.

SneakPeak Bachelor: Kochkurs nach Scrum-Prinzip

WebLab HsH: Scrum-Kochkurs

Das Vermitteln von agilen Arbeitsmethoden ist für viele Menschen zwar interessant, jedoch sind Vorträge über solche Themen oftmals monoton und reizlos. Die Agile Kitchen GmbH hat sich einen individuellen Weg ausgedacht, um diese agilen Methoden auf unterhaltsame Weise zu vermitteln. Sie haben einen Kochkurs entwickelt, der nach dem Scrum-Prinzip funktioniert. Durch die metaphorische und praktische Anwendung lernt der Nutzer nach dem Learning-by-Doing-Prinzip.

Sowohl die Mitarbeiter eines Unternehmens, als auch Einzelpersonen, die sich privat weiterbilden möchten, können diesen Kurs als Fortbildungsmaßnahme besuchen.

Das Learning-by-Doing-Prinzip ist eine effektive Art zu lernen. Diese Methode setzt darauf, dass direkt Erfahrungen gesammelt werden können und bewusst aus Fehlern gelernt werden kann.

Das Angebot des agilen Kochens ist individuell anpassbar. Es werden vier verschiedene Kurse offeriert, welche je nach Zielgruppe gebucht werden können.

Alle Schritte von Scrum werden hierbei erklärt und anhand einer Metapher dargestellt. Nach dem Start werden die Teilnehmer in Kochteams aufgeteilt. Kurz darauf beginnt der Prozess bei dem bspw. einWarenkorb den Product Backlog bildet.

Hier geht’s zum Scrum-Kochkurs: https://www.wuv.de/karriere/dieser_kochkurs_vermittelt_wie_scrum_funktioniert

Dieser Artikel wurde zur Bachelorarbeit “Anwendbarkeit der Prinzipien von Neue Arbeit in mittelständischen Unternehmen” von Ivo Fehn verfasst.

Wenn Ihr mehr zum Thema New Work und KMUs lesen möchtet findet Ihr die gesamte Bachelorarbeit von Ivo hier als pdf-Datei.

Progressive Web Apps für IM: Informationsmanagement-Info

WebLab Hsh: PWA IM-Info

Informationsmanagement-Info als PWA

Autoren: Laili Ghods, Cemre Toppuz und Ogulcan Aktas

PWA: Informationsmanagment – Info

Quellcode

Ziel:

Unsere PWA soll einige allgemeine Informationen über unseren Studiengang vorstellen. Dabei haben wir uns die Texte von der offiziellen Webseite des Studiengangs genommen: https://im.f3.hs-hannover.de/studium/

Anforderungen

Die Progressive Web App soll folgende Anforderungen (Use-Cases) erfüllen:

  1. Navigation:
    • Anforderung: Navigation
    • Beschreibung: Dem Nutzer soll es möglich sein, durch die Applikation zu navigieren. Dabei sollen Links für die einzelnen Ansichten zur Verfügung stehen.
    • Ziel: Übersichtlich verteilter Content
    • Akteure: Systemadministratoren, Informationsmanager
    • Detailbeschreibung: Die Navigation soll alle Ansichten der Webseite erreichbar machen. Vor allem soll dem Nutzer klar sein, welche Funktion die Links der Navigation haben.
    • Mockup:

       2. Progressive Web App

    • Anforderung: Progressive Web App
    • Beschreibung: Die Applikation soll eine Progressive Web App sein und demnach alle üblichen Anforderungen dafür erfüllen.
    • Ziel: Gute User Experience
    • Akteure:  Systemadministratoren, Informationsmanager
    • Detailbeschreibung:
      Quelle: https://developers.google.com/web/progressive-web-apps/checklist

      • Alle App Urls laden auch wenn man offline ist
      • Metadata sind so gesetzt, dass man die App zum Home-Screen hinzufügen kann
      • Jede Seite hat eine gültige URL
    • Mockup:

        3. Single Page Applikation

    • Anforderung: Single Page Applikation
    • Beschreibung: Die Applikation soll als Single Page Applikation umgesetzt werden.
    • Ziel: Bessere User Experience, schnellere Ansicht der einzelnen Seiten
    • Akteure: Systemadministratoren, Informationsmanager
    • Detailbeschreibung: Die Seite soll nur einmal geladen werden vom Browser. Daraufhin soll der komplette Content ohne neuladen der Seite erreichbar sein. Klickt man auf die Navigation, wird im Content Bereich der Seiteninhalt angezeigt, ohne das die komplette Seite neu lädt.
    • Mockup:  n/a

Implementierung

1. React App erstellen

Zuerst galt es die React App zu erstellen. Dafür haben wir ein nützliches Tool benutzt: https://github.com/facebook/create-react-app

create-react-app erlaubt es mit einigen wenigen Kommandozeilen eine React App zu erstellen und zu deployen.

Mit dem Tool konnten wir die App mit folgenden Befehl generieren:

Daraus entsteht dann folgende Dateistruktur und App.js:

2. Navigation einbauen (react-router-dom)

Um die Navigation in React zu gewährleisten, haben wir uns für ein weiteres nützliches Tool entschieden: react-router-dom (https://github.com/ReactTraining/react-router/tree/master/packages/react-router-dom)

Der react-router-dom bietet eine Vielzahl an Möglichkeiten an die Navigation so umzusetzen, dass der Code sauber bleibt und die Applikation eine Single-Page-Applikation bleibt. (Beim Aufruf der Unterseiten wird nicht die komplette Seite neu geladen.) Nach Implementation der Navigation mit Hilfe des Tools ergibt sich folgende index.js:

3. Seiteninhalte/Komponenten erstellen

Wir wollen die Unterseiten Inhalt, Struktur, Zeitplan und Praxisphasen von https://im.f3.hs-hannover.de/studium/ in der PWA darstellen. Dafür haben wir jeweils eine JavaScript Datei erstellt. Daraufhin wurden sie in die index.js importiert und in die Navigation eingebunden (siehe Punkt 2 screenshot). Hier als Beispiel die inhalt.js:

Dies wurde analog für die anderen drei Seiten ebenfalls umgesetzt.

4. Aus der React App eine PWA generieren

Als wir die React Applikation soweit fertig hatten, galt es als nächstes daraus auch eine PWA zu generieren. Dafür nutzen wir das Chrome Tool Lighthous – Audits (https://developers.google.com/web/tools/lighthouse/)

Das Tool kann Webseiten darauf prüfen, ob diese PWA geeignet sind. Die Ergebnisse unseres ersten Tests waren wie folgt:

Als wir online recherchiert haben, sind wir auf folgende Anleitung gestoßen:

https://dzone.com/articles/a-step-by-step-tutorial-for-developing-a-progressi

Die Anleitung beschreibt Schritt für Schritt, wie man aus einer react Applikation eine PWA erstellt.

Damit die Seite auch funktionieren kann, wenn der Nutzer offline ist (welches eine Voraussetzung für PWA’s ist), mussten wir einen ServiceWorker registrieren. Dafür haben wir eine worker.js Datei erstellt:

Und die index.html angepasst, sodass die App prüft, ob der genutzte Browser einen ServiceWorker unterstützt:

Natürlich muss auch der ServiceWorker noch in der index.js registriert werden:

Als nächstes haben wir die Splash-Icons hinzugefügt und Anpassung an der manifest.json durchgeführt. Dadurch kann der Nutzer die Webseite als App herunterladen und offline nutzen. Die gesetzten Icons werden dann als Verknüpfungssymbol genutzt:

Nach den Anpassungen gab uns der Test von Lighthouse Audits folgendes Ergebnis:

5. Deployment

Da unsere PWA nun startklar war, mussten wir diese nur noch deployen. Dafür reichte ein einzelner Befehl in der Kommandokonsole:

Damit wurde der Ordner “build” generiert, welcher auf den Produktionsserver (unser webspace) hochgeladen werden konnte.

Link zur Applikation:

http://ogulcanaktas.wp.hs-hannover.de

Im Studiengang Informationsmanagement an der Hochschule Hannover sind im Rahmen des Kurses Entwicklung von Multimediasystemen I (Wintersemester 2018/19, Prof. Dr.-Ing. Steinberg, Viktor Eisenstadt) einige gute Progressive Web Apps (PWA) mithilfe des JavaScript-Frameworks ReactJS entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript.

Die besten PWAs stellen wir euch hier in den nächsten Wochen nach und nach vor.

Progressive Web Apps für IM: Interaktiver Stundenplan

Interaktiver Stundenplan

Autoren: Hozan Hassan, Frederik Pusch, Valentin Griese, Marcel Hemmer und Lukas Fischer

PWA: Interaktiver Stundenplan

Quellcode

Idee/Zielsetzung:

Die Progressive Web App (PWA) “Interaktiver Stundenplan” zum Studiengang Informationsmanagement bietet eineÜbers icht über aller Kurse des BIM unterteilt in die jeweiligen Semester. Die Kurse sollen einfach per Drag and Drop in einen Stundenplan gezogen werden.

Umsetzung

HTML und CSS

Der Stundenplan und die Liste der Fächer sind mit HTML und CSS umgesetzt.

Dabei wird bei der Strukturierung der Semester und Kurse mit einer Liste ausgeführt. Mit dem <details>-Tag können Seiteninhalte, in dem Fall die Tabelle mit den Fächern, versteckt werden.

index.html

<details>
    <summary>1. Semester</summary>
    <ul class="auswahl">
        <li id="0">Informationsstrukturen</li><br/>
        <li id="64">Grundlagen der Erschließung</li><br/>
        <li id="65">Relationale Datenbanken</li><br/>
        <li id="66">Grundlegende WWW-Techniken</li><br/>
        <li id="67">Grundlagen der Statistik</li><br/>
        <li id="1">Nutzerforschung 1 - Grundlagen</li><br/>
        <li id="2">Angewandte Kommunikation 1</li><br/>
        <li id="3">Wissenschaftliche Arbeitstechniken</li><br/>
        <li id="4">Grundlagen der Informatik</li><br/>
        <li id="5">Grundlagen der Mathematik</li><br/>
        <li id="6">Grundlagen der Informatik und Mathematik</li><br/>
    </ul>
</details>

Der Stundenplan an sich wird ebenfalls mit einer simplen Tabelle realisiert. Die Felder, in denen später ein Fach reingezogen werden kann, bleiben einfach leer.

index.html

<table>
    <col style="width:5%">
    <col style="width:19%">
    <col style="width:19%">
    <col style="width:19%">
    <col style="width:19%">
    <tr>
        <th class="zeit" style="text-align:center">Zeit</th>
        <th style="text-align:center">Montag</th>
        <th style="text-align:center">Dienstag</th>
        <th style="text-align:center">Mittwoch</th>
        <th style="text-align:center">Donnerstag</th>
        <th style="text-align:center">Freitag</th>
    </tr>
    <tr>
        <td class="zeit">08:00<br/>-09:30</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
    </tr>
    <tr>
        <td class="zeit">09:30<br/>-11:00</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
    </tr>
    <tr>
        <td class="zeit">11:00<br/>-12:30</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
    </tr>
    <tr>
        <td class="zeit">12:30<br/>-14:00</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
    </tr>
    <tr>
        <td class="zeit">14:00<br/>-15:30</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
    </tr>
    <tr>
        <td class="zeit">15:30<br/>-17:00</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
    </tr>
    <tr>
        <td class="zeit">17:00<br/>-18:30</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
    </tr>
</table>

Framework

Die PWA nutzt die JavaScript-Bibliothek JQuery UI, die die Drag and Drop Funktion sowie die Touch-Bedienung am Stundenplan umsetzt.

Drag and Drop

Erlaubt das Ziehen der Fächer in den Stundenplan.

Funktion.js:

$(function () {
    $("#div_drag li").draggable(
    {
        appendTo: "body",
        helper: "clone",
    });
    startDrop($("#div_drop table td"));
    function startDrop($elements) {
        $elements.droppable({
                hoverClass: "ui-drop-hover",
                over: function (event, ui) {
                    var $this = $(this);
                },
                drop: function (event, ui) {
                    var $this = $(this);
                    $("<span></span>").text(ui.draggable.text()).appendTo(this);
                    $(".auswahl").find(":contains('" + ui.draggable.text() + "')");
                }
        });
    }
});

Optimierung für Touchscreens

Damit die PWA responsiv wird, z.B. auch auf Handys läuft und die Drag and Drop-Funktion auch auf Touchscreens funktioniert, gibt es die Funktion jquery.ui.touch-punch.min. Diese Funktion stammt von touchpunch.

jquery.ui.touch-punch.min

!function(a){function f(a,b){
	if(!(a.originalEvent.touches.length>1)){
		a.preventDefault();
		var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");
		d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)
	}
}
if(a.support.touch="ontouchend"in document,a.support.touch){
	var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){
		var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){
			e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){
				var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")
			}),c.call(b)},b._mouseDestroy=function(){
				var b=this;b.element.unbind({
					touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")
				}),d.call(b)}}}(jQuery);

Buttons

Die Funktionen der Buttons wurden mit JavaScript umgesetzt.

Fächer

Blendet die Liste mit den Fächern aus.

<script>                                                       
    $('#btn').click(function(){$('#div_drag').toggle();});
</script>

Zeit

Blendet die Zeit-Spalte aus.

<script>
    $('#btn_zeit').click(function() {$('.zeit').toggle();}); 
</script>

Zurücksetzten

Lädt das Fenster einfach neu und setzt es einfach auf den Ausgangszustand zurück

Ergebnis und Funktionen

Die Oberfläche ist simpel gehalten und kann in drei Teile geteilt werden. Auf der linken Seite die Kurse, welche nach Semester sortiert sind, auf der anderen Seite der Stundenplan. Über den Hauptelementen sind drei Buttons angeordnet.

Semester & Kurse

Auf der linken Seite stehen die Semester, die per Klick eine Liste mit den Kursen aufklappen lässt. Die danach gezeigten Kurse können dann per Drag and Drop in den Stundenplan gezogen werden.

Stundenplan

Im Plan sind die wesentlichen Merkmale eines Stundenplanes eingepflegt. Wochentage (Spalten), von Montag bis Freitag, und Zeiten (Reihen), in 90 Minuten Phasen, realisieren den Aufbau. Jede zweite Reihe ist dabei grau eingefärbt.

Buttons

Über dem Stundenplan befinden sich drei Buttons: „Fächer“, „Zeit“ und „Zurücksetzten“.

Um die Ansicht übersichtlicher zu machen, kann man mit den Buttons Fächer und Zeit, Teile des Stundenplanes ausblenden. Der Zeit-Button entfernt oder fügt die Zeitleiste links am Plan hinzu.  Per Klick auf „Fächer“ geschieht dasselbe mit den Listen der Kurse. Der dritte Button „zurücksetzten“ löscht alle Einträge im Stundenplan.

 

Im Studiengang Informationsmanagement an der Hochschule Hannover sind im Rahmen des Kurses Entwicklung von Multimediasystemen I (Wintersemester 2018/19, Prof. Dr.-Ing. Steinberg, Viktor Eisenstadt) einige gute Progressive Web Apps (PWA) mithilfe des JavaScript-Frameworks ReactJS entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript.

Die besten PWAs stellen wir euch hier in den nächsten Wochen nach und nach vor.

 

Progressive Web Apps für IM: Geschichte des Studiengangs Informationsmanagement

Geschichte des Studiengangs Informationsmanagement

Autoren: Alina Balandis,  Aline Brun, Rebecca Poets und Leonie Weber

PWA: Geschichte des Studiengangs Informationsmanagement

Quellcode

Idee/Zielsetzung

Die Progressive Web App (PWA) soll Interessierten die Geschichte des Studiengangs Informationsmanagement an der Hochschule Hannover näher bringen. Dabei kann zwischen drei Menüpunkten ausgewählt werden. Neben einem virtuellen Rundgang wird ebenfalls durch einen Zeitstrahl sowie Literatur über das Informationsmanagment an der Hochschule Hannover informiert.

Dabei wird eine Slideshow zur Hilfe genommen, die die Historie von der Gründung bis zur Entwicklung der heutigen Kompetenzfelder aufzeigt. Diese wird zur Illustration der Chronologie durch einen Zeitstrahl unterstützend visualisiert.

Arbeitswege

Entwurf/MockUp

Nach der Entwicklung einer grundlegenden Idee bestand der nächste Schritt darin, einige erste skizzenhafte Entwürfe und daraufhin MockUps zu einer ersten Visualisierung der Idee zu erstellen. Im Vorfeld musste überlegt werden, welche Themen und Bereiche in die PWA aufgenommen werden sollen. Die verwendeten Bilder stammen aus dem Filmarchiv Hannover sowie von der Hochschulwebsite und aus eigenen Fotos. Weiteres Bildmaterial wurde u.a. mithilfe des Adobe Illustrators erstellt. Die Bilder dienen dazu, die einzelnen Themen in der Slideshow zu veranschaulichen. Dazu wurden Informationen aus vielen verschiedenen Quellen verarbeitet.

Grundgerüst

Das Grundgerüst der PWA ist mit HTML, PHP und CSS entstanden. Dafür wurde zunächst eine index.html-Datei erzeugt, die als Basis aller weiteren Operationen diente. Sie besteht aus einem Head- und einem Bodypart. Im Head befindet sich der Titel, die Verlinkung zum Stylesheet und Metadaten, wie beispielsweise ein Hinweis auf die Autoren, das Datum und themenbezogene Schlagwörter. Diese machen es theoretisch möglich, dass die Website mit den passenden Suchwörtern von einer Suchmaschine erfasst werden kann.

    <!doctype html>
<html>
<!--Head-->
<head>
    <title>BIM Geschichte</title>
    <link rel="stylesheet" type="text/css" href="css/StyleSheetalt.css">
    <meta charset="utf-8">
    <meta name="description" content="BIM Geschichte">
    <meta name="author" content="Alina Balandis, Aline Brun, Monika Kolano, Rebecca Poets, Leonie Weber">
    <meta name="date" content="2018-11-17">
    <meta name="keywords" content="virtueller Rundgang, Informationsmanagement, BIM, Hochschule Hannover">
    <link rel="manifest" href="manifest.json"> <!-- Manifest Datei einfügen-->
    <link rel="serviceworker" href="sw.js"> <!-- Service Worker-->
    <script src="js/react.production.min.js"></script> <!--React Frameworks laden -->
    <script src="js/react-dom.production.min.js"></script>
    <script src="js/babel.min.js"></script>
    <script type="text/babel" src="js/App.js"></script>
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" type="text/css" charset="UTF-8" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.css"/>
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick-theme.min.css"/>

Der Body beinhaltet den Header mit ausklappbarem Menü zur Navigation dessen Funktionalität mit JavaScript erstellt wurde. Unter dem Header befindet sich der mit div-Containern gestaltete Hauptteil der Website, in dem sich u.a. die Slideshow befindet. Ganz unten gibt es den Footer, der einen Datumshinweis sowie einen Impressumslink beinhaltet.

Styling mit CSS

Das mit CSS generierte Stylesheet dient dem Design der Website. Die index.html-Datei enthält nur die HTML-Angaben für ein grobes Layout, welche im Stylesheet genauer definiert, angepasst und gestaltet werden.

Einsatz von Javascript

Die PWA besteht aus zwei Grundbestandteilen, die mit JavaScript realisiert wurden. Eine Slideshow, die den User visuell auf eine geschichtliche Reise rund um den Studiengang Informationsmanagement führt und ein Zeitstrahl mit den wichtigsten Eckdaten.

Die Slideshow ist in einem DIV-Container realisiert, der sich nach dem Klick auf einen Button öffnet und sich über die Website legt. Die Bilder im Slider können jeweils mit einen von zwei Pfeilbuttons an den Seiten angesehen werden. Mit dem Klick auf das “x” wird die Slideshow geschlossen.

<div class="slideshow-container" >
    <button id='display' onclick="openModal();currentSlide(1)">Virtueller Rundgang</button>
<div id="myModal" class="modal">
  
  <div class="modal-content">
  <p class="close" onclick="closeModal()">x</span>

Der Zeitstrahl wird in der App.js gerendert. Der Zeitstrahl öffnet, nachdem auf den Button geklickt wurde. Nun kann man den Zeitstrahl wieder zuklappen, in dem man auf die Jahreszahlen klickt. Damit diese Toggle-Funktion funktioniert, wurde folgender Code implementiert:

class Toggle2 extends React.Component {
  constructor(props) {
    super(props);
    this.state = {isShow: false};
    this.handleClick = this.handleClick.bind(this);
  }
    
  handleClick() {
    this.setState(function(prevState) {
      return {isShow: !prevState.isShow};
    });
  }
class Toggle1 extends React.Component {
  constructor(props) {
    super(props);
    this.state = {isShow: false};
    this.handleClick = this.handleClick.bind(this);
  }
    
  handleClick() {
    this.setState(function(prevState) {
      return {isShow: !prevState.isShow};
    });
  }

  render() {
    return (
      <div id="Zeitstrahl">
        <button className='control' id="display" onClick={this.handleClick}>Zeitstrahl</button>
        <div className={contentClass(this.state.isShow)}>

Mithilfe der Listenfunktion wurden die Inhalte des Zeitstrahls eingebunden und anschließend passend gestylt. Die Inhalte werden jeweils mit der “timeline-badge” voneinander abgegrenzt. Mit :before und :after wird im Stylesheet festgelegt, wie sich der Zeitstrahl nach dem Klicken verhält.

.timeline > li > .timeline-badge {
  color: #fff;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 1em;
  text-align: center;
  position: absolute;
  top: 16px;
  left: 50%;
  margin-left: -25px;
  background-color: #999999;
  z-index: 100;
  border-top-right-radius: 50%;
  border-top-left-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}
.timeline > li.timeline-inverted > .timeline-panel {
  float: right;
  
}
.timeline > li.timeline-inverted > .timeline-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.timeline > li.timeline-inverted > .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.timeline {
  list-style: none;
  padding: 20px 0 20px;
  position: relative;
}

.timeline:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 3px;
  background-color: #eeeeee;
  left: 50%;
  margin-left: -1.5px;
}

.timeline > li {
  margin-bottom: 20px;
  position: relative;
}
.timeline > li:before,
.timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}

Im Studiengang Informationsmanagement an der Hochschule Hannover sind im Rahmen des Kurses Entwicklung von Multimediasystemen I (Wintersemester 2018/19, Prof. Dr.-Ing. Steinberg, Viktor Eisenstadt) einige gute Progressive Web Apps (PWA) mithilfe des JavaScript-Frameworks ReactJS entstanden. Verwendete Techniken sind HTML5, CSS3 und JavaScript.

Die besten PWAs stellen wir euch hier in den nächsten Wochen nach und nach vor.