Aggregiere auf eine Zeile pro Monat, hol dir mit LAG über die sortierten Monate den Wert des Vormonats und rechne (aktuell minus vorher) geteilt durch vorher. Sichere die Division durch null mit NULLIF ab. Das Detail, das zählt, ist eine vollständige Datumsschiene, auf die du joinst, damit ein Monat ohne Aktivität als null erscheint, statt zu verschwinden und den Vergleich eine Periode überspringen zu lassen.
Warum Interviewer das fragen
Das ist ein praktischer Test, der Aggregation, Window Functions und ein Gespür für fehlende Daten kombiniert. Die Datumsschiene ist der Unterscheider: Wer echtes Reporting ausgeliefert hat, weiß, dass Lücken in den Daten den Vergleich still verschieben, während jemand mit reiner Übungserfahrung eine Query schreibt, die auf vollständigen Daten korrekt aussieht.
So baust du deine Antwort auf
- Aggregiere zuerst auf die Monatsgranularität.
- Nutz LAG sortiert nach Monat, um den Vorwert zu holen.
- Rechne die prozentuale Veränderung und sichere den Nenner ab.
- Joine auf eine erzeugte Datumsschiene, damit leere Monate trotzdem auftauchen.
- Erwähne Saisonalität als Vorbehalt bei der Interpretation der Zahl.
Beispielantwort
Ich aggregiere auf eine Zeile pro Monat, nehme dann LAG auf die Metrik sortiert nach Monat und rechne die Veränderung gegenüber dem Vorwert, wobei ich den Nenner in NULLIF packe, damit ein Nullmonat mir die Query nicht zerlegt. Was ich immer ergänze, ist eine Datumsschiene. Wenn der März überhaupt keine Bestellungen hatte, existiert diese Zeile im Aggregat schlicht nicht, also greift das LAG im April zurück auf den Februar und meldet Wachstum über die falsche Periode, ohne jede Fehlermeldung. Also erzeuge ich eine vollständige Monatsliste, joine das Aggregat per Left Join darauf und coalesce die NULLs auf null. Ich weise beim Übergeben außerdem auf das Interpretationsrisiko hin. Monat über Monat ist bei einem Geschäft mit starker Saisonalität verrauscht, und dass der Februar kürzer ist als der Januar, lässt fast alles wie einen Rückgang aussehen. Wenn die Zielgruppe darauf Entscheidungen trifft, zeige ich meistens Jahr über Jahr daneben oder normalisiere auf Tage im Monat, und sage das auch dazu.
Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.
So funktioniert esNachfragen, mit denen du rechnen solltest
- Wie baust du eine Datumsschiene in deinem Warehouse?
- Warum kann Jahr über Jahr ehrlicher sein als Monat über Monat?
- Wie gehst du mit einer Metrik um, die legitim null sein kann?
Weitere Fragen für Data Analyst
Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.
Meine Fragen vorhersagen