Przejdź do treści
Czas na świecieEU--:--UK--:--USA--:--CN--:--PLDEFRIT中文EN

portal o AI i technologiiwydarzenia · analizy · wywiady · tło techniczne

Szukaj
NA ŻYWO
›

Analityka sportowa zjada własny potok danych

Aplikacja Sports od Apple sprowadza sprawdzanie wyników do samych wyników, a infrastruktura pod spodem staje się trudniejsza do zbudowania. W ostatnich tygodniach pojawiły się nowe narzędzia do pulpitów GA4, analityka jako middleware w Go i architektury zapytań agentowych.

SportWyjaśnienieTomasz LisowskiOpublikowano: 27 września 20267 min czytaniaŹródła 4
Analityka sportowa zjada własny potok danych

Apple ma aplikację o nazwie Sports. To cała nazwa. Slate recenzował ją 10 czerwca, gdy startowały mistrzostwa świata, i opisuje produkt, który nie robi prawie nic: nazwy drużyn i logotypy, bilanse, godziny meczów, wyniki. Żadnego kanału z wiadomościami, żadnego przewodnika po transmisjach, żadnego przewijania w stylu TikToka.

Ta recenzja to dobry kontrapunkt dla tego, jak zwykle sprzedaje się technologię sportową. W tych samych tygodniach pojawiła się seria narzędzi dla programistów do budowy zaplecza analitycznego. Różnica między tymi dwiema historiami pokazuje, gdzie leży ciekawa praca.

Co Apple faktycznie wypuściło

Recenzent Slate opisuje produkt zbudowany na odejmowaniu. Aplikacja nie ma nagłówków wiadomości ani przewodników po transmisjach, choć kanał meczu zobaczysz, jeśli go dotkniesz. Kursy bukmacherskie pojawiają się na tablicy wyników domyślnie i można je wyłączyć na stałe jednym przełącznikiem. Reklam prawie nie ma, czasem na górze strony trafi się promocja Apple TV. Użytkownik wybiera, które ligi i drużyny pokazują się na stronie głównej i w pasku bocznym, a wyniki tych drużyn mogą zasilać Live Activities na ekranie blokady albo nie.

Twierdzenie o szybkości z tej recenzji jest konkretne i sprawdzalne. Autor pisze, że musiał wyłączyć automatyczne aktualizacje Pittsburgh Penguins w fazie play-off o Puchar Stanleya, bo aplikacja pokazywała zdarzenia wcześniej niż jego pakiet streamingowy. To samo widział przy meczach NFL, futbolu akademickiego i koszykówki akademickiej. Zasięg obejmuje mecze mistrzostw świata, MLS, NWSL i około 30 innych lig piłkarskich, a także tenis mężczyzn i kobiet oraz LPGA Tour, z podstawowymi protokołami meczowymi, tabelami i składami po dotknięciu.

Apple zapowiedziało aplikację zimą 2024 roku. Slate cytuje słowa przedstawiciela Apple z premiery: firma \"stworzyła Apple Sports, żeby dać kibicom to, czego chcą, czyli aplikację zapewniającą niezwykle szybki dostęp do wyników i statystyk\".

\"Stworzyliśmy Apple Sports, żeby dać kibicom to, czego chcą, czyli aplikację zapewniającą niezwykle szybki dostęp do wyników i statystyk.\"

To problem danych przebrany za problem projektowy. Każdy wynik na tym ekranie to kanał danych, mapowanie między ligami i drużynami oraz budżet opóźnienia. Apple może ponieść ten koszt. Większość organizacji budujących coś podobnego nie może, dlatego w tym samym okresie pojawiła się grupa wydań skierowanych do ludzi, którzy muszą złożyć ten potok sami.

Odbudowa starej analityki na danych z GA4

Weźmy adaca-analytics, opublikowane na GitHubie 8 września przez Adaca, firmę konsultingową. To samodzielnie hostowana warstwa pulpitów dla Google Analytics 4, działająca na Cloudflare Workers. Dzienne agregacje z GA4 Data API albo eksportu BigQuery trafiają do bazy D1, którą operator ma. Dane w czasie rzeczywistym zostają w Google. Repozytorium daje sześć pulpitów od razu plus czterostopniowy kreator własnych, a każda liczba nagłówkowa otwiera stronę szczegółów z własnym trendem i podziałami, wstępnie policzonymi, żeby ładowały się w jednym zapytaniu.

