Pərakəndə satış cədvəli, doğrudanmı?

Excel-də hesabat vermə vaxtı sürətlə yox olur - məlumatın təqdim edilməsi və təhlili üçün rahat alətlərə meyl bütün sahələrdə görünür. Biz uzun müddətdir ki, hesabatın rəqəmsallaşdırılmasını daxildə müzakirə edirik və Tableau vizuallaşdırma və özünəxidmət analitika sistemini seçdik. M.Video-Eldorado Qrupunun analitik həllər və hesabat departamentinin rəhbəri Aleksandr Bezuqlı döyüş tablosunun qurulması təcrübəsi və nəticələri barədə danışıb.

Dərhal deyim ki, planlaşdırılanların hamısı həyata keçirilmədi, amma təcrübə maraqlı oldu, ümid edirəm ki, sizin üçün də faydalı olacaq. Və kiminsə bunu necə daha yaxşı etmək barədə hər hansı bir fikri varsa, məsləhət və fikirlərinizə görə çox minnətdar olaram.

Pərakəndə satış cədvəli, doğrudanmı?

Kesimin altında qarşılaşdığımız və öyrəndiklərimiz haqqındadır.

Haradan başladıq

M.Video-Eldorado yaxşı işlənmiş məlumat modelinə malikdir: tələb olunan saxlama dərinliyi ilə strukturlaşdırılmış məlumat və çoxlu sayda sabit formada hesabatlar (daha ətraflı bax. Bu məqalə burada). Bunlardan analitiklər Excel-də ya pivot cədvəllər, ya da formatlaşdırılmış xəbər bülletenləri, ya da son istifadəçilər üçün gözəl PowerPoint təqdimatları hazırlayırlar.

Təxminən iki il əvvəl biz sabit formada hesabatlar əvəzinə SAP Analysis-də analitik hesabatlar yaratmağa başladıq (Excel əlavəsi, mahiyyətcə OLAP mühərriki üzərində pivot cədvəli). Lakin bu alət bütün istifadəçilərin ehtiyaclarını ödəyə bilmədi, əksəriyyət analitiklər tərəfindən əlavə olaraq işlənmiş məlumatlardan istifadə etməyə davam etdi.

Son istifadəçilərimiz üç kateqoriyaya bölünür:

Üst rəhbərlik. Məlumatı yaxşı təqdim edilmiş və aydın başa düşülən şəkildə tələb edir.

Orta idarəetmə, qabaqcıl istifadəçilər. Məlumatların araşdırılması ilə maraqlanır və alətlər mövcud olduqda müstəqil hesabatlar qura bilir. Onlar SAP Analysis-də analitik hesabatların əsas istifadəçilərinə çevrildilər.

Kütləvi istifadəçilər. Onlar məlumatları müstəqil təhlil etməkdə maraqlı deyillər, onlar Excel-də bülletenlər və pivot cədvəllər formatında məhdud sərbəstlik dərəcəsi olan hesabatlardan istifadə edirlər.

Bizim ideyamız bütün istifadəçilərin ehtiyaclarını ödəmək və onlara vahid, rahat alət vermək idi. Top menecmentdən başlamaq qərarına gəldik. Onlara əsas biznes nəticələrini təhlil etmək üçün istifadəsi asan idarə panelləri lazım idi. Beləliklə, biz Tableau ilə başladıq və ilk olaraq iki istiqamət seçdik: məhdud dərinliyi və təhlili genişliyi olan pərakəndə və onlayn satış göstəriciləri, yuxarı rəhbərliyin tələb etdiyi məlumatların təxminən 80%-ni əhatə edəcək.

Tabloların istifadəçiləri yüksək səviyyəli menecerlər olduğundan, məhsulun başqa bir əlavə KPI-si ortaya çıxdı - cavab sürəti. Məlumatların yenilənməsi üçün heç kim 20-30 saniyə gözləməyəcək. Naviqasiya 4-5 saniyə ərzində və ya daha yaxşısı, dərhal edilməli idi. Biz isə təəssüf ki, buna nail ola bilmədik.

