These sample files and code examples are provided by CFG Schendera c/o Method Consult „as is“ without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Recipients acknowledge and agree that CFG Schendera c/o Method Consult shall not be liable for any damages whatsoever arising out of their use of this material. In addition, CFG Schendera c/o Method Consult will provide no support for the materials contained herein.
Programmierung (Anwendungsentwicklung)
Wir programmieren Analysen und Anwendungen vorrangig mit SAS und Python, ggf. mittels SPSS Syntax. Programme sind typisch für Analytics-as-a-Service (AaaS). Zufällige Beispiele sind:
- 2024: Do not do the Dont’s
Programmierungen operieren mit Daten; Daten repräsentieren die wirtschaftliche Realität eines Unternehmens. Was kann bei fehlerhaften Programmierungen passieren? Am meisten, werden diese Fehler erst gar nicht bemerkt. Während einer Migration von fehlerhaft programmiertem Code stiessen wir auf jahrelang unentdeckt gebliebene Fehler, die vordergründig „nur“ technischer Natur waren, aber harte wirtschaftliche Konsequenzen hatten: - Datenranges waren hart kodiert. Anstelle dynamisch rollierend immer die Verkäufe der letzten 12 Quartale aufzuaddieren, wurden daraus im Laufe der Zeit, 14, 15 16 usw. Quartale mit augenscheinlich immer positiver und zu mehr Optimismus verleitenden Verkaufszahlen. Bis sich im Mgmt irgendwann eine gesunde Skepsis einschlich und wir gebeten wurden, diesen ETL-Spuk zu prüfen und idealerweise ein Ende zu setzen.
- Ausprägungen von Primary Keys wurden abgeschnitten, Tabellen in der Folge nicht korrekt gejoined. Aggregierende Analysen waren nicht korrekt, weil Daten nicht korrekt übernommen worden waren. Das Mgmt wurde falsch informiert; Entscheidungen waren nicht korrekt. Placeholder („1,2,3“) wurden schnell, aber in einer fehlerhaften Abfolge gesetzt. Die auf ihrer Grundlage berechneten Aggregierungen waren nicht korrekt. Die ans Mgmt gelieferten und die getroffenen Entscheidungen waren nicht korrekt.
- Daten von MA wurden auf Team-Ebene dedupliziert. Was z.B. für 1:1 Merges durchaus von Vorteil sein kann. Was kann das aber fachlich bedeuten? Wenn z.B. mehrere MA eines Teams an einer Quote arbeiteten, wurde davon nur ein MA „behalten“. Was ist daran das Problem? Es ist sogar ein doppeltes: Wenn mehrere MA eines Teams zu einer Quote beitrugen, ist die Vorgabe, dass alle beteiligten MA profitieren sollen. Logisch. Was trat aber aufgrund der Deduplizierung tatsächlich ein? (1) Alle involvierten MA (bei der einen Ausnahme) gingen leer aus; sie wurden unfair negativ diskriminiert. (2) Es wurde derjenige behalten, der alphabetisch am höchsten war, dieser MA wurde angesichts seines vorteilhaften Namens unfair positiv diskriminiert: Häufiger (wegen des Alphabets) und prozentual mehr (da die Kommission nicht geteilt wurde). Die interne Abrechnung und die ausgezahlten Kommissionen waren seit Jahren nicht korrekt. Sollten Sie den Verdacht haben, dass Ihre unternehmensinterne Abrechnung nicht sauber ist, wenden Sie sich vertrauensvoll an uns …
- 2018: Migration
Migration einer fehlerhaften proprietären Excel-Anwendung in ein hochleistungsfähiges SAS-Makro. Replikation von Prozessen und Berechnungen von Analysen in Excel mittels SAS Code und Makros. Die durch die neue Anwendung replizierten Ergebnisse wurden extern verifiziert und waren ausnahmslos korrekt. Trotz eines deutlich höheren Funktionsumfangs (u.a. weitere Berichte und implementierte Funktionalitäten wie spezielle Berechnungen inkl. Fälligkeit, Vormonats-Deltas etc., sowie automatische kanalspezifische Verteilung der Berichte) verringerte sich die ursprüngliche Verarbeitungszeit von 9 Stunden (kein Scherz!) auf 12 Minuten. - 2015-2016: Reverse-Engineering
Überführung eines nonperformanten, buggy und manuell betriebenen non-SAS Programms in ein performantes, fehlerfreies und automatisch getriggertes SAS Programm bei einer großen Versicherung. Angesichts der kritischen Situation erfolgte die SAS Programmierung gemäß SOP BIO5, und ihre Validierung gemäß SOP BIO6. Zur Veranschaulichung: Der Umfang des Konvoluts des weitgehend unkommentierten, d.h. nicht dokumentierten original non-SAS Programms betrug ca. 300 DIN A4 Seiten. - 2013: Statistical Programming
Programmierung der komplexen Hochrechnung des Zensus 2011. Anpassung der Zellen an hochgerechnete Ränder für 1.440 Gemeinden in 65 Modellvarianten. Visualisierung von insgesamt 93.600 Modellen und dem Mehrfachen an Goodness of Fit-Parametern. Ausführung als SAS Stored Process. Steuerung über ein intuitiv bedienbares „Cockpit“ mit wenigen „Schaltern“. Datenvolumen: 5,5+ Milliarden Datenzeilen(Hauptanwendung). Programmiersprachen: SAS Macro Facility, darin SAS Base, PROC IML, SAS Hash Programming, PROC SQL, sowie MEANS, TABULATE und GRAPH. Länge der beiden SAS Programme für die Hauptanwendung in DIN A4 Seiten: 60 (ETL: 40, Analyse: 20). Gerne weisen wir die Referenz vor.
Weitere Beispiele finden Sie unter Success Stories. Die wichtigsten Gründe auch unserer Kunden sind (vgl. auch Schendera, 2011, 2005):
-
- Programme sind Grundlage maßgeschneiderter Analysen und Anwendungen.
- Programme sind transparent und eine (technische) Vorstufe einer Dokumentation.
- Programme sind i.A. leistungsfähiger als Point-und-Click Analysen.
- Programme ermöglichen wiederholte Analysen zu minimalem Mehraufwand.
- Programme können für die verschiedensten Zwecke entwickelt werden, u.a. Management, Cleansing und Analyse von Daten.
- Auftraggeber können validierte/getestete Programme in den eigenen Betrieb übernehmen und dort aufrufen lassen, z.B. von eigenen Mitarbeitern, automatisch als Makro, als Stored Process, oder über Anwendungen wie z.B. EG, DI, oder UC4.
- Programme können auf Wunsch um weitere Funktionalitäten erweitert und in spezielle Umgebungen (Report-Ausgaben, Dashboards oder Portale) integriert werden.
Je nach Verhältnis von Analyse (Statistics, Business) und Programmierung, der Komplexität der Analyse (und erforderlichem Know-How), der Systemumgebung, in der die Daten abgelegt sind, und des gewünschten Produkts wird diese Rolle bezeichnet als: Statistical Analyst, Business Analyst Using SAS, Statistical Programmer, oder auch Application Developer. Die Übergänge sind fließend.
Analyse kann als Anforderung u.a. Programmierung mit umfassen:
- Schnittstellen u.a. für den Datenzugriff (PC Dateien, DWH Tabellen, etc.), z.B. csv/txt, ACCESS, EXCEL, Filemaker, ORACLE, SAS, SPSS, Teradata, etc.
- ETL Prozesse (ETL: Extraktion, Transformation, Laden). ETL führt verteilte Daten in einer Analyse zusammen. Beispiele mächtiger ETL Prozesse finden Sie u.a. unter Success Stories.
- Datenqualität: Daten regelmäßigen Quality Checks unterziehen, u.a. auf Aktualität, Konsistenz, Vollständigkeit, oder andere Kriterien.
- Performanz: Die Verarbeitung ist vorteilhaft für u.a. Speicherplatz, I/O und CPU programmiert (vgl. Schendera, 2012).
SAS Expertise:
SAS ist die weltgrösste Analytics Firma in privater Hand. SAS war sogar bei der Mondlandung involviert.
- SAS Anwendungen / Front-Ends: SAS Viya, SAS 9.4, SAS Studio, SAS Cloud Analytic Services (CAS), Enterprise Miner, Enterprise Guide, JMP, DI Studio, SAS BI Dashboards, SAS Information Delivery Portal, Time Series Forecasting System, SAS Information Map Studio, SAS Display Manager, ODS, Insight etc.
- SAS Sprachen: SAS Base, SQL, FedSQL, Macro Facility, Output Delivery System, PROC IML, STAT/GRAPH, DS2, SAS Annotate, Hash Programming etc.
- SAS Module: Annähernd alle Prozeduren zu Statistik, Datenmanagement und Visualisierung, darüber hinaus zahlreiche Prozeduren und Funktionen aus SAS9.4 zurück bis SAS 6.08. Zum Beispiel: ETS, FSP, GRAPH, INSIGHT, IML, LAB, OR, QC, STAT.
Python Libraries und Module:
Spyder (Anaconda), Pandas, SciPy, Numpy, Plotly (GO, Express), Matplotlib, Seaborn, Scikit-Learn, Tensorflow, Pytorch, Jupyter etc.
Weitere Anwendungen und Sprachen: z.B. SPSS Statistics, SPSS Modeller, Power BI, Google BigQuery, KNIME, R, RKWard, R Commander, HTML.
Die Programmierung von Analysen oder Anwendungen kann erfolgen mittels: Pflichtenheft (Fachspezifikation), Zuruf, oder im Dialog.
Angebot
Kontakt
Method Consult Switzerland Dr. Schendera
Vorrütiweg 5
CH-6052 Hergiswil
Switzerland
Rufnummer
+41-78-4null68eins53