SAS Forum 2006 Decentral forecasting/ planlægning i et callcenter Jan Selchau-Hansen specialist Business & Market Intelligence jas@atp.dk www.atp.dk
Agenda ATP hvad er det, hvem er vi (3 slides) Behovet for specialiserede IT-systemer i en standardiseret IT-verden (3 slides) Udfordringen: Fra hvad skete i går, til hvad sker i morgen (2 slides) Metoden (3 slides) Løsningen (11 slides) Spørgsmål? (1 slide) 2
Historien kort ATP AER Ferie Konto SP SUPP 1964 1977 1980 1998 2003 1972 1980 1990 1999 2005 LG LD Pension service: PD IP PBU AES Barsel DA- Barsel 2005 Barsel.dk 2006 3
1 koncern 3 hovedområder 1 callcenter Lovregulerede opgaver Markedsopgaver Pension Sikring Pension og sikring ATP SP SUPP LD AER AES FerieKonto LG Barsel.dk PensionDanmark (PKS, HTS, B&A) Industriens Pension PBU DA-Barsel JØP 4
Business & Market Intelligence Vi arbejder med Business Intelligence og Market Intelligence løsninger. Vi udvikler løsninger til ATP koncernen og til koncernkunderne. Vi udvikler datawarehouse & datamarts 5
En specialiceret IT-verden Sådan var det før i tiden Virksomhedens IT-behov 6
En standardiseret IT-verden Sådan er det nu Virksomhedens IT-behov Forretningssystem ERP CRM 7
Fra specialiceret til standardiseret, hvad så? Færre grænseflader, mindre vedligeholdelse Hullerne er ikke IT-afdelingens opgave Stadig behov for småsystemer Løses vha. Excel, Access eller lignende Alternativ?? Ku det være egentlig systemudvikling i SAS 8
Udfordringen Telefonstatistik, lige som alle de andre.... Hvad skete der i går? Hvorfor gik det galt / godt? En stor extra udsendelse af...... Udsendelsen af blev flyttet til...... Udsendelsen af blev aflyst CallCenteret fik ikke besked om at...... +1 mio. opkald om året +16 forskellige kunder 9
Udfordringen Alle sad med hver deres lille regneark med udsendelsesdatoer Der manglede eet fælles miljø Hvad bliver så effekten af vi udsender...... Altså hvor mange vil ringe ind, hvornår, og hvor mange sager skal der laves? Gå fra: hvad skete i går? til: hvad sker der i morgen? 10
Metoden Hvad skaber udsvingene i opkald til CallCenteret? Det gør udsendelser / kampagner Bundniveauet kender vi Altså koncentrerer vi os om udsendelser / kampagner Hvad er en udsendelse / kampagne? 11
Metoden 1. Hvem er kunden 2. Hvem er målgruppen 3. Hvad er det for et brev 4. Hvad giver det af sager (udover telefoner & journalisering) 5. Hvor lander responsen (hvilken sektion af CallCenteret) 6. Hvad er en normal samtaletid/sagsbehandlingstid 7. Hvem er ansvarlig for udsendelsen 8. Hvem er ansvarlig for responsen 12
Metoden, hvad består en udsendelse/kampagne af? Stamoplysninger Ordninger Målgrupper Brevtyper Respons ansvarlig Sektioner Sagstyper Udsendelses ansvarlig Normaltider Ekspeditionstid Udsendelse/kampagne Effektperiode 1. udsendelsesdato Udsendelsesdatoer (incl. antal breve) (incl. antal breve) Rapporter Effekter 13
Løsningen, Datamodel 14
Løsningen, SAS IntrNet 15
Løsningen, SAS IntrNet <td><input TYPE="TEXT" name="value_193979114 value="ai kontrol"></td> proc sql noprint; create table &tabel as select input(substr(name,7),best.) as ID, trim(left(value)) as value from sashelp.vmacro where scope='global' and substr(name,1,6)='value_' and value ne ' ' order by value; 16
Løsningen, SAS IntrNet <td> <select name="malgruppe_id size="1"> <option value= 1">Akasser</option> <option selected value="2">arbejdsgivere</option> <option value= 3">Elever</option> o.s.v </select></td> data akt; malgruppe_id = &malgruppe_id; ansvarlig_id = &ansvarlig_id ; projektleder_id = &projektleder_id ; sektion_id = &sektion_id ; effektperiode = max(sum(&effper,0),1); run; 17
Løsningen, SAS IntrNet <td><input TYPE="TEXT" name="udsid_0181926777" value="18/02/2008"></td> proc sql noprint; create table opdat_uds as select input(substr(name,7),best.) as udsendelse_id, left(trim(value)) as udsdato from sashelp.vmacro where substr(name,1,5)='udsid' order by udsendelse_id ; 18
Løsningen, SAS IntrNet <td align=right><input TYPE="TEXT" name="eff_001_value_1" value="25"></td> proc sql noprint; create table opdat_eff as select name as name, input(substr(name,5,3),3.) as dagnr, input(substr(name,15),best.) as sagstype_id, input(left(trim(value)),best.) as antal from sashelp.vmacro where substr(name,1,4)='eff_ ; 19
Løsningen, SAS IntrNet 20
Løsningen, SAS IntrNet 21
Løsningen, SAS IntrNet 22
Løsningen, SAS IntrNet 23
Løsningen, SAS IntrNet 20 SAS-tabeller (data-tabeller & styre-tabeller ) 4 SAS-views (til rapporter, datamart altså unødvendig) 43 SAS IntrNet-programmer 12 SAS macroer (flere kan genbruges i andre systemer) 1 HTML-frameset 2 HTML-stylesheets (CSS) 2½ mandemåneds design/udviklingstid (én person) Fuldt dokumenteret (al sourcekode indlæst/databehandlet) 24
Slut Spørgsmål? 25