Əsas tablosumuzun tərtibatı belə görünürdü:

Pərakəndə satış cədvəli, doğrudanmı?

Əsas ideya, cəmi 19 olan əsas KPI sürücülərini solda birləşdirmək və onların dinamikasını və sağda əsas atributlara görə bölünməsini təqdim etməkdir. Tapşırıq sadə görünür, təfərrüatlara dalıncaya qədər vizuallaşdırma məntiqli və başa düşüləndir.

Təfərrüat 1. Məlumat həcmi

İllik satışlar üçün əsas cədvəlimiz təxminən 300 milyon sıra tutur. Ötən il və ondan əvvəlki ilin dinamikasını əks etdirmək lazım olduğundan təkcə faktiki satışlar üzrə məlumatların həcmi 1 milyard sətirə yaxındır. Planlaşdırılan məlumatlar və onlayn satış bloku haqqında məlumatlar da ayrıca saxlanılır. Buna görə, sütunlu yaddaşdaxili DB SAP HANA-dan istifadə etsək də, cari yaddaşdan bir həftə ərzində bütün göstəricilərin seçilməsi ilə sorğunun sürəti təxminən 15-20 saniyə idi. Bu problemin həlli özünü göstərir - məlumatların əlavə maddiləşdirilməsi. Ancaq bunun da tələləri var, onlar haqqında daha çox aşağıda.

Detal 2. Əlavə olmayan göstəricilər

KPI-lərimizin çoxu qəbzlərin sayına bağlıdır. Və bu göstərici sətirlərin sayının COUNT DISTINCT (başlıqları yoxlayın) təmsil edir və seçilmiş atributlardan asılı olaraq müxtəlif məbləğləri göstərir. Məsələn, bu göstərici və onun törəməsi necə hesablanmalıdır:

Pərakəndə satış cədvəli, doğrudanmı?

Hesablamalarınızı düzgün etmək üçün aşağıdakıları edə bilərsiniz:

  • Bu cür göstəriciləri anbarda tez hesablayın;
  • Tableau-da məlumatların bütün həcmi üzrə hesablamalar aparın, yəni. Tableau-da sorğuya əsasən, qəbz mövqeyinin qranularlığında seçilmiş filtrlərə uyğun olaraq bütün məlumatları təqdim edin;
  • Müxtəlif əlavə olmayan nəticələr verən bütün nümunə seçimlərində bütün göstəricilərin hesablanacağı maddiləşdirilmiş vitrin yaradın.

Aydındır ki, nümunədə UTE1 və UTE2 məhsul iyerarxiyasını təmsil edən maddi atributlardır. Bu statik bir şey deyil, şirkət daxilində idarəetmə onun vasitəsilə baş verir, çünki Fərqli menecerlər müxtəlif məhsul qruplarına cavabdehdirlər. Bütün səviyyələr dəyişdikdə, əlaqələr yenidən nəzərdən keçirildikdə və bir qrup bir qovşaqdan digərinə keçdikdə daimi nöqtə dəyişikliyində bu iyerarxiyanın çoxlu qlobal revizionları oldu. Adi hesabatda bütün bunlar materialın atributlarından tez hesablanır, bu məlumatların maddiləşdirilməsi halında bu cür dəyişiklikləri izləmək və tarixi məlumatların avtomatik olaraq yenidən yüklənməsi mexanizmini hazırlamaq lazımdır. Çox əhəmiyyətsiz bir iş.

Təfərrüat 3. Məlumatların müqayisəsi

Bu nöqtə əvvəlkinə bənzəyir. Nəticə odur ki, bir şirkəti təhlil edərkən əvvəlki dövrlə müqayisənin bir neçə səviyyəsini formalaşdırmaq adətdir:

Əvvəlki dövrlə müqayisə (gündən günə, həftədən həftəyə, aydan aya)

