Analiza ABC i XYZ, która nie zabiera twojego pliku

Analiza ABC i XYZ, która nie zabiera twojego pliku

Dlaczego nikt nie chce oddawać zestawienia sprzedaży

Plik potrzebny do analizy ABC albo XYZ to nie jest „zwykła tabelka”. Jest w nim cały asortyment, wolumeny, ceny, czasem nazwy kontrahentów albo klientów. Z takiego zestawienia widać, na czym zarabiasz, gdzie masz zapaść, jaka jest twoja marża i jak bardzo zależysz od jednego dostawcy. To dokładnie ten zestaw liczb, którego nie pokazuje się osobom z zewnątrz.

Dlatego każdy, kto zamierza policzyć swój asortyment w serwisie online, zadaje najpierw nie pytanie „jak to działa”, tylko „gdzie trafi mój plik”. I to jest właściwe pytanie: w aptece, w centrum medycznym czy w biurze rachunkowym to ty będziesz za to odpowiadać.

Zwykle odpowiedź jest długa: gdzie stoją serwery, jak szyfrowane jest połączenie, po ilu dniach wszystko jest usuwane, jaką umowę podpisujemy. Tutaj odpowiedź jest krótsza: plik nigdzie nie trafia — zostaje w twojej przeglądarce i tam zostanie policzony. Dalej po kolei: dlaczego to w ogóle możliwe i jak przekonać się o tym samodzielnie, nie biorąc niczego na wiarę.

Dokąd zwykle jedzie twój plik

Narzędzia online, do których wszyscy przywykli, działają w jeden sposób: wybierasz plik, przeglądarka wysyła go na serwer, program na serwerze go czyta i liczy, a z powrotem przychodzi gotowa strona z wynikiem. W tym momencie twoje zestawienie leży na cudzym komputerze. Dalej wszystko zależy od cudzej dyscypliny: jak długo jest przechowywane, którzy pracownicy mają do niego dostęp, co trafia do kopii zapasowych, co zostaje w logach.

Program na komputerze działa odwrotnie: jest zainstalowany u ciebie, liczy u ciebie, a plik nigdzie się nie rusza. Właśnie dlatego łatwiej go zaakceptować — nie ma tam czemu wyciec. Cena jest znana: instalacja na każdym stanowisku, aktualizacje, licencje, „a ja mam Maca”, „a księgowa ma stary laptop”.

Jest trzeci wariant i nie pojawił się wczoraj: to program jedzie do danych, a nie dane do programu. Przeglądarka pobiera moduł obliczeniowy — tak samo jak pobiera obrazki i fonty strony — i dalej liczy u ciebie. Z zewnątrz wygląda to jak zwykła strona. W środku jest bliżej programu na komputerze, którego nie trzeba instalować.

Jak to działa u nas

Przeglądarka od wielu lat potrafi wykonywać nie tylko skrypty strony, ale i prawdziwe skompilowane programy. Technologia nazywa się WebAssembly; działają na niej na przykład edytory zdjęć i serwisy map w przeglądarce, gdzie odsyłanie każdej czynności na serwer byłoby absurdem.

Nasz silnik obliczeniowy jest napisany w języku Rust i skompilowany do takiego modułu. Kiedy otwierasz stronę analizy, przeglądarka pobiera go raz, razem z samą stroną. Potem pracuje już tylko twoje urządzenie:

  • plik XLSX wybierasz ty, a czyta go twoja przeglądarka;
  • parsowanie tabeli, sprawdzenie kolumn, wszystkie obliczenia, macierz klas i rekomendacje liczą się na twoim komputerze;
  • raport rysuje się tam samo, a eksport do XLSX również powstaje w przeglądarce.

Jest efekt uboczny, który łatwo zauważyć: szybkość zależy od twojej maszyny, a nie od naszego obciążenia. Dziesiątki tysięcy wierszy przetwarzają się w sekundy — i nie ma ich gdzie przetwarzać poza twoim komputerem.

Schemat przepływu danych: plik, obliczenia i wyniki zostają w przeglądarce; na zewnątrz idą tylko logowanie, płatność i wiadomość z formularza kontaktowego

Stąd rzecz najważniejsza. Na nasze serwery nie trafia ani plik, ani żaden jego wiersz, ani nazwy kolumn, ani wyniki — klasy, współczynniki, wskaźniki zbiorcze, macierz — ani rekomendacje, ani wyeksportowany raport. Granicę twojego urządzenia przekracza tylko to, bez czego strona w ogóle nie działa: logowanie, płatność i wiadomość z formularza kontaktowego, jeśli ją wyślesz. To właśnie pokazuje schemat; pełny wykaz, aż po listę adresów, jest na osobnej stronie Jak działa przepływ danych.

I konsekwencja, do której trudno przywyknąć jako do zalety: nie wiemy, co analizowałeś, i nie wiemy nawet, czy w ogóle uruchomiłeś analizę. Nie mamy i nie możemy mieć metryki „ile razy wykonano obliczenia” — nie da się jej zebrać, nie otrzymując twoich danych.

Sprawdzenie pierwsze: wyłącz internet

To najprostszy sposób, żeby się upewnić, i nie wymaga ani specjalistycznej wiedzy, ani zaufania do naszych słów. Program, który potrzebuje serwera, bez sieci nie działa — więc jeśli analiza przechodzi bez sieci, serwer nie jest jej potrzebny.

  1. Zaloguj się na swoje konto jak zwykle.
  2. Otwórz stronę potrzebnej analizy i daj jej się w pełni załadować. To istotne: moduł obliczeniowy przyjeżdża razem ze stroną, więc sieć trzeba wyłączyć po tym, jak strona się otworzyła, a nie przed.
  3. Wyłącz internet — wyjmij kabel, wyłącz Wi-Fi albo włącz tryb samolotowy.
  4. Wybierz plik XLSX, zaznacz kolumny, naciśnij „Wygeneruj raport”.
  5. Naciśnij „Zapisz do xlsx”.

