Managing Tech

Managing Technology, from the trenches

Infos

Im privaten Blog von Jan Miczaika geht es um die Arbeit mit Technologien, in Teams, und das insbesondere im Startup-Umfeld. Kontakt?
    jan -at- hitflip.de oder bei XING

Telefonica o2 war so freundlich mich als Redner zum 4. Hosting Event einzuladen. Neben den Problemen vom zweiten Referenten (StudiVZ) wirken unsere Probleme doch eine Größenordnung kleiner. Was aber interessant ist: wir arbeiten mit ziemlich identischen Techniken. Stichworte: Queueing, Sharding, Domains.

Wie versprochen hier meine Folien zum Thema “Ein technischer Blick hinter die Kulissen eines Internet-Marktplatzes”.

Sobald ich meine Gedanken wieder etwas sortieren kann (02:00 Bettchen, 08:25 Abflug) werde ich noch ein paar zusammenfassende Gedanken dazu posten.

Gerade was neues erlebt: Bei unserem Kreditkarten-Processor sind gestern Abend gegen 18:00 die Antwortzeiten auf über 6 Sekunden hoch. Die Folge: timeouts und abgebrochene Zahlungen per Kreditkarte. Der technische Kundendienst bei denen: nicht mehr besetzt. Heute morgen gegen 9 Uhr dann die Meldung: ja, sie haben ein Problem, wird voraussichtlich bis Mittag andauern.

Wir haben für die ganze Nacht bis jetzt Kreditkarten bei uns ausgeschaltet. Wie hoch der Schaden ist, ist schwer zu sagen. Die meisten Kunden haben hoffentlich Lastschrift, Paypal oder ClickandBuy gewählt.

Was wir daraus lernen:

  • Eigentlich sollten wir zwei Kreditkartenprocessor anbinden, damit so etwas nicht passiert. Das ist ein SPOF und wäre z.B. in der Weihnachtszeit ziemlich unangenehm.
  • Die Möglichkeit, einzelne Zahlungsmethoden auszuschalten, hat gut funktioniert. Das muss aber die technische Bereitschaft machen. Eventuell sollte das über ein Admin-Interface möglich sein? Schliesslich bekommen die Leute im Kundendienst so etwas als erste mit.
  • 24h Notfall-Kundendienst würde man bei einem börsennotierten Unternehmen erwarten. Gibt es aber nicht. Eventuell wechseln? Oder sich die Handynummer des CTO geben lassen…

Als kleine Anregung für andere e-Commerce Unternehmen.

HiPPODa ich selber im Moment nicht zum bloggen komme, hier ein Verweis auf einen exzellenten Beitrag in der KDD 2007 zum Thema “Practical Guide to Controlled Experiments on the Web: Listen to Your Customers not to the HiPPO”. Wer an dem Themenebereich A/B Testing, Multivariate Testing, Optimierung der Conversion Rate mittels Tests usw. interessiert ist, sollte das Video von Ron Kohavi, Microsoft Research, gucken. Die 22 Minuten lohnen sich. Einige Highlights:

Zum Video
Zum Paper, den Folien usw.

Einige gute Stellen im Video (komplett gucken lohnt aber auch):

  • 01:00 Einführung in das Thema, Erfahrungen bei Amazon
  • 3:00 Footcare reduziert mit einem Gutscheinfeld seine Conversion Rate um 90%
  • 04:00 Microsoft reduziert sein Website-Feedback um 80%
  • 07:15 Je weniger Daten man hat, um so mehr muss man schätzen. Da Menschen schlecht schätzen, sind mehr Daten immer besser
  • 08:00 Was ist eigentlich mein Ziel, wie messe ich den Erfolg? Overall Evaluation Criteria
  • 09:00-19:00 Arbeiten mit Statistiken
  • 20:00 Wie baue ich in meinem Unternehmen eine “Data-driven culture” auf?
  • 21:00 Zusammenfassung (ich würde aber trotzdem zumindest die ersten 10 Minuten und ab 20:00 gucken)

Viel Spaß damit!

P.S. Warum kill the HiPPO? HiPPO steht für Highest Paid Person’s Opinion. Die gewinnt immer, wenn es keine verlässlichen Daten gibt.

In den letzten Monaten ist die Frontend-Optimierung von Webseiten in Mode geraten. Der Hintergrund ist ganz einfach: im Regelfall entstehen 2/3 der Ladezeit einer Seite nicht bei der Generierung auf dem Server, sondern während der Browser die Daten lädt und rendert. Und da schnellere Seiten = zufriedenere Kunden, lohnt es sich hier auch hier mal zu graben und nicht in den Untiefen der Serverkonfiguration. Zum Thema Frontend-Optimierung gibt es Bücher, hilfreiche Software von Yahoo! und Google oder auch die Dr. Web Quellensammlung.