Bu müqayisədə hesab edilir ki, istifadəçinin seçdiyi dövrdən (məsələn, ilin 33-cü həftəsi) asılı olaraq dinamikanı 32-ci həftəyə qədər göstərməliyik; əgər bir ay üçün məlumatları seçsək, məsələn, may ayı , onda bu müqayisə aprel ayına qədər dinamikanı göstərəcəkdi.

Keçən illə müqayisə

Burada əsas nüans odur ki, gün və həftə ilə müqayisə edərkən keçən ilin eyni gününü götürmürsən, yəni. yalnız cari ili mənfi bir şəkildə qoya bilməzsiniz. Müqayisə etdiyiniz həftənin gününə baxmalısınız. Ayları müqayisə edərkən, əksinə, keçən ilin eyni təqvim gününü götürmək lazımdır. Artıq illərlə bağlı nüanslar da var. Orijinal depolarda bütün məlumatlar gün üzrə paylanır, həftələr, aylar və ya illər olan ayrı sahələr yoxdur. Buna görə də, paneldə tam analitik kəsişməni əldə etmək üçün bir dövrü deyil, məsələn, bir həftə, lakin 4 həftə saymaq və sonra bu məlumatları müqayisə etmək, dinamikanı, sapmaları əks etdirmək lazımdır. Müvafiq olaraq, dinamikada müqayisələr yaratmaq üçün bu məntiq həm Tableau, həm də vitrin tərəfində həyata keçirilə bilər. Bəli və əlbəttə ki, biz dizayn mərhələsində bu detalları bilirdik və düşünürdük, lakin onların son tablosunun işinə təsirini proqnozlaşdırmaq çətin idi.

İdarə panelini tətbiq edərkən biz uzun Çevik yolu izlədik. Bizim vəzifəmiz mümkün qədər tez sınaq üçün lazımi məlumatlarla işləyən alət təmin etmək idi. Buna görə də, sprintlərə getdik və cari anbar tərəfindəki işi minimuma endirməyə başladıq.

1-ci hissə: Cədvələ İnam

İT dəstəyini sadələşdirmək və dəyişiklikləri tez bir zamanda həyata keçirmək üçün biz Tableau-da əlavə olmayan göstəricilərin hesablanması və keçmiş dövrlərin müqayisəsi üçün məntiq yaratmağa qərar verdik.

Mərhələ 1. Hər şey Canlıdır, pəncərə dəyişiklikləri yoxdur.

Bu mərhələdə biz Tableau-nu mövcud vitrinlərə bağladıq və bir il üçün qəbzlərin sayının necə hesablanacağına baxmağa qərar verdik.

Nəticə:

Cavab məyusedici oldu - 20 dəqiqə. Şəbəkə üzərindən məlumatların ötürülməsi, Tableau-da yüksək yük. HANA-da əlavə olmayan göstəriciləri olan məntiqin həyata keçirilməli olduğunu başa düşdük. Bu bizi çox qorxutmadı, BO və Analiz ilə oxşar təcrübəmiz var idi və HANA-da düzgün hesablanmış əlavə olmayan göstəricilər istehsal edən sürətli vitrinlər qurmağı bilirdik. İndi qalan yalnız onları Tableauya uyğunlaşdırmaq idi.

Mərhələ 2. Biz vitrinləri tənzimləyirik, heç bir maddiləşdirmə yoxdur, hər şey tezdir.

TABLEAU üçün tələb olunan məlumatları tez bir zamanda istehsal edən ayrıca yeni bir vitrin yaratdıq. Ümumiyyətlə, yaxşı nəticə əldə etdik, bir həftə ərzində bütün göstəricilərin yaradılması müddətini 9-10 saniyəyə endirdik. Və səmimiyyətlə gözləyirdik ki, Tableau-da tablosunun cavab müddəti ilk açılışda 20-30 saniyə olacaq və sonra 10-dan 12-ə qədər olan önbellek sayəsində ümumiyyətlə bizə uyğun olacaq.

Nəticə:

