Gabi und Sascha
Kategorien : Alle | Berlin | Bücher | Fotografie | Java | Linkhalde | Weichware | Verfassung

Habe heute einen kurzen R Benchmark gemacht, bei der ein data.frame mit 7,7 Millionen Zeilen erweitert wird. Dabei habe ich einmal den eingebauten within verwendet und ein anderes mal die Funktion dplyr::mutate.

Der within Code:


    logdata <- within(logdata, {
        YEAR  <- as.numeric(format(logdata$timestamp, "%Y"))
        MONTH <- as.numeric(format(logdata$timestamp, "%m"))
        WEEK  <- as.numeric(format(logdata$timestamp, "%V"))
        DOM   <- as.numeric(format(logdata$timestamp, "%d"))
        DOW   <- ifelse((DOW = as.numeric(format(logdata$timestamp, "%w"))) == 0, 7, DOW)
        HOUR  <- as.numeric(format(logdata$timestamp, "%H"))})

Der dplyr::mutate Code:


    logdata <- logdata %>% mutate(
        YEAR  = as.numeric(format(timestamp, "%Y")),
        MONTH = as.numeric(format(timestamp, "%m")),
        WEEK  = as.numeric(format(timestamp, "%V")),
        DOM   = as.numeric(format(timestamp, "%d")),
        DOW   = ifelse((DOW = as.numeric(format(timestamp, "%w"))) == 0, 7, DOW),
        HOUR  = as.numeric(format(timestamp, "%H")))

Durchschnittliches Laufzeitverhalten nach jeweils 10 Durchgängen:

    mutate: 36s
    within: 31s

Bleibe bei dieser Umwandlung erst einmal bei within.


Hardware: MacBook Pro (Retina 13 Zoll, Anfang 2015); 3,1 GHz Intel Core i7; 16 GB 1867 MHz DDR3
OS: macOS 10.11.6
R: version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
dplyr: version 0.5.0

Leerverkäufe, die; verkaufe etwas das du nicht hast. Gibt es zum Beispiel im Aktien- und Derivatenhandel. Damit wird auf fallende Kurse gewettet. Du verkaufst teuer Aktien oder Optionen die du nicht hast in Erwartung, dass die Preise gefallen sind, wenn du liefern musst - und erst dann kaufst.

Auch im Versandhandel kann es zu Leerverkäufen kommen. Das hat allerdings weniger mit Gewinnstreben zu tun als mehr mit schlechter Datensynchonisierung, ist also ein IT Problem. Leerverkäufe kommen vor wenn der Onlineshop nicht weiss wieviel Artikel einer Art im Warenwirtschaftssystem sind. Der Shop verkauft dann Dinge die es im Lager nicht mehr gibt. Der Händler muss dann üblicherweise die Hosen runter lassen. Entweder in dem er dem Kunden eine Mail schickt und die Situation erklärt und bedauert. Dann kann der Händler Glück haben, dass der Kunde Verständnis hat; oder er kann Pech haben, weil er einen verärgerten Kunden verliert. Oder man kann es ganz anders machen. So wie der Versandhandel Boden, der seine Kunden nicht ernst nimmt und nicht will dass sie wieder kommen.

Was war passiert? Frau hat etwas bei Boden bestellt, für das Kind. Zwei Teile. Keine grosse Sache. Bezahlen per Rechnung. Wenige Minuten nach der Bestellung kam die Bestellbestätigung. Am nächsten Tag dann die nächste sogenannte Transaktionsmail: ihre Bestellung wurde versendet. Und etwas später dann noch: das Packet kommt bald an. Es ist auch angekommen und das Kind hat sich gefreut. Aber dann, oh Schreck, die Entäuschung. Es kam nur die Hälfte der Bestellung an. In dem Briefumschlag - neben einem der Artikel - ein Formschreiben. Man bedauere nicht alles bestellte haben liefern können, aber der eine Artikel sei leider vergriffen. Dafür müssen der auf der Rechnung aufgeführte Artikel - mit einem Sternchen gekennzeichnet - auch nicht bezahlt werden. Den Differenzbetrag bitte selber ausrechnen.

Der Versandhandel Boden wusste also schon zum Zeitpunkt der Versandmail, dass nicht alles geliefert werden kann - und verliert darüber kein Wort in den beiden Mails. Vielmehr hält er mit den Mails die Erwartungshaltung hoch. Sorry, aber das geht so nicht.

Die Bestellung ist heute wieder zurück gegangen. Und es wird auch keine weiteren Lieferungen vom Boden Versand an uns geben.