CSS Sprites auf HitmeisterWir haben uns dran gemacht nach und nach alle Empfehlungen aus diesen Büchern umzusetzen, und erreichen zumindest auf Hitmeister generell zumindest gute Ergebnisse. Unsere Ladezeiten auf dem Server sind auch mit 600-700ms ganz ok, da wäre es vergleichsweise teuer noch viel herauszuholen.

Index Loadtime Hitmeister
Als eine der letzten Baustellen war das Thema CSS Sprites dran (Beispiel siehe rechts). Eigentlich recht einfach. Man fasst möglichst viele kleine Grafiken in einer Grafik zusammen und spielt mit dem Browser, dass er trotzdem nur an den Stellen anzeigt, wo sie hinsollen. Die Vorteile: viel weniger HTTP-Abfragen. Anstatt jedes Bild einzeln zu holen, braucht der Browser nur einmal mit dem Server sprechen. Gerade bei kleinen Icons ist der HTTP Overhead hoch. Zudem ist die Summe der Bilder oft größer, als wenn man die eines packt, wegen dem Dateikopf usw. Aber das fällt nicht so ins Gewicht. Interessant ist wirklich die Anzahl der Abfragen. Das macht die Seite schneller, insbesondere bei neuen Besuchern, die keinen “warmen” Cache haben. Wir haben übrigens bei der Einführung von CSS Sprites einen merklichen Rückgang in der Anzahl der Abfragen auf unseren Bilderservern feststellen können. Die Auswirkung auf die Ladezeit hängt stark von der Internetverbindung der Kunden ab. Aber mit dem Beispiel rechts ist die Anzahl der Anfragen pro Artikelseite auf Hitmeister um ca. 15% gesunken.

Noch ein Beispiel:
Mehr Icons von Hitmeister
Bei der Implementierung der Sprites haben wir einige Erfahrungen gemacht:

  • Die Ausrede “naja das Bild wird einmal geladen dann ist es im Cache” gilt nicht. Insbesondere für Neukunden soll die Seite schnell sein.
  • Es gibt Grafiken bei denen Sprites schwierig sind (Verläufe usw.). Erstmal weglassen, 80/20 Regel. Bewertungicons usw. sind quick wins.
  • Man sollte nicht versuchen alle Grafiken auf der Seite in eine Datei zu quetschen. Lieber ein paar getrennte Dateien machen, z.B. eine Pro Seitentyp und eine für Header/Footer. Das erhöht die Übersichtlichkeit und Wartbartkeit.
  • Unbedingt die Sprites ausgebig in verschiedenen Browser/Auflösungskombinationen testen. Insbesondere mit dem IE6 gibt es hier einige Probleme. Wir hatten regelmäßg zerhackte Seiten während der Tests. Oft hilft möglichst einfaches HTML (Manchmal auch Tabellen statt DIVs, für die alten Browser) weiter. Zudem ist es gar nicht schlecht einen einfachen ein/aus Knopf für die Sprites zu haben, wenn doch was schief geht.
  • Man sollte die Icons horizontal kacheln. Spart Speicherplatz im Bild (entgegen unserem Beispiel oben). Mit so großen Flächen haben wir schlechte Erfahrungen gemacht. Lieber Streifen.
  • Wenn man zuviele Bunte Sprites in eine Datei steckt, wird die Farbpalette (und damit die Datei) größer. Dann lieber nach Farben trennen und z.B. keine Photos mit reinnehmen.

Insgesamt sind geschickt eingesetzte CSS Sprites ein ziemlich dankbarer Weg, um nochmal einige hundert Millisekunden Ladezeit bei einer Seite wegzubekommen. Der einzige Nachteil ist, dass die Erstellung und Wartung der Seite etwas mehr Zeit in Anspruch nimmt, da die Sprite-Datei erstellt und gepflegt werden muss. Aber bei high-traffic Seiten lohnt sich das bestimmt.

Als kleiner Nachtrag zu meinem vorherigen Beitrag, ohne weitere Kommentare, hier ein hilfesuchender Ex-Kunde bei frag-einen-anwalt.de:

ich 19 habe betrug bei Hitmeister begangen ich habe accounts erstellt mit erfundenen Daten und scheinkäufe durchgeführt insgesamt beträgt der schaden rund 1500 Euro die Polizei hat bereits eine HD bei mir durchgeführt und einige waren beschlagnahmt.ich bin derzeit Arbeitlos möchte jedoch Ab September eine Schule für Sozialpflege besuchen wofür ich ein Reines Privat führungszeugnis vorlegen muss . Ich bin vorher nie Strafrechtlich in erscheinung Getreten und bin auch Ehrenamtlich im Rettungsdienst Tätig, welche strafe kann mich erwarten.

HD = Hausdurchsuchung. Fett-Markierungen sind von mir. Zu frag-einen-anwalt.de

Unter http://www.hitmeister.de/blog/ werden die gesammelten Mitarbeiter von Hitflip/Hitmeister zu e-Commerce relevanten Themen bloggen. Die ersten zwei Beträge zu Preisvergleichern bzw. Brand PPC sind auch schon online.

Ich werde meine bloggerische Tätigkeit in Zukunft sowohl hier wie auch da entfalten - je nachdem wo es besser reinpasst!

Bei Hitmeister haben wir ja (wie im Artikel zu den Rücklastschriften beschrieben) einige Probleme mit Fraudstern. Wir gehen da sehr rigoros vor, vor kurzem kam es zur zweiten Hausdurchsuchung durch die Polizei bei einem lieben Kunden, der meint mit über 50 Accounts Elektronikartikel bestellen zu müssen, ohne dabei einen Cent in der Tasche zu haben. Aber gut, heute wollte ich mal das 3-D Secure Verfahren etwas beleuchten und warum man es als Händler implementieren sollte.

Chargebacks (Rückbelastungen) sind bei Kreditkarten sehr ärgerlich für den Händler. Der Kunde kann bei CNP (Card Not Present) Transaktionen über das Internet ohne Probleme sagen, er sei für die Buchung nicht verantwortlich und die Zahlung stornieren. Bei Betrugsfällen o.ä. eine gute Sache, nur leider wird dieser Mechanismus von schwarzen Schafen missbraucht. Für den Händler entstehen hohe Kosten. Zum einen die stornierte Transaktion, dann die Gebühr der Kreditkartenfirma für das chargeback (teilweise 10-15 Euro) und nicht zuletzt kommt man, wenn man zu viele Chargebacks hat, bei den Kreditkartenfirmen auf Beobachtungslisten, muss mehr Sicherheiten hinterlegen usw. Jeder Händler möchte also Chargebacks vermeiden.

Die üblichen (Scoring-ähnlichen) Verfahren, wie IP/BIN Check o.ä. sollte eh jeder implementieren bzw. bei seinem Payment-Dienstleister aktivieren, um den gröbsten Missbrauch (russische Kunden mit ägyptischen Kreditkarten usw.) abzufangen.

Als Lösung für Betrüger wurde von MasterCard 3-D Secure entwickelt. Bei Visa nennt sich das ganze Verified by Visa und ist das gleiche in Grün. Mit 3-Ds erhält jeder Kunde eine PIN oder Passphrase, die er zur Bestätigung einer Transaktion auf der Website seiner Bank eingeben muss. Der Kunde wird also vom Händler zu seiner Bank umgeleitet und dann zurück zum Händler.

Erstmal vorneweg: 3-D Secure und Verified by Visa sind ganz schrecklich zu implementieren. Wenn man seinem Entwickler das folgende Prozessdiagramm vorlegt wird dieser vermutlich ernsthaft über eine Karriere als Landwirt nachdenken:
Verified by Visa Prozess
(Quelle: Visa)

Aus 3-DS ergeben sich einige Konsequenzen für alle Beteiligten.

  • Wenn ein Händler 3-DS implementiert, gibt es einen sogenannten liability shift, sprich der Händler ist nicht mehr für Chargebacks verantwortlich, auch wenn der Kunde noch gar nicht 3DS nutzt! Den letzten Satz bitte nochmal lesen. Ein Händler, der jetzt 3-DS implementiert, vermeidet also künftig fast alle Rücklastschriften!
  • Für den Kunden ändert sich erstmal wenig. Es gibt meines Wissens erst einen Kreditkartenherausgeber in Deutschland (AirPlus), der 3-DS an seine Kunden ausgerollt hat. Ansonsten finde ich ja 3-DS von der Usability her nicht so toll (noch eine PIN), aber bisher ist es eh wurscht, wenn keine Bank das unterstützt. Diese Tatsache führt aber auch dazu, dass man die Implementierung von 3-DS nicht wirklich testen kann, weil es keine Kreditkarten gibt! Wir helfen uns hier mit Prepaid-Karten aus Österreich aus, die 3DS unterstützen.
  • I am not a lawyer, aber ich finde in Zukunft wird der Kunde von 3-DS ziemlich gekniffen sein. Er bekommt etwas mehr Sicherheit, kann dafür aber nicht mehr ohne weiteres Chargebacks einreichen, weil er ja seine PIN eingegeben haben soll. Dass 3-D Secure Betrug über z.B. Session-Hijacking nicht verhindert, wird dabei nicht berücksichtigt. Also im Prinzip das gleiche Problem wie bei PINs am Geldautomaten, die laut den Banken unglaublich sicher sind.