İlk açıq tablo: 4-5 dəqiqə
İstənilən klik: 3-4 dəqiqə
Vitrinin işində bu qədər əlavə artımı heç kim gözləmirdi.

2-ci hissə. Cədvələ dalın

Mərhələ 1. Cədvəl performansının təhlili və sürətli tənzimləmə

Tableau vaxtının çoxunu harada keçirdiyini təhlil etməyə başladıq. Bunun üçün olduqca yaxşı vasitələr var, bu, əlbəttə ki, Tableau-nun bir artıdır. Müəyyən etdiyimiz əsas problem Tableau-nun qurduğu çox mürəkkəb SQL sorğuları idi. Onlar ilk növbədə aşağıdakılarla əlaqəli idi:

- verilənlərin ötürülməsi. Tableau-da verilənlər toplusunu köçürmək üçün alətlər olmadığından, tablosunun sol tərəfini bütün KPI-lərin ətraflı təsviri ilə qurmaq üçün işdən istifadə edərək cədvəl yaratmalı olduq. Verilənlər bazasında SQL sorğularının ölçüsü 120 simvola çatdı.

Pərakəndə satış cədvəli, doğrudanmı?

- müddət seçimi. Verilənlər bazası səviyyəsində belə bir sorğunun tərtib edilməsi yerinə yetirməkdən daha çox vaxt apardı:

Pərakəndə satış cədvəli, doğrudanmı?

Bunlar. sorğunun işlənməsi 12 saniyə + 5 saniyə icrası.

Biz Cədvəl tərəfində hesablama məntiqini sadələşdirmək və hesablamaların başqa bir hissəsini vitrin və verilənlər bazası səviyyəsinə köçürmək qərarına gəldik. Bu yaxşı nəticələr verdi.

Birincisi, biz transpozisiyanı tez həyata keçirdik, vikidə təsvir olunan bu yanaşmaya əsasən, VIEW hesablamasının son mərhələsində tam xarici birləşmə vasitəsilə etdik. Transpoze - Vikipediya, pulsuz ensiklopediya и Elementar matris - Vikipediya, pulsuz ensiklopediya.

Pərakəndə satış cədvəli, doğrudanmı?

Yəni, biz bir təyinat cədvəli - bir transpozisiya matrisi (21x21) etdik və bütün göstəriciləri sıra ilə böldük.

Bu idi:
Pərakəndə satış cədvəli, doğrudanmı?

Qəbul edildi:
Pərakəndə satış cədvəli, doğrudanmı?

Verilənlər bazasının köçürülməsinə demək olar ki, heç vaxt sərf olunmur. Həftə ərzində bütün göstəricilər üçün sorğu təxminən 10 saniyə ərzində işlənməyə davam etdi. Ancaq digər tərəfdən, xüsusi bir göstərici əsasında tablosunun qurulması baxımından çeviklik itirildi, yəni. xüsusi göstəricinin dinamikası və təfərrüatlı bölgüsü təqdim olunan tablosunun sağ tərəfi üçün əvvəllər vitrin 1-3 saniyə ərzində işləyirdi, çünki sorğu bir göstəriciyə əsaslanırdı və indi verilənlər bazası həmişə bütün göstəriciləri seçir və nəticəni Tableau-ya qaytarmazdan əvvəl nəticəni süzür.

Nəticədə, tablosunun sürəti demək olar ki, 3 dəfə azalıb.

Nəticə:

  1. 5 saniyə - panellərin təhlili, vizuallaşdırma
  2. 15-20 saniyə - Tableau-da əvvəlcədən hesablamalar apararaq sorğuların tərtibinə hazırlıq
  3. 35-45 san - SQL sorğularının tərtibi və onların Hana-da paralel ardıcıl icrası
  4. 5 saniyə – Cədvəldə nəticələrin işlənməsi, çeşidlənməsi, vizuallaşdırılmasının yenidən hesablanması
  5. Təbii ki, belə nəticələr biznesə uyğun gəlmədi və biz optimallaşdırmanı davam etdirdik.

