Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Replacing Data Analysts with AI - Building Data...

Replacing Data Analysts with AI - Building Data Pipelines and Automating Analysis with Generative AI

MCPサーバーを活用して、複雑だった多段階パイプラインのデータ分析ワークフローを革新する方法をご紹介します。単純にAIを利用してデータ分析を試みる際に失敗する原因を把握し、その解決策としてsemantic layeringをご紹介し、実際の実装戦略をデモンストレーションします。データアナリストの役割が消失するのではなく、どのように進化しているか、どのような能力が必要になるかについて議論いたします。

More Decks by LINEヤフーTech (LY Corporation Tech)

Other Decks in Technology

Transcript

  1. 5IF%BUB"OBMZTJT$IBMMFOHF $PNQMFYXPSLGMPXTXFBMMSFDPHOJ[F FWFOU@MPH TVCTDSJQUJPO@MPH VB@EBJMZ VTFS@TFHNFOUBUJPO NPEFM@DPTU LQJ@VTFS@DPVOU MPH@TVNNBSZ LQJ@GVODUJPO

    LQJ@TFTTJPO VTBHF@GMPX %BUBTPVSDF 0"4*4 *OIPVTF%BUB1MBUGPSN 7JTVBMJ[BUJPO &YDFM *OTJHIUEFSJWBUJPO 3FQPSUJOH 3FRVFTU
  2. "*1PXFSFE"OBMZTJT8PSLGMPX 'SPNOBUVSBMMBOHVBHFUPEBUBCBTFSFTVMUT 6TFS .$1$MJFOU .POHP%# .$1TFSWFS .POHP%# 3FRVFTUUBTL "OBMZ[FSFRVFTU %FDJEFPOUPPMTSFTPVSDFUPVTF

    $BMMUPPMPSSFRVFTUSFTPVSDFT &YFDVUFUPPMSFTPVSDF 4FOESFTVMU 4FOESFTVMU 'PSNBUBOEJOUFSQSFUSFTVMU 1SFTFOUGPSNBUUFESFTVMU
  3. #BTJD*NQMFNFOUBUJPO*TTVFT &YQFDUBUJPOTWTBDUVBMPVUDPNFT 6TFS &YQFDUBUJPO 8IBUJT UIFDIVSOSBUF GPSUIJTNPOUI &WFOU MPH 4VCTDSJQUJPO

    MPH Event log Subscription log "DUJWF VTFSTMBTUNPOUI *OBDUJWF 03$BODFMFE VTFST &YUSBDU BDUJWFVTFS EBUB &YUSBDU TVCTDSJQUJPO EBUB &YUSBDU BDUJWFVTFS EBUB "DUJWF VTFSTMBTUNPOUI *OBDUJWF VTFST "DUVBMPVUDPNF
  4. • ʜVOEFSTUBOEXIBUUIFVTFSXBOUT • ʜDBOOPUNBQOBUVSBMMBOHVBHFUPRVFSJFT • ʜVOEFSTUBOEUIFCVTJOFTTDPOUFYU • ʜLOPXUIFEBUBTUSVDUVSF • ʜSFDPHOJ[FCVTJOFTTUFSNT

    • ʜ 5IF3PPU1SPCMFN.JTTJOH$POUFYU 8IZCBTJD.$1TFSWFSTQSPEVDFXSPOHSFTVMUT #FDBVTF--.EPFTO`Uʜ ˠ/0$0/5&95
  5. • ʜVOEFSTUBOEXIBUUIFVTFSXBOUT • ʜDBOOPUNBQOBUVSBMMBOHVBHFUPRVFSJFT • ʜVOEFSTUBOEUIFCVTJOFTTDPOUFYU • ʜLOPXUIFEBUBTUSVDUVSF • ʜSFDPHOJ[FCVTJOFTTUFSNT

    • ʜ 5IF3PPU1SPCMFN.JTTJOH$POUFYU 8IZCBTJD.$1TFSWFSTQSPEVDFXSPOHSFTVMUT #FDBVTF--.EPFTO`Uʜ • 1SPWJEFSFRVFTUJOUFSQSFUBUJPO • 1SPWJEFRVFSZNBQQJOH • 1SPWJEFCVTJOFTTDPOUFYUT • 1SPWJEFEBUBTDIFNBBOENFUBEBUB • 1SPWJEFEFGJOJUJPOTGPSCVTJOFTTUFSNT • ʜ 1SPWJEF--.XJUIDPOUFYUEBUB ˠ)"4$0/5&95
  6. • -*/&0GGJDJBM"DDPVOU • "O"*DIBUCPUUIBUVTFTPGGFSTWBSJPVT"* CBTFETFSWJDFT TVDIBTXFCTFBSDI  USBOTMBUJPO 0$3 BOENPSF

    • 6TFTGSFFNJVNCVTJOFTTNPEFM $BTF4UVEZ"*"TTJTUBOU4FSWJDF "GSFFNJVN-*/&"*DIBUCPU "*"TTJTUBOU
  7. • 'SJFOE6TFSUIBUIBTBEEFE"*"TTJTUBOUBTBGSJFOE • 'SFF6TFS6TFSUIBUIBTBHSFFEUPUIFUFSNTPGVTFPG"*"TTJTUBOU • %"6/VNCFSPGVOJRVFVTFSTUIBUIBWFBUMFBTUPOFFWFOUMPHUIBUJTOPUVOTVCTDSJCFBOE CMPDL %FGJOJOH#VTJOFTT$POUFYU 5FSNT NFUSJDT

    BOEEBUBSFMBUJPOTIJQT &YBNQMFDPOUFYUUZQF #VTJOFTTUFSNT -- Users Table users ( user_id: VARCHAR, reg_date: DATE, status: CHAR(1), -- 'A'=Active, 'I'=Inactive msg_count: INTEGER ) &YBNQMFDPOUFYUUZQF r %BUBTDIFNB -- Events Table events ( event_id: VARCHAR, user_id: VARCHAR, date: DATE, type: CHAR(1) -- 'T'=Text, 'M'=Media, 'V'=Voice )
  8. #BTJDWT&OIBODFE1SPNQUJOH You are a data assistant. Help users query the

    users and events tables. #BETZTUFNQSPNQU XP4FNBOUJD-BZFSJOH 5IFEJGGFSFODFDPOUFYUNBLFT
  9. #BTJDWT&OIBODFE1SPNQUJOH You are a messenger platform analyst with access to

    our messaging database. DATA SCHEMA: - users table: user_id, reg_date, status ('A'=Active, 'I'=Inactive), msg_count - events table: event_id, user_id, date, type ('T'=Text, 'M'=Media, 'V'=Voice) BUSINESS TERMS: • Friend: User that has added AI Assistant as a friend • Free User: User that has agreed to the terms of use of AI Assistant • DAU: Number of unique users that have at least one event log that is not unsubscribe and block Always translate technical codes into business terms and provide strategic insights. (PPETZTUFNQSPNQU X4FNBOUJD-BZFSJOH 5IFEJGGFSFODFDPOUFYUNBLF
  10. :".-$POGJHVSBUJPO'JMFT business_terms: metrics: friend: description: "6TFSUIBUIBTBEEFE"*"TTJTUBOUBTBGSJFOE” definition: ”events.type=‘add_friend’ exists and

    events.type=‘agree’ doesn’t” business_value: "12% of user base generating 67% of platform engagement” ... #VTJOFTTUFSNTˠCVTJOFTT@UFSNTZBNM 4USVDUVSFECVTJOFTTMPHJDEFGJOJUJPO
  11. :".-$POGJHVSBUJPO'JMFT data_schema: tables: users: description: "Platform user accounts and activity

    metrics” fields: user_id: type: "VARCHAR” description: "Unique user identifier” primary_key: true ... %BUB4DIFNBˠTDIFNBZBNM 4USVDUVSFECVTJOFTTMPHJDEFGJOJUJPO
  12. 4FSWFS*OUFHSBUJPO&YBNQMF messenger_mcp_server/ ├── main.py ├── server.py ├── semantics/ │ ├──

    schema.yaml │ ├── business_terms.yaml │ └── semantic_orchestrator.py └── requirements.txt "EETFNBOUJDTBOEMBZFSTUPTFSWFSDPEF $PEFJNQMFNFOUBUJPOXJUITFNBOUJDUPPMT 4FSWFSOPXVTFTTFNBOUJDTGPSRVFSZQSPDFTTJOHBOESFTQPOTFFOIBODFNFOU
  13. 5SJHHFSTBOE7JFX(FOFSBUJPO messenger_platform_db/ ├── users ├── events ├── schema_metadata ├── business_terms

    ├── business_intelligence │ ├── daily_metrics │ └── user_segments └── semantic_views ├── dau_view └── engagement_summary "EEDPMMFDUJPOTUSJHHFSTUP%# 3FBMUJNFCVTJOFTTJOUFMMJHFODFVQEBUFT
  14. 5SJHHFSTBOE7JFX(FOFSBUJPO messenger_platform_db/ ├── users ├── events ├── schema_metadata ├── business_terms

    ├── business_intelligence │ ├── daily_metrics │ └── user_segments └── semantic_views ├── dau_view └── engagement_summary "EEDPMMFDUJPOTUSJHHFSTUP%# 3FBMUJNFCVTJOFTTJOUFMMJHFODFVQEBUFT
  15. 5SJHHFSTBOE7JFX(FOFSBUJPO messenger_platform_db/ ├── users ├── events ├── schema_metadata ├── business_terms

    ├── business_intelligence │ ├── daily_metrics │ └── user_segments └── semantic_views ├── dau_view └── engagement_summary "EEDPMMFDUJPOTUSJHHFSTUP%# 3FBMUJNFCVTJOFTTJOUFMMJHFODFVQEBUFT
  16. 5SJHHFSTBOE7JFX(FOFSBUJPO messenger_platform_db/ ├── users ├── events ├── schema_metadata ├── business_terms

    ├── business_intelligence │ ├── daily_metrics │ └── user_segments └── semantic_views ├── dau_view └── engagement_summary "EEDPMMFDUJPOTUSJHHFSTUP%# 3FBMUJNFCVTJOFTTJOUFMMJHFODFVQEBUFT
  17. 5SJHHFSTBOE7JFX(FOFSBUJPO messenger_platform_db/ ├── users ├── events ├── schema_metadata ├── business_terms

    ├── business_intelligence │ ├── daily_metrics │ └── user_segments └── semantic_views ├── dau_view └── engagement_summary "EEDPMMFDUJPOTUSJHHFSTUP%# 3FBMUJNFCVTJOFTTJOUFMMJHFODFVQEBUFT messenger_mcp_server/ ├── main.py ├── server.py └── requirements.txt .PEJGZTFSWFSDPEF
  18. 4FNBOUJD-BZFSJOH4VNNBSZ ,FZ%JGGFSFODFT#FUXFFO-FWFMT -FWFM $MJFOU 4FSWFS %BUBCBTF 4FNBOUJD TUPSBHF 4ZTUFNQSPNQU :".-DPOGJHGJMF

    .FUBEBUBDPMMFDUJPO *NQMFNFOUBUJPO 3FRVFTUFOIBODFNFOU .$1TFSWFSDPEF JOUFHSBUJPO 4DIFNBFNCFEEFE TFNBOUJDT "VUPNBUJPO .BOVBMQSPNQUJOH 4FNJBVUPNBUFE 'VMMZBVUPNBUFE 1FSGPSNBODF 3FBMUJNFUSBOTMBUJPO $BDIFEQSPDFTTJOH 1SFDPNQVUFEWJFX
  19. #BTJD*NQMFNFOUBUJPO-JNJUBUJPOT 4UBHF%JSFDU--.RVFSZQSPDFTTJOHWJB.POHP%#.$1TFSWFS 5IF2VFTUJPOl8IBU`TUIFDIVSOSBUFGPS"QSJM z 5IF3FTVMU • $BMDVMBUFE3FTVMU • $BMDVMBUJPO-PHJD "QSJM*OBDUJWF6TFST

    .BSDI"DUJWF6TFST ʷ      ʷ  • 1SPCMFN.JTTJOHDBODFMMFEVTFS EBUB • --.GPVOEUIFEBUBCVUMBDLFE CVTJOFTTDPOUFYUVOEFSTUBOEJOH • $IVSO*OBDUJWF $BODFMMFE à 0OMZDBMDVMBUFEJOBDUJWF • 3BXEBUBBOBMZTJTXJUIPVUEPNBJO LOPXMFEHFMFBETUPJODPNQMFUF BOBMZTJT $PSF*TTVF
  20. 4UBHF4UFQ#VTJOFTT-PHJD*OUFHSBUJPO 4FSWFSMFWFM4FNBOUJD1SPDFTTJOH l8IBUJTUIFDIVSOSBUFGPS"QSJM z ᶃ /BUVSBM-BOHVBHF*OUFSQSFUBUJPO \JOUFOUlNFUSJD@RVFSZz  TVCKFDUlDIVSO@SBUFz^ #VTJOFTTUFSNMPPLVQ

    ᶄ 2VFSZ.BQQJOH .FUSJD@JE lDVTUPNFS@DIVSO@SBUFz #VTJOFTTDPOUFYUDMBSJGJDBUJPO ᶅ .FUSJD%FGJOJUJPO $BMDVMBUJPOzQSFW@NPOUI@NBV WT DVSSFOU@NPOUI@JOBDUJWF@PS@DBODFMFEz %PNBJOTQFDJGJDFYFDVUJPO ᶆ #VTJOFTT-PHJD&YFDVUJPO 3FTVMUPGDIVSOSBUF
  21. &OIBODFE*NQMFNFOUBUJPO3FTVMUT 4UBHF#VTJOFTTDPOUFYUJOUFHSBUJPOPVUDPNFT 5IF3FTVMU • *OBDUJWF6TFST  • 4VCTDSJQUJPO$BODFMMBUJPO OFXMZ EJTDPWFSFE

    • 5PUBM$IVSOFE$VTUPNFST  • *NQSPWFE3FTVMU     .BSDI"DUJWF6TFST "QSJM*OBDUJWF6TFST 5IF2VFTUJPOl8IBU`TUIFDIVSOSBUFGPS"QSJM z
  22. &OIBODFE*NQMFNFOUBUJPO3FTVMUT 4UBHF#VTJOFTTDPOUFYUJOUFHSBUJPOPVUDPNFT • *OBDUJWF6TFST  • 4VCTDSJQUJPO$BODFMMBUJPO OFXMZ EJTDPWFSFE •

    5PUBM$IVSOFE$VTUPNFST  • *NQSPWFE3FTVMU     "QSJM$BODFMFE6TFST 5IF3FTVMU 5IF2VFTUJPOl8IBU`TUIFDIVSOSBUFGPS"QSJM z .BSDI"DUJWF6TFST "QSJM*OBDUJWF6TFST
  23. &OIBODFE*NQMFNFOUBUJPO3FTVMUT 4UBHF#VTJOFTTDPOUFYUJOUFHSBUJPOPVUDPNFT • *OBDUJWF6TFST  • 4VCTDSJQUJPO$BODFMMBUJPO OFXMZ EJTDPWFSFE •

    5PUBM$IVSOFE6TFST  • *NQSPWFE3FTVMU     5IF3FTVMU 5IF2VFTUJPOl8IBU`TUIFDIVSOSBUFGPS"QSJM z "QSJM$BODFMFE6TFST .BSDI"DUJWF6TFST "QSJM*OBDUJWF6TFST
  24. &OIBODFE*NQMFNFOUBUJPO-JNJUBUJPOT -PHJDBMDPSSFDUOFTTBDIJFWFE CVUMBDLJOHFYFDVUJPOFGGJDJFODZ -PHJDWT&YFDVUJPO • %FTJHOFE $PNQMFUFDIVSODBMDVMBUJPO JOBDUJWF  DBODFMMFE

    • 3FBMJUZ --.TJNQMJGJFTXIFOGBDJOHDPNQMFYJUZ • "QQSPBDI 'VMMDPMMFDUJPOTDBOOJOH • 4USBUFHZ /PTFMFDUJWFGJMUFSJOHPSJOEFYJOH • %FTJHO .JTTJOHRVFSZPQUJNJ[BUJPOQBUUFSOT 3PPU$BVTF ,FZ*OTJHIUT --.BVUPNBUJDBMMZSFEVDFTMPHJDDPNQMFYJUZXIFOFYFDVUJPOCFDPNFTJOFGGJDJFOU ˠ/FYU %BUBCBTFMFWFMPQUJNJ[BUJPOUPTVQQPSUPSJHJOBMTFNBOUJDEFTJHO
  25. 4UBHF.FUBEBUBPQUJNJ[BUJPOGPSTFNBOUJDRVFSZFYFDVUJPO %#MFWFM4FNBOUJD1SPDFTTJOH Metadata Strategy Example // Strategic index design {order_type:

    1, dt: 1, emid: 1} // Churn calculation requirements: // - Find who cancelled (order_type filter) // - Within target month (dt filter) // - From previous active users (emid filter) • #FGPSF • 'VMMDPMMFDUJPOTDBO • 1SPDFTTJOHNJMMJPOTPGSFDPSET • "GUFS • 5BSHFUFEEBUBBDDFTT • 'PDVTPOMZPOUIFDBODFMMFEVTFSTJO TQFDJGJDNPOUI Execution Enhancement #FOFGJUT .FUBEBUBPQUJNJ[BUJPOFOBCMFTPSJHJOBMTFNBOUJDEFTJHOFYFDVUJPO
  26. • *OBDUJWF6TFST  • 4VCTDSJQUJPO$BODFMMBUJPO • 5PUBM$IVSOFE$VTUPNFST  • *NQSPWFE3FTVMU

        5IF3FTVMU $PNQMFUF*NQMFNFOUBUJPO3FTVMUT 4UBHF.FUBEBUBPQUJNJ[BUJPOGPSTFNBOUJDRVFSZFYFDVUJPO 5IF2VFTUJPOl8IBU`TUIFDIVSOSBUFGPS"QSJM z "QSJM$BODFMFE6TFST .BSDI"DUJWF6TFST "QSJM*OBDUJWF6TFST
  27. *NQMFNFOUBUJPO4VNNBSZ -BZFSCZ-BZFS1SPCMFN3FTPMVUJPO   83.0%   ?  

    83.6%   112   83.4%   76 %#MFWFM0QUJNJ[BUJPO 4FSWFSMFWFM#VTJOFTT-PHJD
  28. &YBNQMFTPG/BUVSBM-BOHVBHF2VFSJFTJO"DUJPO 8IBU:PV$PVME "TL 2.POUIMZ"DUJWF6TFST 8IBUXBTUIFOVNCFSPGBDUJWFVTFSTJO +VOF l BDUJWFVTFSTz 2)JTUPSJDBM$IVSO"OBMZTJT 8IBUXBTUIFDVTUPNFSDIVSOSBUFJO

    'FCSVBSZ lz ᶅ 3FMBUJWF5JNF2VFSJFT )PXNBOZVTFSTXFSFBDUJWF MBTUNPOUI l BDUJWFVTFSTJO.BZz ᶆ 3FHJPOBM%JTUSJCVUJPO $BO*TFFBCSFBLEPXOPGVTFST CZSFHJPOGPSUIJTNPOUI l+1  58  5) z
  29. 8PSLJOH5PHFUIFS 6TF$BTFT  #VTJOFTT"OBMZTJT .POHP%# *OEJWJEVBMVTFSTFSWJDF VTBHFGSFRVFODZ SFWJTJU QBUUFSOT 3FTVMU

    l  PG VTFST XJUI  NPOUIMZ VTBHF XJMMJOH UP DPOWFSU UP TVCTDSJQUJPOz 3FRVFTUl8PVMEDPOWFSUJOHPVSTFSWJDFUPBTVCTDSJQUJPONPEFMJNQSPWFQSPGJUBCJMJUZ z 1PTUHSF42- $VSSFOUVTFST`QVSDIBTF DZDMFT "WHQVSDIBTF BNPVOUT $POGMVFODF 6TFSJOUFSWJFXSFTVMUT  TVCTDSJQUJPOJOUFOUJPO TVSWFZT
  30. 8PSLJOH5PHFUIFS 6TF$BTFT  3FBMUJNF.POJUPSJOH 5BCMFBV 3FBMUJNFVTFSDPVOU 3FTVMU l  VTFST

    QFSGPSNBODFNFUSJDT BMFSUTEFUFDUFEz 3FRVFTUl$IFDLPVSTFSWJDFSFBMUJNFTUBUVTz .POHP%# -BTUIPVSFSSPSMPHT  VTFSDIVSOQBUUFSOT 4MBDL *ODJEFOUSFMBUFE DPOWFSTBUJPOTJO DIBOOFMT
  31. 8PSLJOH5PHFUIFS 6TF$BTFT  %BJMZ8PSLGMPX (JUIVC 5PEBZ`TEFBEMJOF1VMM 3FRVFTUT QFOEJOHDPEF SFWJFXT 3FTVMU

    1SJPSJUJ[FEUPEPMJTUGPSFBDIJOEJWJEVBM 3FRVFTUl0SHBOJ[FUPEBZ`TUFBNUBTLTz $POGMVFODF %PDVNFOUTOFFEJOH VQEBUFT BDUJPOJUFNT  UPEBZ`TNFFUJOHBHFOEBT
  32. 5IF'VUVSF"OBMZTU /FX1BSUOFSTIJQ)VNBO "* 8IBU--.T&YDFMBU • -BSHFTDBMFEBUBQSPDFTTJOHBOEQBUUFSO SFDPHOJUJPO • 4JNVMUBOFPVTNVMUJTZTUFNRVFSZ FYFDVUJPO

    • 3FQFUJUJWFBOBMZTJTUBTLBVUPNBUJPO • SFBMUJNFNPOJUPSJOHBOEBMFSUJOH • 4UBOEBSEJ[FESFQPSUHFOFSBUJPO 8IBU0OMZ)VNBOT$BO%P • %FTJHOJOHMPHJDTZTUFNTGPS--.TUP VOEFSTUBOECVTJOFTTDPOUFYU • #VJMEJOHTFNBOUJDMBZFSTBOEDPOUFYU TZTUFNT • 4USBUFHJDRVFTUJPOEFTJHOBOEGSBNJOH • 4USVDUVSJOHEPNBJOLOPXMFEHFGPS"* VUJMJ[BUJPO • "OBMZTJTSFTVMUJOUFHSJUZWFSJGJDBUJPO
  33. .VMUJ1MBUGPSNBOBMZTJT $POEVDUDPNQSFIFOTJWFBOBMZTJTBDSPTT.POHP%#VTFSCFIBWJPS 1PTUHSF42-USBOTBDUJPOEBUB BOE5BCMFBVEBTICPBSET TJNVMUBOFPVTMZ CFZPOEJOEJWJEVBMBOBMZUJDBMDBQBDJUZ 5IF'VUVSF"OBMZTU /FX1BSUOFSTIJQ)VNBO "* $POUFYU"XBSF8PSLGMPX"VUPNBUJPO

    "VUPNBUFBOBMZUJDBMXPSLGMPXTUIBUBEBQUUPEBUBQBUUFSOTBOPNBMZEFUFDUJPOUSJHHFSTEFFQFSJOWFTUJHBUJPO TFBTPOBMUSFOETBEKVTU GPSFDBTUJOHNPEFMT BOEPVUMJFSTQSPNQUWBMJEBUJPOQSPDFTTFT "EWBODFE"OBMZUJDT*NQMFNFOUBUJPO %FQMPZNPEFMTGPSDVTUPNFSTFHNFOUBUJPO EFNBOEGPSFDBTUJOH BOE"#UFTUJOHŠ XJUIPVUSFRVJSJOHEFFQUFDIOJDBMJNQMFNFOUBUJPO  XIFUIFSTUBUJTUJDBM SVMFCBTFE PSNBDIJOFMFBSOJOH
  34. .VMUJ1MBUGPSNBOBMZTJT $POEVDUDPNQSFIFOTJWFBOBMZTJTBDSPTT.POHP%#VTFSCFIBWJPS 1PTUHSF42-USBOTBDUJPOEBUB BOE5BCMFBVEBTICPBSET TJNVMUBOFPVTMZ CFZPOEJOEJWJEVBMBOBMZUJDBMDBQBDJUZ 5IF'VUVSF"OBMZTU /FX1BSUOFSTIJQ)VNBO "* $POUFYU"XBSF8PSLGMPX"VUPNBUJPO

    "VUPNBUFBOBMZUJDBMXPSLGMPXTUIBUBEBQUUPEBUBQBUUFSOTBOPNBMZEFUFDUJPOUSJHHFSTEFFQFSJOWFTUJHBUJPO TFBTPOBMUSFOETBEKVTU GPSFDBTUJOHNPEFMT BOEPVUMJFSTQSPNQUWBMJEBUJPOQSPDFTTFT "EWBODFE"OBMZUJDT*NQMFNFOUBUJPO %FQMPZNPEFMTGPSDVTUPNFSTFHNFOUBUJPO EFNBOEGPSFDBTUJOH BOE"#UFTUJOHŠ XJUIPVUSFRVJSJOHEFFQUFDIOJDBMJNQMFNFOUBUJPO  XIFUIFSTUBUJTUJDBM SVMFCBTFE PSNBDIJOFMFBSOJOH l--.TBSFQPXFSGVMQBSUOFSTUIBUFYQBOEPVSBOBMZUJDBMDBQBCJMJUJFTz