Познаването на текущия общ брой посещения или потребители или дейности за непрекъснат период от време е добър начин да анализирате ефективността на вашия уебсайт или приложение. Думата за търсене „12-месечен подвижен отчет“ има над 12 милиона резултата от търсенето и експертите смятат, че подвижният отчет е един от най-добрите начини за показване на тенденции. Заместването на период от време с годишен или 12-месечен изглед, в зависимост от вашия случай на употреба, е също толкова проницателен.
Например, анализирането на ежедневните тенденции на посетителите на уебсайта за период от шест месеца може да покаже ценна информация, но не показва тенденции за по-малки периоди от време в обхвата на диаграмата. Ще покаже само общата тенденция.
Ако искате да получите прозрения за идентифициране на периоди на растеж или спад, анализът на подвижната тенденция може да ви помогне да идентифицирате тези периоди. Диаграмата по-долу показва същите данни, които се виждат по-горе, подредени на дневен интервал, във формат на подвижен 7-дневен тренд.
С този подвижен изглед за 7-дневен период можете да видите повече от просто общата тенденция, наблюдавана в дневната обща линейна диаграма. Тук можете да видите микротенденции в рамките на цялостното изживяване, което може да разкрие много по-проницателна информация за вашата организация. В нашия пример тук можем да видим, че общата тенденция на посетителите по ден е нагоре в първата ни графика, но втората ни разкрива последователни 7 периода в рамките на общата ни тенденция, които имат посока надолу. Този вид прозрение може да ни помогне да идентифицираме периоди на низходяща тенденция, която може да съвпадне с маркетингови усилия, които са дали резултат, или не.
Заявката
За да изградим тази заявка, ще искаме да знаем няколко неща:
- Тягащият период. Пример 12 месеца, 30 дни или 7 дни. В нашия случай:7 дни.
- Показателят, който анализираме:посетители на ден.
Заявката ще бъде съставена от различни подзаявки. Първо, използвайте generate_series, за да присвоите редове в таблица за всички дати в период от дати от началото до края на периода от време в колоната visits.created_date, която ще бъде извикана в главния оператор SELECT. Тази подзаявка ще служи като таблица, от която ще избираме.
Втора подзаявка ще влезе в основния раздел и ще върне броя на всички уникални посетители, посетили нашия сайт за период от 7 дни. Тази подзаявка ще служи като собствена колона в основната заявка и ще отчита отделните посетители от „деня“ до 7 дни преди „деня“.
Обединявайки всичко това, можем да генерираме подвижна тенденция на нашия посетител на ден за период от 7 дни:
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
Тестване на математиката. Можем да тестваме математиката тук в следващата таблица. Вижте стъпките на изоставане, които присвояват предишните 7 дни на колоната Брой и колоната Общо, която ще се равнява на колоната Посетители.
След като нашата математика е потвърдена, можем да се доверим на тази функция, за да ни даде обща представа за текущите суми на текущите периоди. Горната заявка може да бъде коригирана, за да показва различни периоди от време в зависимост от вашия случай на употреба.