TEHNOLOGIA GRUPULUI EXPEDIA – SOFTWARE

Cum Vrbo ™ coreleaza evenimentele de afaceri cu datele de performanta

Porsche-urile sunt frumoase, atragatoare si rapide – trei calitati pe care ar trebui sa le aiba un site bun. Fotografie de Francesco Lo Giudice pe Unsplash

In aceasta poveste, vom analiza modul in care Vrbo ™ (o companie Expedia Group ™) a implementat un proces automat pentru a corela evenimentele de afaceri cu datele de performanta. Sper ca te va inspira sa faci la fel.

Dar mai intai trebuie sa acoperim cateva elemente de baza. Stim cu totii ca site-urile mai rapide transforma mai multi clienti. Dar este un lucru sa te uiti la datele de la altii si sa ai incredere ca acelasi lucru se va aplica site-ului tau web. Este un alt lucru sa-ti faci propriile cercetari. Cand va analizati propriile date, acestea devin dintr-o data mai semnificative.

Sfantul Graal al monitorizarii performantei consta in modul in care performanta se coreleaza cu conversia.

Declinare de responsabilitate: Daca cititi acest lucru, probabil ca inseamna ca aveti un anumit interes pentru performanta web si cel mai probabil nu aveti nevoie de convingere cu privire la beneficiile de a avea un site web rapid. Asa ca voi ignora partea in care incerc sa te conving, dar doar in cazul in care ai nevoie de ceva convingator, iata un articol excelent de la Google sau sute de studii de caz din statistici WPO.

Treceti peste acest capitol daca sunteti familiarizati cu valorile de performanta RUM si centrate pe utilizator .

ROM

Monitorizarea utilizatorilor reali (RUM) este o tehnologie de monitorizare pasiva care inregistreaza toate interactiunile utilizatorului cu un site web sau un client care interactioneaza cu un server sau o aplicatie bazata pe cloud (sursa: Wikipedia). Il folosim ca un instrument de masurare pentru a urmari daca realizam de fapt imbunatatiri in lumea reala.

Evenimentele RUM la Vrbo sunt in sute de milioane pe zi. Obtinerea de informatii despre performanta intr-o perioada rezonabila de timp dintr-un set de date atat de voluminos este dificila, dupa cum va puteti imagina. Prin urmare, preprocesam datele RUM intr-o statistica sumara agregata pentru a face posibila interogarea datelor in timp real. Aceste date agregate (si derivarile ulterioare) sunt cele care populeaza tablourile noastre de bord.

Lucrarea Spark ruleaza zilnic si agrega datele in statistici rezumative. Tablourile de bord consuma date agregate pentru a completa graficele

De asemenea, folosim monitorizarea sintetica la Vrbo, dar aceasta poveste se concentreaza pe datele RUM.

Valori de performanta

Am participat la numeroase intalniri la Expedia Group ™, la care a fost adresata urmatoarea intrebare: Cum ar trebui sa urmarim indicatorii de performanta? Problema principala nu este disponibilitatea valorilor de performanta, dar una care este semnificativa pentru site-ul dvs. web poate fi confuza si coplesitoare.

„Faceti ceea ce masurati, deci masurati cu atentie”

Nu sunt sigur de sursa originala a acestui citat, dar l-am vazut pentru prima data in cartea Maimutelor haosului de Antonio Garcia Martinez. Consider ca acest citat incapsuleaza perfect monitorizarea performantei. Ne aminteste sa alegem cu atentie valorile de performanta pe care le urmarim, deoarece acestea sunt valorile care se vor imbunatati cel mai probabil .

Mai jos sunt valori de performanta considerate cele mai semnificative pentru Vrbo. Detaliile modului in care am procedat la selectarea acestor valori sunt oarecum complicate, dar au fost determinate in principal de relatia perceputa intre o valoare metrica si experienta reala a utilizatorului:

Acestea nu sunt singurele valori pe care le masuram. Sunt doar cei pe care ii urmam foarte atent.

Regiuni de performanta

„Site-ul meu se incarca in 5 secunde”

De cate ori ai auzit ceva similar? In primul rand, trebuie sa definim ce inseamna „incarcare”. Este atunci cand se picteaza primii pixeli (FCP) sau cand evenimentul de incarcare a fost declansat? In al doilea rand, ce fel de masurare a fost utilizata? Este o medie de 5 secunde (medie), tp50 (mediana), tp90 sau ce?

De asemenea, analizarea statisticilor individuale este extrem de problematica. Iata cateva exemple din postarea lui Rico Mariani despre Intelegerea regiunilor de performanta (care a servit ca o inspiratie majora pentru munca din spatele acestei postari pe blog):

„Medie : puteti savarsi orice infractiune de variabilitate si sa mentineti media constanta.”

„P90 : Daca raportati doar P90, puteti comite orice infractiune care va place inainte sau dupa P90, atata timp cat acel punct ramane fix, sunteti bine. De exemplu, daca cei mai buni 50% toti se inrautatesc, acest lucru nu ar afecta deloc P90. Sau daca ati mutat P90 in jos, in detrimentul, sa spunem, P25 si P50, nu este bine ”.

„P50 : Ibid in principal … imbunatatirile din jumatatea superioara nu se inregistreaza si nici agravarea jumatatii din spate.”

Datorita problemelor evidentiate mai sus, la Vrbo incercam sa analizam distributia cat mai mult posibil:

Dupa cum puteti vedea in captura de ecran de mai sus, separam si distributia in 3 regiuni: Satisfacut , Tolerant si Frustrat . Acestea sunt aceleasi regiuni definite in standardul Apdex. Aceasta nu este o coincidenta: folosim aceste 3 regiuni pentru a calcula un scor Apdex pentru tendintele pe termen lung:

Intelegerea cu precizie a efectului pe care performanta o are asupra implicarii utilizatorilor este notoriu dificil de inteles. Modul in care masurati implicarea utilizatorului devine ceva ce trebuie luat in considerare cu atentie, deoarece are un efect profund asupra intelegerii mentionate anterior. Retineti ca acest lucru este diferit de conversia utilizatorului. De obicei, conversia este atribuita utilizatorilor care au cumparat ceva sau, in cazul Vrbo, utilizatorilor care au ajuns sa rezerve o inchiriere de vacanta. Dar in aceasta poveste, vorbim despre implicarea utilizatorilor, cunoscuta si sub numele de micro-conversii. Ideea este ca utilizatorii care se angajeaza mai mult vor avea o inclinatie mai mare de conversie.

Valoarea de implicare poate fi o masura a comportamentului oricarui utilizator care inseamna ca „fac lucrurile”, care este specifica paginii. De exemplu, pe pagina de start a Vrbo, daca un utilizator trimite o cerere de cautare, o consideram ca o implicare a utilizatorului; pe o pagina cu detalii despre proprietate, atunci cand un utilizator interactioneaza cu fotografiile, consideram ca acest utilizator este angajat; si pe pagina de rezervare, un utilizator care isi introduce e-mailul in formularul de contact este considerat, de asemenea, angajat.

Exemple de implicare a utilizatorilor

Acum, ca am acoperit elementele de baza, sa punem totul impreuna.

Tabloul de bord al Sfantului Graal

Mai jos este o captura de ecran a tabloului de bord Sfantul Graal pe care l-am creat la Vrbo ™. Acest exemplu analizeaza TTFB corelat cu implicarea utilizatorilor pentru una dintre cele mai importante pagini de la Vrbo ™.

  1. Pagina analizata (redactata).
  2. Valoare de implicare utilizata pentru aceasta pagina speciala (eliminata).
  3. Modificarea totala a implicarii calculata prin combinarea datelor din intregul grafic
  4. Perioada analizata (in acest caz, ultimele 30 de zile fata de cele 30 de zile anterioare)
  5. Histograma performantei complete pentru perioada curenta (bare albastre) fata de perioada anterioara (bare portocalii). Acest lucru este similar cu ceea ce avem in fila Histograma de durata, dar fiecare bara este un stivuit care arata procentul de evenimente angajate (culoare deschisa) versus evenimente neingradite (culoare inchisa).
  6. Rata de implicare pentru perioada curenta (linia albastra) fata de perioada anterioara (linia portocalie). Rata de implicare este rezultatul evenimentelor implicate impartit la evenimentele totale.

In general, aceasta vizualizare ofera o perspectiva pentru dezvoltatori sa inteleaga modul in care schimbarea performantei paginilor / aplicatiilor lor afecteaza implicarea utilizatorului.

Studiu de caz

In lumea reala, majoritatea schimbarilor vor avea un anumit impact atat asupra performantei, cat si asupra functionalitatii. Acesta este cazul unei schimbari recente pe care am facut-o pe una dintre paginile noastre. Pe scurt, am convertit o pagina de la randarea de pe server la randarea de pe partea de client in timp ce itera pe imbunatatirea performantei de incarcare.

Asa cum era de asteptat, TTFB si FCP s-au imbunatatit semnificativ, deoarece cu randarea pe partea de client browserul primeste primii octeti mult mai repede si poate incepe redarea primilor pixeli mai devreme.

Din tabloul nostru de bord stim ca FCP mai rapid se coreleaza cu o implicare mai mare. Dar, spre surprinderea noastra, am vazut un angajament mai mic in general dupa schimbarea noastra. Hmm, ce a mers prost?

Daca privim cu atentie, putem vedea in mod clar imbunatatirea performantei reprezentata de numarul mai mare de galeti la stanga (coloane albastre vs. coloane portocalii.) Dar, in acelasi timp, vedem o rata de angajare mai mica pentru majoritatea galetilor (linia albastra vs linia portocalie .) Acele doua sunt forte opuse care ajung sa conduca la o rata de angajare usor mai mica in general .

Ipoteza noastra pentru rata de implicare mai scazuta se datoreaza dispozitivelor de ultima generatie care au mai multe dificultati in redarea paginii in partea clientului si au ca rezultat mai multi utilizatori care sari. Are sens, deoarece nu afecteaza cele mai rapide galeti.

Speram sa vedem un impuls major de angajament cu aceasta imbunatatire a performantei si am fost oarecum dezamagiti de rezultate. Dar la sfarsitul zilei, atata timp cat datele sunt corecte, trebuie sa acceptam ca nu toate imbunatatirile de performanta sunt create egal .

  • Priviti distributia ori de cate ori este posibil.
  • Corelarea evenimentelor de afaceri cu datele de performanta este provocatoare, dar extrem de plina de satisfactii.
  • Majoritatea modificarilor vor avea impact atat asupra performantei, cat si a functionalitatii.
  • Imbunatatirea performantei in detrimentul implicarii utilizatorilor este un rezultat nedorit.
  • Nan Liu — a co-autorizat aceasta postare pe blog si a implementat vizualizarile de mai sus ca parte a proiectului ei de stagiar la Vrbo in vara anului 2019
  • Brian Quinn – l-a mentorat pe Nan Liu si a scris cea mai mare parte a codului de baza pentru tablourile de bord examinate in aceasta postare de blog
  • Chris Karcher – cercetare initiala despre performanta vs. angajament la Vrbo in 2018
  • Patrick Ritchie si Seth Hodgson – au sponsorizat tot acest efort