Szczegóły operacyjne liczą się bardziej niż lista funkcji. Konfiguracja wymaga konta usługi Google z dostępem Viewer do usługi GA4 i jego klucza JSON. Wdrożenie rozwidla repozytorium, tworzy D1 i KV, pobiera klucz i wypuszcza Workera z jego zadaniem cron. Nie ma logowania, więc README każe postawić przed tym Cloudflare Access albo wbudowane Basic Auth. Praca lokalna idzie przez npm install, plik .dev.vars z JSON-em konta usługi w jednej linii, generowanie typów, migrację bazy i serwer deweloperski. CI to cztery bramki: build, typecheck, lint i test. Licencja to MIT.

Obietnica, według samego repozytorium, to przywrócenie kształtu produktu, który wypchnęła GA4: pulpity z drążeniem danych, zapisane segmenty, linki do udostępniania tylko do odczytu, które mogą przypiąć filtr, porównanie z poprzednim okresem albo zeszłym rokiem, tygodniowe i miesięczne podsumowania oraz alerty o ruchu mailem lub przez Slacka.

Analityka jako middleware, nie platforma

Drugie wydanie stawia przeciwny zakład architektoniczny. Plainoldanalytics, opublikowane na GitHubie 13 września, to analityka internetowa dokładana do aplikacji w Go. README opisuje ją jako podobną w duchu do Umami, Plausible czy PostHoga, ale osadzoną w twojej aplikacji, a nie hostowaną obok niej. Pakiet rdzeniowy nie zna żadnego backendu, więc jego import nigdy go nie wciąga. Wybierasz pakiet magazynu albo implementujesz interfejs Storage i przekazujesz go do konstruktora.

Użycie jest celowo małe. Konstruktor memory_store zwraca zarówno Storage, jak i okablowanie, a wywołanie analytics.Middleware opakowuje istniejący router. Pulpit montuje się pod wybraną ścieżką. Znacznik script włącza przechwytywanie zdarzeń po stronie klienta, w tym opcjonalne nagrywanie sesji i wywołania takie jak plainoldanalytics.track('signup', {plan: 'pro'}). Ruch trafia na dysk mniej więcej raz na sekundę, a wywołanie Close przy zamykaniu opróżnia bufor. Istnieją adaptery dla gin i chi, a README pokazuje, jak ograniczyć middleware do grupy tras, żeby sam pulpit nie był zapisywany jako ruch.

Dwa drobne szczegóły zdradzają, że pisał to ktoś, kto uruchamiał analitykę na produkcji. Żądania mogą nieść właściwości klucz/wartość, po których interfejs może filtrować, a właściwość użytkownika ma specjalne traktowanie i pokazuje cały ruch związany z tym użytkownikiem. Trasy można całkowicie wykluczyć z logowania. Parametry ścieżki są zapisywane tak, jak są, ale opakowanie handlera w UseRequestPath zapisuje dosłowną trasę. To ma znaczenie, gdy serwujesz pliki pod wildcardem i nie chcesz, żeby każdy adres stawał się osobnym wierszem.

Pytanie o agentów pod tym wszystkim

Starburst opublikował 11 września analizę dwóch architektur analizy danych przez agentów i nazywa w niej problem, wokół którego krążą powyższe narzędzia. Scenariusz to sieć sklepów spożywczych pytająca, czy zeszłotygodniowa promocja jajek była rentowna. Na to pytanie nie da się odpowiedzieć z samej sprzedaży jajek. Potrzebne są pytania dalsze: czy promocja przyprowadziła klientów, którzy inaczej by nie przyszli, czy nowi klienci wrócili, co jeszcze było w tych transakcjach, gdzie te produkty leżą w sklepie i jak rentowne są one same.