Fazit: Für einen Händler, der viel mit Kreditkarten-Chargebacks konfrontiert ist, macht es also durchaus Sinn jetzt schon 3-D Secure zu implementieren, weil die Haftung für Chargebacks größtenteils auf die Banken übergeht. Die Implementierung ist aber wegen der Komplexität der Systeme und den mangelhaften Testmöglichkeiten grausam.

Ein Thema, mit dem ich mich auf Hitmeister viel beschäftige, ist Fraud. Bei mehreren 100.000 Kunden in der Datenbank hat man zwangsläufig auch mit Betrügern und Irren zu tun. Wir bieten die Zahlung per Lastschrift auf eigenes Risiko an und geben damit den Kunden effektiv einen Kurzkredit. Eine zentrale Frage, die wir da bearbeiten, ist wem man wann und bis zu welchem Betrag die Zahlung per Lastschrift erlaubt. Kunden, die kein Geld auf dem Konto haben oder aber die Lastschrift zurückgehen lassen, verursachen bei uns erhebliche wirtschaftliche Schäden.

Gleichzeitig ist es für uns wichtig, möglichst vielen Kunden die Zahlung per Lastschrift zu erlauben. Wenn dem Kunden diese Zahlungsmöglichkeit nicht angezeigt, verdoppelt sich die Abbrecherquote auf der Zahlungsseite. Und das obwohl wir mit Kreditkarte, Paypal, Sofortueberweisung usw. viele andere Methoden anbieten. Die Deutschen lieben Lastschrift (fast so viel wie Rechnung, wie eine interessante Studie im shopbetreiber-blog gezeigt hat), ausblenden kostet also Kunden.

Wer per Lastschrift zahlen kann, wird durch verschiedene Faktoren determiniert:

  • Kundenhinstorie
  • SCHUFA, Creditreform, Bürgel Scores
  • Mikrogeographische Merkmale
  • Zusammensetzung des Warenkorbs
  • usw. (secret sauce)

Mein Kollege Matthias, unser Leiter Kundenservice, meinte er hätte das Gefühl, dass Nachts wesentlich mehr Fraud betrieben wird, als tagsüber. Die Tageszeit könnte also ein Faktor für die Menge an Rücklastschriften sein. Genauso wie der Wochentag, oder auch der Tag im Monat (wenn am Ende des Monats das Geld knapp wird…)

Ich bin mal hergegangen und habe den Fraud im Tages-, Wochen- und Monatsverlauf analysiert. In den Grafiken unten habe ich die Zahlen normalisiert und dabei den Durchschnitt auf 100 gesetzt. Als Datenbasis dienten alle Lastschriften auf Hitmeister bisher. Die genauen Zahlen sind natürlich streng geheim…

Zuerst zum Wochenverlauf: keine wirklich messbaren Auswirkungen. Schwankungen um die 5% im wochenverlauf würde ich als “random noise” ignorieren bzw. nicht als Faktor benutzen.
Rücklastschriften auf Hitmeister im Wochenverlauf
Im Monatsverlauf: am Ende des Monats steigt die Rücklastschriftquote schon an. Ich habe den linearen Trend mal eingezeichnet. Die Varianz zwischen den Tagen ist aber so hoch, dass sich das nicht wirklich als Faktor eignet. Eventuell irgendwann in der Zukunft mal, bei Leuten, mit niedrigen SCHUFA-Scores.
Rücklastschriften auf Hitmeister im Monatsverlauf
Was hingegen interessant ist, ist wie sich der Fraud (also Rücklastschriften) im Tagesverlauf entwickelt.
Rücklastschriften auf Hitmeister im Tagesverlauf
Nach ca. 01:00 Nachts steigt der Fraud massiv an. Zwischen 01:00 und 08:00 Uhr ist die Rücklastschriftenquote teilweise doppelt so hoch wie tagsüber. Diese Information wird sicherlich in die nächste Iteration unseres Fraud-Prevention-Systems einfliessen.

