At kende den løbende sum af besøg eller brugere eller aktiviteter over en rullende periode er en god måde at analysere dit websites eller apps ydeevne på. Søgeudtrykket "12 måneders rullende rapport" har over 12 millioner søgeresultater, og eksperter mener, at den rullende rapport er en af de bedste måder at vise tendenser på. At erstatte din tidsperiode med en årlig eller 12 måneders visning, afhængigt af din brugssituation, er lige så indsigtsfuldt.
For eksempel kan en analyse af daglige websitebesøgende tendenser over en seks måneders periode vise værdifuld information, men den viser ikke tendenser over mindre tidsperioder inden for diagrammets rækkevidde. Det vil kun vise den overordnede tendens.
Hvis du søger at få indsigt i at identificere perioder med vækst eller tilbagegang, kan en rullende trendanalyse hjælpe dig med at identificere disse perioder. Diagrammet nedenfor viser de samme data som ovenfor, opstillet i et dagligt interval, i et rullende 7-dages trendformat.
Med denne 7-dages periode rullende visning kan du se mere end blot den overordnede tendens, der ses i det daglige samlede linjediagram. Her kan du se mikrotrends inden for den samlede oplevelse, som kan afsløre meget mere indsigtsfuld information for din organisation. I vores eksempel her kan vi se, at den overordnede tendens for besøgende om dagen er opad i vores første diagram, men vores anden afslører på hinanden følgende 7 perioder inden for vores overordnede tendens, der har en nedadgående retning. Denne form for indsigt kan hjælpe os med at identificere perioder med nedadgående tendens, der kan falde sammen med marketingindsats, der enten virkede eller ikke gjorde.
Forespørgslen
For at bygge denne forespørgsel vil vi gerne vide et par ting:
- Den rullende periode. Eksempel 12 måneder, 30 dage eller 7 dage. I vores tilfælde:7 dage.
- Metricen, vi analyserer:besøgende pr. dag.
Forespørgslen vil være sammensat af forskellige underforespørgsler. Først skal du bruge gener_series til at tildele rækker i en tabel for alle datoer i et datospænd fra begyndelsen til slutningen af datospændet i kolonnen visitors.created_date, som vil blive kaldt i SELECT-hovedsætningen. Denne underforespørgsel vil fungere som den tabel, vi vælger fra.
En anden underforespørgsel vil gå i hovedsektionen og returnere antallet af alle de unikke besøgende, der besøgte vores websted i en 7-dages periode. Denne underforespørgsel fungerer som sin egen kolonne i hovedforespørgslen og tæller de forskellige besøgende fra "dagen" til 7 dage før "dagen".
Ved at sætte det hele sammen kan vi generere en rullende trend for vores besøgende pr. dag i en 7-dages periode:
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
Tester matematikken. Vi kan teste matematikken her i følgende tabel. Se forsinkelsestrinene, der tildeler de foregående 7 dage til kolonnen Antal, og den samlede kolonne, der svarer til kolonnen Besøgende.
Med vores matematik bekræftet, kan vi stole på, at denne funktion giver os et samlet overblik over løbende totaler af rullende perioder. Ovenstående forespørgsel kan justeres til at vise forskellige tidsperioder afhængigt af din brugssituation.