Starburst przedstawia dwa praktyczne sposoby podłączenia agenta. Pierwszy, który autor nazywa \"opcją 0\" i wyraźnie odradza poza nietypowymi sytuacjami, wyciąga surowe dane i wysyła je agentowi jako pliki albo bezpośrednim potokiem, zostawiając agentowi całe przetwarzanie. Zarzut dotyczy kosztu i wydajności: wysyłanie terabajtów do czegoś, co liczy opłatę za element danych, robi się drogie, a agent wykonuje pracę, w której silnik bazy danych jest lepszy.

Drugi daje agentowi bezpośredni dostęp do bazy, żeby sam pisał SQL i stopniowo doprecyzowywał zapytania. Baza robi to, do czego jest zoptymalizowana, a agent nadzoruje. Starburst zauważa, że literatura wskazuje tu realne ryzyko: agenci mogą być znacznie bardziej wymagający niż ludzcy użytkownicy i zalać system spekulacyjnymi zapytaniami, gdy zbliżają się do odpowiedzi. Autor twierdzi jednak, że branża skupia się teraz na obsłudze takich obciążeń.

W tym tekście jest jedno ograniczenie, które warto powtórzyć. Autor pisze, że minie sporo czasu, zanim agenci będą przetwarzać terabajty danych strukturalnych na tym samym poziomie optymalizacji co dostępne dziś systemy bazodanowe, zbudowane na dziesięcioleciach badań. Do tego czasu ciężki koniec zostaje w bazie.

Dlaczego to historia o sporcie

Sport to najtrudniejszy przypadek konsumencki dla tego stosu, bo wartość wyniku spada w sekundach, a publiczność przychodzi falami: faza grupowa mistrzostw świata, seria play-off, niedzielne popołudnie z kilkunastoma meczami naraz. Recenzent Slate zauważa, że aplikacja jest wystarczająco szybka, żeby zdradzić wynik, zanim dogoni ją transmisja. To nie osiągnięcie interfejsu. To potok, który musi pogodzić dziesiątki lig, przypisać je do wybranych przez użytkownika drużyn i wypchnąć aktualizacje na ekran blokady w oknie opóźnienia.

Apple może to sfinansować. Wszyscy inni prowadzący produkt dla kibiców, produkt bukmacherski albo aplikację klubu składają go z części. Części opublikowane we wrześniu mówią wprost o kompromisach: miej własną bazę i drąż dane bez dostawcy, osadź analitykę we własnym procesie i pomiń platformę albo daj agentowi dostęp do zapytań i przyjmij, że zada więcej pytań, niż kiedykolwiek zadał ludzki analityk. Aplikacja bez funkcji to łatwa część. Dostarczenie liczby na ekran przed transmisją to produkt.

Komentarze 0

Źródła

4
  1. 01Apple Made a Sports App That Does Almost Nothing. It's IncredibleEN
  2. 02We rebuilt the old Google Analytics on top of GA4's dataEN
  3. 03Show HN: Plainoldanalytics: Analytics Middlware for GoEN
  4. 04An Analysis of Two Architectures for Agentic Data AnalysisEN

Wszystkie liczby i cytaty w tym tekście pochodzą z poniższych źródeł. Nie dopisujemy danych, których w źródłach nie ma.

Materiały zostały przygotowane przez zespół redakcyjny wspierane przez AI.

Tomasz Lisowski

Tomasz Lisowski

Sport, motoryzacja i podróże

Tomasz Lisowski w FLASH24 pisze o sporcie, motoryzacji i podróżach, opierając się na protokołach zawodów, danych technicznych i rozkładach jazdy, a nie na doniesieniach z drugiej ręki. Przy wynikach meczów sprawdza strzelców i minuty, a w testach samochodów porównuje zużycie paliwa z deklaracjami producenta. Rozmawia z mechanikami, sędziami i pracownikami kolei, a w kalendarzu czeka na starty sezonu i nowe trasy kolejowe po Europie. Po godzinach naprawia elektryki w garażu i jeździ pociągami po kontynencie, co przekłada się na teksty o motoryzacji i podróżach. Nie publikuje liczb ani terminów, których nie potwierdzi w dwóch źródłach.

Redakcja →

Komentarze

0
  1. Brak komentarzy — bądź pierwszy.

Dodaj komentarz

Komentarze są widoczne publicznie. Nie publikujemy wulgaryzmów, spamu i treści reklamowych.