Ich spiele immer wieder mit dem Gedanken, von dem aktuellen regelbasierten System zu einem Bayesschen Filter zu wechseln. Das Grundproblem bei der Bonitätsprüfung ist letztendlich das gleiche wie beim Spam-Management: wie unterscheide ich ham (gute Kunden) von spam (schlechte Kunden). Der Vorteil von einem Bayesschen Filter: das System lernt die Filterregeln von alleine und erkennt Muster und Tendenzen die wir per Hand nicht finden. Sind GMX-Adressen beliebter bei Betrügern? Gibt es bei Vornamen Häufungen? Was kaufen Betrüger gerne? Der Nachteil: das System wird irgendwo zu einer Blackbox, die von uns nur noch begrenzt nachvollziehbare Entscheidungen fällt. Da braucht man Wege um den alpha und beta Fehler zu messen. Ein interessantes Thema, was mich aber immer wieder auch ärgert. Warum bestellen Leute Sachen, die sich nicht bezahlen können? Bei Nahrungsmittel oder Strom meinetwegen, aber muss jemand der Privatinsolvenz angemeldet hat noch eine PS3 kaufen, die er nicht bezahlen kann?

Seit unserem Umzug herrscht bei Hitflip öfters mal ein längerer Stau vor den Toilettenräumen. Unser 220qm-Büro hatte insgesamt 6 Toiletten, das 400qm-Büro nur 2.

GNUPott ProzAls Chef weine ich natürlich der Unmenge an Arbeitszeit nach, die meine Kollegen damit verbringen, zu gucken, ob das Klo frei ist. Als Mitarbeiter bin ich öfters frustriert, wenn ich wieder ewig warten muss. Und als (halb-)Techie ist das natürlich eine spannende Herausforderung.

In den letzten Wochen haben wir uns länger mit dem Problem beschäftigt, wie wir uns die Wartezeit sparen können.

GNUPott Status BildHeraus kam der GNUPott. Der GNUPott besteht aus einem kleinen Kästchen mit einem Atmel Prozessor und zwei Photodioden, per USB-Anschluss an einen Server angeschlossen. Dazu gibt es eine kleine C-Software, die den GNUPott anspricht. Der GNUPott wird alle 15 Sekunden abgefragt und meldet, ob das Licht auf dem Klo an ist oder nicht. Das wird sehr hübsch in unserem Wiki dargestellt (siehe Bild). So kann jeder im Büro mit dem Browser nachgucken ob sich das aufstehen lohnt!

FirePott ScreenshotImmer im Wiki gucken, ob das Klo gerade frei ist, ist natürlich eine Verbesserung aber noch nicht wirklich praktisch. Das muss schneller gehen! Die Entwicklung von Firefox Extensions ist ja eigentlich sehr einfach. Zack wurde abends der FirePott entwickelt. Der FirePott ist ein Firefox-Plugin, der einem immer den aktuellen Klo-Zustand im Firefox-Browser anzeigt.

Als gute Internet-Bürger haben wir das ganze natürlich direkt unter eine GPL-Lizenz gestellt und inklusive Quellcode und Schaltungsdiagrammen veröffentlicht. Vielleicht hilft es ja noch einem Büro weiter!

GNUPott 1
GNUPott 2
GNUPott 3

Internet Marketing Köln 2009

Januar 20th, 2009


Wie jedes Jahr organisieren wir wieder einen kleinen “Stammtisch” zum Thema Internet Marketing. Wobei klein relativ ist, im letzten Jahr kamen über 350 Teilnehmer. Das Konzept bleibt aber gleich: Die Teilnahme ist kostenlos, lediglich eine vorherige Anmeldung ist notwendig. Getränke (Kölsch & Softdrinks) und Fingerfood werden von den Sponsoren des IMK bezahlt. Es gibt keine Vorträge, dafür umso mehr Raum für nette Gespräche.

Zeit: Donnerstag, 04.06.2009, 19h
Ort: RheinEnergie Stadion – 12. Mann, Aachener Str. 999, 50933 Köln

Die kostenlose Anmeldung ist ab dem 30.03.2009 möglich auf der offiziellen Seite des Internet Marketing Köln 2009. Also eventuell schon mal den Termin vormerken! Einige Sponsorenplätze sind auch noch frei.
Die Teilnehmerzahl ist übrigens auf 350 Personen begrenzt und immer sehr schnell ausgebucht.