Raport się zbuduje. Plik eksportu się pobierze. Gdyby obliczenia wymagały wysłania danych, nie stałoby się ani jedno, ani drugie.

Dokładnie tak powstały oba obrazki poniżej: zestawienie demonstracyjne 120 pozycji ze sprzedażą miesięczną za rok, analiza XYZ+ABC, internet wyłączony zaraz po tym, jak strona się otworzyła.

Macierz XYZ+ABC z raportu zbudowanego przy wyłączonej sieci: dziewięć komórek od AX do CZ z liczbą pozycji i ich udziałem w asortymencie

Macierz to wynik dwóch przekrojów naraz. Litera ABC mówi o wkładzie: ile pozycja dała przez cały okres. Litera XYZ — o stabilności: jak równo sprzedawała się z miesiąca na miesiąc. Pozycja AX daje dużo i sprzedaje się równo, CZ — mało i zrywami, a decyzje wobec nich są przeciwne. Jak liczone są klasy A, B i C, rozłożone jest na czynniki w artykule Czym jest analiza ABC — prostymi słowami.

Razem z raportem bez sieci powstał też panel rekomendacji — buduje się on z twoich własnych danych i tak samo nigdzie nie jest wysyłany.

Panel rekomendacji w raporcie zbudowanym bez internetu: podpowiedzi o kluczowych pozycjach, ogonie asortymentu i komórce CZ

Jedną rzecz warto wiedzieć wcześniej, żeby się nie zdziwić. Dopóki sieci nie ma, cała strona jest bez łączności: nie przejdziesz na inną podstronę ani nie przeładujesz bieżącej — strony przyjeżdżają po sieci. Obliczenia mimo to idą. Kiedy skończysz, włącz internet z powrotem; raport na ekranie się od tego nie zmieni.

Sprawdzenie drugie: zakładka „Sieć”

Jeśli nie chcesz nic odłączać, jest sposób surowszy — popatrzeć, co przeglądarka wysyła w trakcie analizy. Narzędzie do tego jest wbudowane w każdą przeglądarkę i nie trzeba być programistą, żeby z niego skorzystać.

  1. Na stronie analizy naciśnij F12 (w Safari — najpierw włącz menu programisty w ustawieniach).
  2. Otwórz zakładkę „Sieć” (Network) i wyczyść listę.
  3. Przeprowadź analizę zwykłym trybem.
  4. Popatrz na wiersze, które pojawiły się między wyborem pliku a pokazaniem raportu.

Co zobaczysz: odwołania licznika odwiedzin (Google Analytics — jest na wszystkich stronach serwisu, także na tej, i liczy wyświetlenia stron) — i nic, co miałoby związek z twoim plikiem. Ani do naszej domeny, ani do żadnej innej. Przydatny szczegół: zapytania, które coś wysyłają, mają niezerowy rozmiar wysłanych danych, więc można posortować listę po tej kolumnie i upewnić się, że nie było czego wysyłać.

I nie jest to kwestia ustawień. Adresu, który przyjmuje plik albo wyniki analizy, w aplikacji po prostu nie ma — takiego obsługiwacza nie ma w kodzie, więc nie ma też sposobu, żeby włączyć go ptaszkiem.

Druga strona medalu

Uczciwie o tym, co wynika z tej samej architektury i czym się za nią płaci.

Nie odtworzymy twojej analizy. Zamknięta karta zabiera ją ze sobą: kopii nie było nigdzie poza twoją przeglądarką. Dlatego eksportuj raport do XLSX, jeśli jeszcze ci się przyda.

Nie widzimy, co u ciebie poszło nie tak. Jeśli plik się nie sparsował albo wynik wygląda dziwnie, wsparcie nie ma twojego zestawienia, żeby na nie spojrzeć — trzeba będzie opisać to słowami albo złożyć przykład na danych zanonimizowanych.

Liczy twój komputer. Przy bardzo dużych plikach szybkość opiera się o twoją maszynę, a nie o nasz serwer. Druga strona tego samego — na zwykłym laptopie dziesiątki tysięcy wierszy przechodzą w sekundy i nie ma żadnej kolejki do serwera.

Strona analizy to mimo wszystko strona internetowa. Przyjeżdża po sieci, działa na niej licznik odwiedzin, a aktualizujemy ją tak samo jak każdą stronę. Dlatego utrzymujemy osobną stronę z opisem przepływu danych i aktualizujemy ją tym samym wdrożeniem, które zmienia cokolwiek z opisanego: każde nowe odwołanie do serwera, każdy nowy skrypt z zewnątrz. Nieaktualny opis to nie nieścisłość marketingowa, tylko nieprawdziwe stwierdzenie postawione przed tym, kto nas sprawdza.

Co wypróbować

Najbardziej przekonujące sprawdzenie to takie, które zrobiłeś sam. Zajmuje pięć minut i nie wymaga niczego poza twoim zwykłym plikiem: otwórz stronę analizy, poczekaj, aż się załaduje, wyłącz Wi-Fi i policz.

Jeśli po tym zechcesz zagłębić się w same metody, są osobne omówienia: czym jest analiza ABC i kompleksowe ABC po dwóch wskaźnikach naraz.

Policz i sprawdź sam

Wgraj miesięczne zestawienie sprzedaży i dostań podział według wkładu i według stabilności popytu. A potem powtórz to samo z wyłączonym internetem — wynik będzie taki sam.

Otwórz analizę XYZ+ABC