Mərhələ 2. Tableau-da minimum məntiq, tam maddiləşdirmə

Biz başa düşdük ki, 10 saniyə ərzində işləyən vitrində cavab müddəti bir neçə saniyə olan tablosunu qurmaq mümkün deyil və verilənlər bazası tərəfində məlumatların xüsusi olaraq tələb olunan tablosuna görə materiallaşdırılması variantlarını nəzərdən keçirdik. Lakin biz yuxarıda təsvir edilən qlobal problemlə qarşılaşdıq - əlavə olmayan göstəricilər. Filtrləri və ya qazma işlərini dəyişdirərkən Tableau-nun müxtəlif məhsul iyerarxiyaları üçün əvvəlcədən hazırlanmış müxtəlif vitrinlər və səviyyələr arasında çevik şəkildə keçid etdiyinə əmin ola bilmədik (məsələn, UTE-siz, UTE1 və UTE2 ilə üç sorğu müxtəlif nəticələr yaradır). Buna görə də, tablosunu sadələşdirmək, tablosundakı məhsul iyerarxiyasından imtina etmək və sadələşdirilmiş versiyada nə qədər sürətli ola biləcəyini görmək qərarına gəldik.

Beləliklə, bu son mərhələdə biz bütün KPI-ləri köçürülmüş formada əlavə etdiyimiz ayrıca bir depo yığdıq. Verilənlər bazası tərəfində belə bir yaddaşa istənilən sorğu 0,1 - 0,3 saniyə ərzində emal edilir. İdarə panelində aşağıdakı nəticələri aldıq:

İlk açılış: 8-10 saniyə
İstənilən klik: 6-7 saniyə

Tableau tərəfindən sərf olunan vaxt aşağıdakılardan ibarətdir:

  1. 0,3 san. — tablosunun təhlili və SQL sorğularının tərtibi
  2. 1,5-3 san. — əsas vizuallaşdırmalar üçün Hana-da SQL sorğularının icrası (1-ci addım ilə paralel işləyir)
  3. 1,5-2 san. — vizuallaşdırmaların göstərilməsi, yenidən hesablanması
  4. 1,3 san. — müvafiq filtr dəyərlərini (Brend, Bölmə, Şəhər, Mağaza) əldə etmək üçün əlavə SQL sorğularının icrası, nəticələrin təhlili

Qısaca yekunlaşdırmaq üçün

Vizuallaşdırma baxımından Tableau alətini bəyəndik. Prototipləşdirmə mərhələsində biz müxtəlif vizuallaşdırma elementlərini nəzərdən keçirdik və onların hamısını kitabxanalarda, o cümlədən mürəkkəb çoxsəviyyəli seqmentasiya və çox sürücülü şəlalədə tapdıq.

