Znajomość bieżącej sumy odwiedzin, użytkowników lub działań w kroczącym okresie czasu to dobry sposób na analizę wydajności witryny lub aplikacji. Wyszukiwane hasło „12 Month Rolling report” ma ponad 12 milionów wyników wyszukiwania, a eksperci uważają, że raport kroczący jest jednym z najlepszych sposobów na pokazanie trendów. Zastąpienie okresu czasu widokiem rocznym lub 12-miesięcznym, w zależności od przypadku użycia, jest równie wnikliwe.
Na przykład analiza codziennych trendów odwiedzających witrynę w okresie sześciu miesięcy może pokazać cenne informacje, ale nie pokazuje trendów w mniejszych okresach w zakresie wykresu. Pokaże tylko ogólny trend.
Jeśli chcesz uzyskać wgląd w okresy wzrostu lub spadku, analiza trendów kroczących może pomóc w zidentyfikowaniu tych okresów. Poniższy wykres pokazuje te same dane, które widzieliśmy powyżej, ułożone w dziennym przedziale, w kroczącym formacie trendu 7-dniowego.
Dzięki temu 7-dniowemu okresowi kroczącemu możesz zobaczyć więcej niż tylko ogólny trend widoczny na dziennym wykresie liniowym. Tutaj możesz zobaczyć mikrotrendy w ogólnym doświadczeniu, które mogą ujawnić znacznie bardziej wnikliwe informacje dla Twojej organizacji. W naszym przykładzie widzimy, że ogólny trend odwiedzających w ciągu dnia na naszym pierwszym wykresie jest w górę, ale nasz drugi pokazuje kolejne 7 okresów w ramach naszego ogólnego trendu, które mają kierunek spadkowy. Tego rodzaju wgląd może pomóc nam zidentyfikować okresy trendu spadkowego, które mogą zbiegać się z działaniami marketingowymi, które albo się sprawdziły, albo nie.
Zapytanie
Aby zbudować to zapytanie, będziemy chcieli wiedzieć kilka rzeczy:
- Okres toczenia. Przykład 12 miesięcy, 30 dni lub 7 dni. W naszym przypadku:7 dni.
- Dane, które analizujemy:liczba odwiedzających dziennie.
Zapytanie będzie składało się z różnych podzapytań. Najpierw użyj generate_series , aby przypisać wiersze w tabeli dla wszystkich dat w zakresie dat od początku do końca zakresu dat w kolumnie visitd.created_date , która zostanie wywołana w głównej instrukcji SELECT. To podzapytanie będzie służyć jako tabela, z której będziemy wybierać.
Drugie podzapytanie przejdzie do sekcji głównej i zwróci liczbę wszystkich unikalnych użytkowników, którzy odwiedzili naszą witrynę w okresie 7 dni. To podzapytanie będzie służyć jako osobna kolumna w głównym zapytaniu i będzie liczyć różnych użytkowników od „dnia” do 7 dni przed „dniem”.
Łącząc to wszystko razem, możemy wygenerować kroczący trend naszych odwiedzających dziennie w okresie 7 dni:
SELECT
day,
(
SELECT
COUNT(DISTINCT "Visitors"."visitor_id") AS "Visitors"
FROM
"public"."visitors" AS "Visitors"
WHERE
"Visitors"."created_date" BETWEEN b.day - 7 AND b.day + 1
)
FROM (SELECT
generate_series(
MIN(DATE_TRUNC('day', "Visitors"."created_date")::DATE),
MAX(DATE_TRUNC('day', "Visitors"."created_date")::DATE),
'1d')::date as day
FROM "public"."visitors" AS "Visitors"
) as b
GROUP BY day
ORDER BY day
Testowanie matematyki. Możemy przetestować matematykę w poniższej tabeli. Zobacz kroki opóźnienia, które przypisują poprzednie 7 dni do kolumny Liczby, oraz kolumnę sumy, która będzie równa kolumnie Goście.
Po potwierdzeniu naszej matematyki możemy ufać, że ta funkcja zapewni nam ogólny widok bieżących sum kroczących okresów. Powyższe zapytanie można dostosować, aby pokazywało różne okresy w zależności od przypadku użycia.