Əsas satış göstəriciləri ilə idarə panellərini tətbiq edərkən, hələ də aradan qaldıra bilmədiyimiz performans çətinlikləri ilə qarşılaşdıq. İki aydan çox vaxt sərf etdik və cavab sürəti məqbul həddə olan funksional olaraq natamam tablosunu aldıq. Və özümüz üçün nəticə çıxardıq:

  1. Tableau böyük həcmli məlumatlarla işləyə bilməz. Orijinal məlumat modelində 10 GB-dan çox məlumatınız varsa (təxminən 200 milyon X 50 sıra), onda tablosuna ciddi şəkildə yavaşlayacaq - hər klik üçün 10 saniyədən bir neçə dəqiqəyə qədər. Biz həm live-connect, həm də çıxarış ilə sınaqdan keçirdik. Əməliyyat sürəti müqayisə edilə bilər.
  2. Çoxsaylı yaddaşlardan (verilənlər dəsti) istifadə zamanı məhdudiyyət. Standart vasitələrdən istifadə edərək verilənlər dəstləri arasındakı əlaqəni göstərmək üçün heç bir yol yoxdur. Datasetləri birləşdirmək üçün həll yollarından istifadə etsəniz, bu, performansa böyük təsir göstərəcək. Bizim vəziyyətimizdə, hər bir tələb olunan görünüş bölməsində məlumatların materiallaşdırılması və əvvəllər seçilmiş filtrləri qoruyaraq bu materiallaşdırılmış məlumat dəstləri üzərində keçidlərin edilməsi variantını nəzərdən keçirdik - Tableau-da bunu etmək qeyri-mümkün oldu.
  3. Tableau-da dinamik parametrlər etmək mümkün deyil. Siz çıxarışda və ya canlı qoşulma zamanı verilənlər dəstini süzgəcdən keçirmək üçün istifadə olunan parametri verilənlər bazasından başqa seçimin nəticəsi və ya başqa SQL sorğusunun nəticəsi ilə doldura bilməzsiniz, yalnız yerli istifadəçi girişi və ya sabit.
  4. OLAP|PivotTable elementləri ilə tablosunun yaradılması ilə bağlı məhdudiyyətlər.
    MSTR, SAP SAC, SAP Analysis-də hesabata verilənlər dəsti əlavə etsəniz, onda olan bütün obyektlər standart olaraq bir-biri ilə əlaqəlidir. Tableau-da bu yoxdur; əlaqə əl ilə konfiqurasiya edilməlidir. Bu, yəqin ki, daha çevikdir, lakin bütün idarə panellərimiz üçün bu, elementlər üçün məcburi tələbdir - buna görə də bu, əlavə əmək xərcləridir. Bundan əlavə, müvafiq filtrlər etsəniz, məsələn, bir bölgəni süzgəcdən keçirərkən, şəhərlərin siyahısı yalnız bu bölgənin şəhərləri ilə məhdudlaşarsa, dərhal verilənlər bazası və ya Çıxarış üçün ardıcıl sorğularla nəticələnəcəksiniz, bu da sürəti nəzərəçarpacaq dərəcədə yavaşlatır. idarə paneli.
  5. Funksiyalarda məhdudiyyətlər. Kütləvi transformasiyalar nə çıxarışda, nə də XÜSUSİYYƏTlə Live-connecta-dan verilənlər bazasında edilə bilməz. Bu, Tableau Prep vasitəsilə edilə bilər, lakin bu, əlavə iş və öyrənmək və saxlamaq üçün başqa bir vasitədir. Məsələn, siz məlumatları köçürə və ya onunla birləşdirə bilməzsiniz. Fərdi sütunlar və ya sahələr üzrə transformasiyalar vasitəsilə bağlanan, hansılar halda və ya if vasitəsilə seçilməlidir və bu, verilənlər bazası vaxtının çox hissəsini sorğu mətninin tərtibinə sərf etdiyi çox mürəkkəb SQL sorğularını yaradır. Alətin bu çevikliyi vitrin səviyyəsində həll edilməli idi ki, bu da daha mürəkkəb saxlama, əlavə yükləmələr və dəyişikliklərə səbəb olur.

Biz Tableau-dan əl çəkməmişik. Lakin biz Tableau-nu sənaye panelləri qura bilən bir vasitə və şirkətin bütün korporativ hesabat sistemini əvəz etmək və rəqəmsallaşdırmaq üçün bir vasitə hesab etmirik.

Biz indi başqa bir alətdə oxşar tablosunu fəal şəkildə inkişaf etdiririk və eyni zamanda onu daha da sadələşdirmək üçün Tableau-da tablosunun arxitekturasına yenidən baxmağa çalışırıq. İcma maraqlansa, nəticələr barədə sizə məlumat verəcəyik.

Biz, həmçinin, Tabeau-da belə böyük həcmdə məlumat üzərində necə tez idarə panelləri qura biləcəyinizlə bağlı fikirlərinizi və ya məsləhətlərinizi gözləyirik, çünki pərakəndə satışdan daha çox məlumatın olduğu veb saytımız var.

Mənbə: www.habr.com

Добавить комментарий