Știința datelor pentru SEO și marketing digital: un ghid sugerat pentru începători

Publicat: 2021-12-07

Întrucât cea mai mare parte a muncii noastre se învârte în jurul datelor și pe măsură ce domeniul științei datelor devine mult mai mare și mult mai accesibil pentru începători, aș dori să împărtășesc câteva gânduri despre cum ați putea intra în acest domeniu pentru a vă îmbunătăți SEO și marketingul. aptitudini în general.

Ce este știința datelor?

O diagramă foarte cunoscută care este folosită pentru a oferi o imagine de ansamblu asupra acestui domeniu este diagrama Venn a lui Drew Conway care arată Data Science ca intersecția dintre statistici, hacking (abilități avansate de programare în general și nu neapărat pătrunzând în rețele și provocând daune) și substanțe. expertiză sau „cunoștințe de domeniu”:


Sursa: oreilly.com

Când am început să învăț, mi-am dat seama rapid că asta facem deja. Singura diferență este că o făceam cu instrumente mai de bază și manuale.
Dacă te uiți la diagramă, vei vedea cu ușurință cum probabil faci deja acest lucru. Folosești un computer (abilități de hacking), pentru a analiza date (statistici), pentru a rezolva o problemă practică folosind expertiza ta substanțială în SEO (sau orice specialitate pe care te concentrezi).
„Limbajul dvs. de programare” actual este probabil o foaie de calcul (Excel, Google Sheets etc.) și, cel mai probabil, utilizați Powerpoint sau ceva similar pentru a comunica idei. Să extindem puțin asupra acestor elemente.

  • Cunoașterea domeniului: Să începem cu punctul tău principal, așa cum știi deja despre domeniul tău de expertiză. Țineți minte că aceasta este o parte esențială a devenirii unui om de știință a datelor și că aici vă puteți construi și proteja cunoștințele. Acum câteva luni, discutam despre analiza unui set de date cu crawlere cu un prieten de-al meu. El este un fizician, care face cercetări post-doctorale asupra calculatoarelor cuantice. Cunoștințele și abilitățile sale de matematică și statistică sunt cu mult peste ale mele și știe cu adevărat să analizeze datele mult mai bine decât mine. O problema. Nu știa ce este un „404” (sau de ce ne-ar păsa de un „301”). Așadar, cu toate cunoștințele sale de matematică, nu a reușit să dea sens coloanei „stare” din setul de date de accesare cu crawlere. Desigur, el nu ar ști ce să facă cu acele date, cu cine să vorbească și ce strategii să construiască pe baza acelor coduri de stare (sau dacă să caute în altă parte). Tu și cu mine știm ce să facem cu ei, sau cel puțin știm unde să ne uităm dacă vrem să săpăm mai adânc.
  • Matematică și statistici: dacă utilizați Excel pentru a obține media unui eșantion de date, utilizați statistici. Media este o statistică care descrie un anumit aspect al unui eșantion de date. Statisticile mai avansate vă vor ajuta să înțelegeți datele dvs. Acest lucru este, de asemenea, esențial și nu sunt un expert în acest domeniu. Cu cât sunteți familiarizat cu mai multe distribuții statistice, cu atât aveți mai multe idei despre cum să analizați datele. Cu cât cunoașteți subiecte mai fundamentale, cu atât mai bine vă formulați ipotezele și faceți declarații precise despre seturile de date.
  • Abilități de programare: voi discuta acest lucru mai detaliat mai jos, dar în principal aici construiești flexibilitatea de a spune computerului să facă exact ceea ce vrei să facă, spre deosebire de a fi blocat cu ușurință de utilizat, dar ușor restrictivă. unelte. Aceasta este modalitatea principală de obținere, remodelare și curățare a datelor, în orice mod doriți, deschizând calea pentru a avea „conversații” deschise și flexibile cu datele dvs.

Să aruncăm acum o privire la ceea ce facem de obicei în Data Science.

Ciclul științei datelor

Un proiect tipic de știință a datelor sau chiar o sarcină, de obicei arată cam așa:


Sursa: r4ds.had.co.nz

De asemenea, recomand să citești această carte a lui Hadley Wickham și Garrett Grolemund, care servește ca o introducere excelentă în Știința datelor. Este scris cu exemple din limbajul de programare R, dar conceptele și codul pot fi ușor de înțeles dacă cunoașteți doar Python.

După cum puteți vedea în diagramă, mai întâi trebuie să ne importăm datele într-un fel, să le ordonăm și apoi să începem să lucrăm la ciclul interior de transformare, vizualizare și modelare. După aceea, comunicăm rezultatele altora.
Acești pași pot varia de la extrem de simpli la foarte complexi. De exemplu, pasul „Import” poate fi la fel de simplu ca citirea unui fișier CSV și, în unele cazuri, poate consta într-un proiect de scraping web foarte complicat pentru a obține datele. Câteva dintre elementele procesului sunt specialități cu drepturi depline.

Putem mapa cu ușurință acest lucru la unele procese familiare pe care le cunoaștem. De exemplu, puteți începe prin obținerea unor metadate despre un site web, prin descărcarea lui robots.txt și a sitemap-urilor XML. Probabil că atunci veți accesa cu crawlere și, eventual, veți obține, de asemenea, câteva date despre pozițiile SERP sau date link, de exemplu. Acum că aveți câteva seturi de date, probabil că doriți să îmbinați unele tabele, să atribuiți câteva date suplimentare și să începeți să explorați/înțelegeți. Vizualizarea datelor poate expune tipare ascunse sau vă poate ajuta să înțelegeți ce se întâmplă sau poate ridica mai multe întrebări. Probabil că doriți să vă modelați datele folosind câteva statistici de bază sau modele de învățare automată și, sperăm, să obțineți câteva informații. Desigur, trebuie să comunicați constatările și întrebările altor părți interesate din proiect.
Odată ce sunteți suficient de familiarizat cu diversele instrumente disponibile pentru fiecare dintre aceste procese, puteți începe să vă construiți propriile conducte personalizate care sunt specifice unui anumit site web, deoarece fiecare afacere este unică și are un set special de cerințe. În cele din urmă, veți începe să găsiți modele și nu va trebui să refaceți toată munca pentru proiecte/site-uri web similare.

Există numeroase instrumente și biblioteci disponibile pentru fiecare element din acest proces și poate deveni destul de copleșitor, instrumentul pe care îl alegeți (și să vă investiți timpul în învățare). Să aruncăm o privire la o posibilă abordare pe care o consider utilă în selectarea instrumentelor pe care le folosesc.

Alegerea instrumentelor și a compromisurilor (3 moduri de a mânca o pizza)

Ar trebui să utilizați Excel pentru munca de zi cu zi în procesarea datelor sau merită durerea să înveți Python?
Este mai bine să vizualizați cu ceva precum Power BI sau ar trebui să investiți în învățarea despre Gramatica Graficii și să învățați cum să utilizați bibliotecile care o implementează?
Ați produce o muncă mai bună creând propriile tablouri de bord interactive cu R sau Python sau ar trebui să mergeți doar cu Google Data Studio?

Să explorăm mai întâi compromisurile implicate în selectarea diverselor instrumente la diferite niveluri de abstractizare. Acesta este un extras din cartea mea despre construirea de tablouri de bord interactive și aplicații de date cu Plotly și Dash și consider că această abordare este utilă:

Luați în considerare trei abordări diferite pentru a mânca o pizza:

  • Abordarea comenzii: sunați la un restaurant și comandați pizza. Ajunge la ușa ta în jumătate de oră și începi să mănânci.
  • Abordarea supermarketului: mergi la un supermarket, cumperi aluat, brânză, legume și toate celelalte ingrediente. Apoi faceți singur pizza.
  • Abordarea fermei: crești roșii în curtea ta. Creșteți vaci, le mulgi și transformi laptele în brânză și așa mai departe.

Pe măsură ce urcăm la interfețe de nivel superior, spre abordarea ordonării, cantitatea de cunoștințe necesare scade foarte mult. Altcineva deține responsabilitatea, iar calitatea este verificată de forțele pieței de reputație și concurență.

Prețul pe care îl plătim pentru aceasta este libertatea și opțiunile diminuate. Fiecare restaurant are un set de opțiuni din care să alegi și tu trebuie să alegi dintre acele opțiuni.

Coborând la niveluri inferioare, cantitatea de cunoștințe necesare crește, trebuie să gestionăm mai multă complexitate, avem mai multă responsabilitate pentru rezultate și este nevoie de mult mai mult timp. Ceea ce câștigăm aici este mult mai multă libertate și putere de a ne personaliza rezultatele așa cum ne dorim. Costul este, de asemenea, un beneficiu major, dar numai la o scară suficient de mare. Dacă vrei să iei doar o pizza astăzi, probabil că este mai ieftin să o comanzi. Dar dacă intenționați să aveți unul în fiecare zi, atunci vă puteți aștepta la economii majore de costuri dacă o faceți singur.

Acestea sunt tipurile de alegeri pe care va trebui să le faceți atunci când alegeți ce instrumente să utilizați și să învățați. Utilizarea unui limbaj de programare precum R sau Python necesită mult mai multă muncă și este mai dificilă decât Excel, cu avantajul de a vă face mult mai productiv și mai puternic.

Alegerea este, de asemenea, importantă pentru fiecare instrument sau proces. De exemplu, ați putea folosi un crawler de nivel înalt și ușor de utilizat pentru a colecta date despre un site web și, totuși, ați putea prefera să utilizați un limbaj de programare pentru a vizualiza datele, cu toate opțiunile disponibile. Alegerea instrumentului potrivit pentru procesul potrivit depinde de nevoile dumneavoastră, iar compromisul descris mai sus vă poate ajuta să faceți această alegere. Acest lucru, sperăm, ajută, de asemenea, să abordeze întrebarea dacă sau nu (sau cât) Python sau R doriți să învățați.

Să ducem această întrebare puțin mai departe și să vedem de ce învățarea Python pentru SEO ar putea să nu fie cuvântul cheie potrivit.

De ce „python pentru seo” este înșelător

Ai vrea să devii un blogger grozav sau vrei să înveți WordPress?
Ai vrea să devii designer grafic sau obiectivul tău este să înveți Photoshop?
Ești interesat să-ți impulsionezi cariera SEO ducând abilitățile de date la nivelul următor sau vrei să înveți Python?

În primele cinci minute ale primei prelegeri a cursului de informatică din MIT, profesorul Harold Abelson deschide cursul spunând studenților de ce „informatica” este un nume atât de prost pentru disciplina pe care sunt pe cale să o învețe. Cred că este foarte interesant să urmărești primele cinci minute ale prelegerii:

Când un domeniu abia începe și nu îl înțelegi prea bine, este foarte ușor să confunzi esența a ceea ce faci, cu instrumentele pe care le folosești. – Harold Abelson

Încercăm să ne îmbunătățim prezența și rezultatele online și o mare parte din ceea ce facem se bazează pe înțelegerea, vizualizarea, manipularea și manipularea datelor în general, iar acesta este obiectivul nostru, indiferent de instrumentul folosit. Știința datelor este domeniul care are cadrele intelectuale pentru a face asta, precum și multe instrumente pentru a implementa ceea ce vrem să facem. Python ar putea fi limbajul (instrumentul) dvs. de programare preferat și este cu siguranță important să-l învățați bine. Este la fel de important, dacă nu mai important, să ne concentrăm pe „esența a ceea ce faci”, procesarea și analizarea datelor, în cazul nostru.
Accentul principal ar trebui să fie pe procesele discutate mai sus (import, ordonare, vizualizare etc.), spre deosebire de limbajul de programare ales. Sau, mai bine, cum să utilizați acel limbaj de programare pentru a vă îndeplini sarcinile, spre deosebire de simpla învățare a unui limbaj de programare.

Cui îi pasă de toate aceste distincții teoretice dacă oricum voi învăța Python?

Să aruncăm o privire la ce s-ar putea întâmpla dacă te concentrezi pe învățarea despre instrument, spre deosebire de esența a ceea ce faci. Aici, comparăm căutarea pentru „învățați wordpress” (instrumentul) cu „învățați blogging” (lucru pe care vrem să-l facem):

Diagrama prezintă subiecte posibile sub o carte sau un curs care învață despre cuvântul cheie din partea de sus. Zona de intersecție din mijloc arată subiecte care ar putea apărea în ambele tipuri de curs/carte.

Dacă te concentrezi pe instrument, fără îndoială vei ajunge să fii nevoit să înveți despre lucruri de care nu prea ai nevoie, mai ales ca începător. Aceste subiecte vă pot deruta și frustra, mai ales dacă nu aveți cunoștințe tehnice sau de programare.

Veți învăța și lucruri care sunt utile pentru a deveni un bun blogger (subiectele din zona de intersecție). Aceste subiecte sunt extrem de ușor de predat (cum să creați o postare pe blog), dar nu vă spun prea multe despre de ce ar trebui să blogați, când și despre ce. Aceasta nu este o greșeală într-o carte axată pe instrumente, deoarece atunci când înveți despre un instrument, ar fi suficient să înveți cum să creezi o postare pe blog și să mergi mai departe.
Ca blogger, probabil că ești mai interesat de ce și de ce a blogging-ului, iar acest lucru nu ar fi acoperit în cărțile axate pe instrumente.
Evident, lucrurile strategice și importante precum SEO, găsirea nișei dvs. și așa mai departe, nu vor fi acoperite, așa că veți pierde lucruri foarte importante.

Care sunt unele dintre subiectele despre știința datelor despre care probabil nu veți afla într-o carte de programare?

După cum am văzut, a lua un Python sau o carte de programare înseamnă probabil că doriți să deveniți inginer software. Subiectele ar fi în mod firesc orientate către acest scop. Dacă căutați o carte despre Data Science, obțineți subiecte și instrumente mai orientate spre analiza datelor.

Putem folosi prima diagramă (care arată ciclul Data Science) ca ghid și să căutăm în mod proactiv acele subiecte: „import date cu python”, „ordonare date cu r”, „vizualizare date cu python” și așa mai departe. Să aruncăm o privire mai profundă asupra acestor subiecte și să le explorăm în continuare:

Import

În mod firesc, trebuie să obținem mai întâi câteva date. Acesta poate fi:

  • Un fișier pe computerul nostru: cel mai simplu caz în care pur și simplu deschideți fișierul cu limbajul de programare dorit. Este important să rețineți că există multe formate de fișiere diferite și că aveți multe opțiuni în timp ce deschideți/citiți fișierele. De exemplu, funcția read_csv din biblioteca Pandas (un instrument esențial de manipulare a datelor în Python) are cincizeci de opțiuni din care să aleagă, în timp ce deschideți fișierul. Conține lucruri precum calea fișierului, coloanele pe care să le alegeți, numărul de rânduri de deschis, interpretarea obiectelor datetime, cum să faceți față valorilor lipsă și multe altele. Este important să fiți familiarizați cu aceste opțiuni și cu diferitele considerații în timpul deschiderii diferitelor formate de fișiere. În plus, Pandas are nouăsprezece funcții diferite care încep cu read_ pentru diferite formate de fișiere și date.
  • Exportați dintr-un instrument online: probabil că sunteți familiarizat cu acest lucru și aici vă puteți personaliza datele și apoi le puteți exporta, după care le veți deschide ca fișier pe computer.
  • Apeluri API pentru a obține date specifice: acesta este la un nivel inferior și mai aproape de abordarea fermă menționată mai sus. În acest caz, trimiteți o solicitare cu cerințe specifice și primiți înapoi datele pe care le doriți. Avantajul aici este că puteți personaliza exact ceea ce doriți să obțineți și să îl formatați în moduri care ar putea să nu fie disponibile în interfața online. De exemplu, în Google Analytics puteți adăuga o dimensiune secundară unui tabel pe care îl analizați, dar nu puteți adăuga o a treia dimensiune. De asemenea, sunteți limitat de numărul de rânduri pe care le puteți exporta. API-ul vă oferă mai multă flexibilitate și, de asemenea, puteți automatiza anumite apeluri pentru a avea loc periodic, ca parte a unui canal mai mare de colectare/analizare a datelor.
  • Explorarea cu crawlere și eliminarea datelor: probabil că aveți crawler-ul preferat și probabil că sunteți familiarizat cu procesul. Acesta este deja un proces flexibil, care ne permite să extragem elemente personalizate din pagini, să accesăm cu crawlere numai anumite pagini și așa mai departe.
  • O combinație de metode care implică automatizare, extracție personalizată și, eventual, învățare automată pentru utilizări speciale.

Odată ce avem câteva date, vrem să trecem la nivelul următor.

Ordonat

Un set de date „ordonat” este un set de date organizat într-un anumit mod. De asemenea, este denumită date „format lung”. Capitolul 12 din cartea R for Data Science discută mai detaliat conceptul de date ordonate dacă sunteți interesat.
Aruncă o privire la cele trei tabele de mai jos și încearcă să găsești diferențe:


Exemple de tabele din pachetul tidyr.

Veți descoperi că cele trei tabele conțin exact aceleași informații, dar organizate și prezentate în moduri diferite. Putem avea cazuri și populație în două coloane separate (tabelul 1) sau avem o coloană pentru a ne spune care este observația (cazuri sau populație) și o coloană „numărătoare” pentru a număra acele cazuri (tabelul 2). În tabelul 3, acestea sunt prezentate ca rate.

Când vă ocupați de date, veți descoperi că diferite surse organizează datele în mod diferit și că va trebui adesea să schimbați de la/la anumite formate pentru o analiză mai bună și mai ușoară. Este esențial să fii familiarizat cu aceste operațiuni de curățare, iar pachetul tidyr din R conține instrumente speciale pentru asta. De asemenea, puteți folosi panda dacă preferați Python și puteți verifica funcțiile de topire și pivotare pentru asta.
Odată ce datele noastre sunt într-un anumit format, este posibil să dorim să le manipulăm în continuare.

Transforma

O altă abilitate crucială de dezvoltat este abilitatea de a face orice modificări doriți asupra datelor cu care lucrați. Scenariul ideal este să ajungeți la stadiul în care puteți avea conversații cu datele dvs. și să puteți tăia oricum doriți să puneți întrebări foarte specifice și, sperăm, să obțineți perspective interesante. Iată câteva dintre cele mai importante sarcini de transformare de care probabil veți avea nevoie de mult, cu câteva exemple de sarcini care v-ar putea interesa:

După obținerea, curățarea și plasarea datelor noastre în formatul dorit, ar fi bine să le vizualizăm.

Vizualizați

Vizualizarea datelor este un subiect masiv și există cărți întregi despre unele dintre subiectele sale secundare. Este unul dintre acele lucruri care pot oferi o mulțime de informații despre datele noastre, mai ales că folosește elemente vizuale intuitive pentru a comunica informații. Înălțimea relativă a barelor dintr-o diagramă cu bare ne arată imediat cantitatea lor relativă, de exemplu. Intensitatea culorii, locația relativă și multe alte atribute vizuale sunt ușor de recunoscut și înțeles de către cititori.
O diagramă bună valorează cât o mie de cuvinte (cheie)!

Deoarece sunt numeroase subiecte de tratat cu privire la vizualizarea datelor, voi împărtăși doar câteva exemple care ar putea fi interesante. Câteva dintre ele sunt elementele de bază ale acestui tablou de bord cu date despre sărăcie, dacă doriți detaliile complete.

O diagramă cu bare simplă este uneori tot ceea ce aveți nevoie pentru a compara valori, unde barele pot fi afișate vertical sau orizontal:

S-ar putea să fiți interesat să explorați anumite țări și să explorați mai profund, văzând cum au progresat acestea cu privire la anumite valori. În acest caz, este posibil să doriți să afișați mai multe diagrame cu bare în același diagramă:

Compararea mai multor valori pentru mai multe observații se poate face și prin plasarea mai multor bare în fiecare poziție a axei X, iată principalele modalități de a face acest lucru:

Alegerea culorilor și a scalelor de culoare: o parte esențială a vizualizării datelor și ceva care poate comunica informații extrem de eficient și intuitiv dacă este făcut corect.

Scale de culori categoriale: utile pentru exprimarea datelor categorice. După cum sugerează și numele, acesta este tipul de date care arată cărei categorii îi aparține o anumită observație. În acest caz dorim culori cât mai distincte unele de altele pentru a arăta diferențe clare în categorii (în special pentru elementele vizuale care sunt afișate unul lângă celălalt).
Următorul exemplu utilizează o scară de culori categorică pentru a arăta ce sistem de guvernare este implementat în fiecare țară. Este destul de ușor să legați culorile țărilor de legenda care arată ce sistem de guvernare este folosit. Aceasta se mai numește și o hartă coropletă:


Sursa: Wikipedia

Uneori datele pe care vrem să le vizualizăm sunt pentru aceeași metrică, iar fiecare țară (sau orice alt tip de observație) se încadrează într-un anumit punct într-un continuum cuprins între punctele minime și maxime. Cu alte cuvinte, vrem să vizualizăm grade ale acelei metrici.
În aceste cazuri, trebuie să găsim o scară de culori continuă (sau secvenţială) . Este imediat clar în exemplul următor care țări sunt mai albastre (și, prin urmare, primesc mai mult trafic) și putem înțelege intuitiv diferențele nuanțate dintre țări.

Datele dvs. ar putea fi continue (cum ar fi diagrama cu harta traficului de mai sus), totuși, lucrul important despre numere ar putea fi cât de mult diferă de la un anumit punct. Scalele de culori divergente sunt utile în acest caz.

Graficul de mai jos arată ratele nete de creștere a populației. În acest caz, este interesant de știut mai întâi dacă o anumită țară are sau nu o rată de creștere pozitivă sau negativă. Sau vrem să știm cât de departe este fiecare țară de zero (și cu cât). O privire pe hartă ne arată imediat ce țări crește populația și care se micșorează. Legenda ne mai arată că rata maximă pozitivă este de 3,5% și că cea maximă negativă este -0,5%. Acest lucru ne oferă și o indicație asupra intervalului de valori (pozitive și negative).


Sursa: Dashboardom.com

Din păcate, culorile alese pentru această scară nu sunt ideale, deoarece persoanele daltoniste ar putea să nu poată distinge corect între roșu și verde. Acesta este un aspect foarte important atunci când alegem scalele noastre de culori.

Graficul de dispersie este unul dintre cele mai utilizate și mai versatile tipuri de diagrame. Poziția punctelor (sau a oricărui alt marker) indică cantitatea pe care încercăm să o comunicăm. Pe lângă poziție, putem folosi câteva alte atribute vizuale, cum ar fi culoarea, dimensiunea și forma, pentru a comunica și mai multe informații. Următorul exemplu arată procentul populației care trăiește cu 1,9 USD/zi, pe care îl putem vedea clar ca distanța orizontală a punctelor.
De asemenea, putem adăuga o nouă dimensiune diagramei noastre folosind culoarea. Aceasta corespunde vizualizării unei a treia coloane din același set de date, care în acest caz arată datele populației.
Putem observa acum că cel mai extrem caz în ceea ce privește populația (SUA), este foarte scăzut în metricul nivelului de sărăcie. Acest lucru adaugă bogăție graficelor noastre. Am fi putut folosi și dimensiunea și forma pentru a vizualiza și mai multe coloane din setul nostru de date. Totuși, trebuie să găsim un echilibru bun între bogăție și lizibilitate.

Ne-ar putea interesa să verificăm dacă există o relație între populație și nivelurile de sărăcie și astfel putem vizualiza același set de date într-un mod ușor diferit pentru a vedea dacă există o astfel de relație:

Avem o valoare aberantă în populație la aproximativ 1,35B și asta înseamnă că avem o mulțime de spații albe în diagramă, ceea ce înseamnă, de asemenea, că multe valori sunt strânse într-o zonă foarte mică. Avem, de asemenea, multe puncte care se suprapun, ceea ce face foarte dificilă identificarea oricăror diferențe sau tendințe.
Următorul grafic conține aceleași informații, dar vizualizate diferit folosind două tehnici:

  1. Scară logaritmică : de obicei vedem datele pe o scară aditivă. Cu alte cuvinte, fiecare punct de pe axa (X sau Y) reprezintă o adăugare a unei anumite cantități de date vizualizate. Putem avea și scale multiplicative, caz în care pentru fiecare punct nou de pe axa X înmulțim (cu zece în acest exemplu). Acest lucru permite împrăștierea punctelor și trebuie să ne gândim la multipli, spre deosebire de adunări, așa cum am avut în graficul anterior.
  2. Folosirea unui marcator diferit (cercuri goale mai mari) : Selectarea unei forme diferite pentru marcajele noastre a rezolvat problema „supra-plotării” în care s-ar putea să avem mai multe puncte unul peste altul în aceeași locație, ceea ce face foarte dificil chiar și de a vedea cate puncte avem.

Acum putem vedea că există un grup de țări în jurul marcajului 10M și, de asemenea, alte grupuri mai mici.

După cum am menționat, există mai multe tipuri de caractere și opțiuni de vizualizare și cărți întregi scrise despre acest subiect. Sper că acest lucru vă oferă câteva gânduri interesante de experimentat.

Date oncrawl³

Extindeți-vă analiza cu conexiuni fără întreruperi la seturi de date suplimentare. Analizați-vă strategia SEO pe baza datelor despre backlink, trafic SEO, clasamente și seturi de date personalizate din CRM, soluția de monitorizare sau orice altă sursă.
Află mai multe

Model

Trebuie să ne simplificăm datele și să găsim modele, să facem predicții sau pur și simplu să le înțelegem mai bine. Acesta este un alt subiect amplu și poate varia de la simpla obținere a unor statistici rezumative (medie, mediană, abatere standard etc.), până la modelarea vizuală a datelor noastre, folosind un model care rezumă sau găsește o tendință, până la utilizarea unor tehnici mai complexe pentru a obține o formula matematică pentru datele noastre. De asemenea, putem folosi învățarea automată pentru a ne ajuta să descoperim mai multe informații despre datele noastre.
Din nou, aceasta nu este o discuție completă a subiectului, dar aș dori să vă împărtășesc câteva exemple în care ați putea folosi câteva tehnici de învățare automată pentru a vă ajuta.

Într-un set de date cu crawlere, încercam să aflu ceva mai multe despre cele 404 pagini și dacă pot descoperi ceva despre ele. Prima mea încercare a fost să verific dacă există o corelație între dimensiunea paginii și codul de stare și a existat – o corelație aproape perfectă!
M-am simțit ca un geniu, timp de câteva minute, și m-am întors repede pe planeta Pământ.
Cele 404 pagini erau toate într-o gamă foarte restrânsă de dimensiune a paginii, astfel încât aproape toate paginile cu un anumit număr de kiloocteți aveau un cod de stare 404. Apoi mi-am dat seama că 404 pagini, prin definiție, nu au niciun conținut pe ele în afară de, ei bine, „pagina de eroare 404”! Și de aceea aveau aceeași dimensiune.

Apoi am decis să verific dacă conținutul îmi poate spune ceva despre codul de stare, așa că am împărțit URL-urile în elementele lor și am rulat un clasificator de arbore de decizie folosind sklearn. Aceasta este practic o tehnică care produce un arbore de decizie, în care respectarea regulilor acestuia ne poate conduce să învățăm cum să ne găsim ținta, 404 pagini în acest caz.
În următorul arbore de decizie, prima linie din fiecare casetă arată regula de urmat sau verificat, linia „eșantioane” este numărul de observații găsite în această casetă, iar linia „clasă” ne spune clasa observației curente , în acest caz, indiferent dacă codul său de stare este sau nu 200 sau 404.
Nu voi intra în mai multe detalii și știu că arborele de decizie ar putea să nu fie clar dacă nu sunteți familiarizat cu ele și puteți explora setul de date brute de accesare cu crawlere și codul de analiză dacă sunteți interesat.
Practic, ceea ce a descoperit arborele de decizie a fost cum să găsească aproape toate cele 404 de pagini, folosind structura de directoare a URL-urilor. După cum puteți vedea, am găsit 3.617 URL-uri, pur și simplu verificând dacă al doilea director al adresei URL a fost sau nu „/dev/” (prima casetă albastru deschis în a doua linie de sus). Așa că acum știm cum să localizăm 404-urile noastre și se pare că sunt aproape toate în secțiunea „/dev/” a site-ului. Acest lucru a fost cu siguranță o economie masivă de timp. Imaginați-vă că parcurgeți manual toate structurile și combinațiile URL posibile pentru a găsi această regulă.
Încă nu avem imaginea completă și de ce se întâmplă acest lucru, iar acest lucru poate fi urmărit mai departe, dar cel puțin acum am localizat foarte ușor acele adrese URL.

O altă tehnică pe care ați putea fi interesat să o utilizați este gruparea KMeans, care grupează punctele de date în diferite grupuri/clustere. Aceasta este o tehnică de „învățare nesupravegheată”, în care algoritmul ne ajută să descoperim modele despre care nu știam că există.

Imaginați-vă că aveți o grămadă de numere, să spunem populația țărilor, și ați vrut să le grupați în două grupuri, mari și mici. Cum ai face asta? Unde ai trasa linia?
Acest lucru este diferit de obținerea primelor zece țări sau a primilor X% dintre țări. Acest lucru ar fi foarte ușor, putem sorta țările după populație și le putem obține pe primele X după cum ne dorim.
Ceea ce dorim este să le grupăm ca „mari” și „mici” în raport cu acest set de date și presupunând că nu știm nimic despre populația țării.
Acest lucru poate fi extins și mai mult în încercarea de a grupa țările în trei categorii: mici, mijlocii și mari. Acest lucru devine mult mai dificil de făcut manual, dacă vrem cinci, șase sau mai multe grupuri.
Rețineți că nu știm câte țări vor ajunge în fiecare grup, deoarece nu solicităm top X țări. Grupând în două grupuri, putem observa că avem doar două țări în grupul mare: China și India. Acest lucru are sens intuitiv, deoarece aceste două țări au o populație medie care este foarte departe de toate celelalte țări. Acest grup de țări are propria medie și țările sale sunt mai aproape una de cealaltă decât țările celuilalt grup:

Țările grupate în două grupuri în funcție de populație

A treia țară ca mărime în ceea ce privește populația (SUA ~ 330M) a fost grupată cu toate celelalte, inclusiv țările care au o populație de un milion. Asta pentru că 330M este mult mai aproape de 1M decât 1,3 miliarde. Dacă am fi cerut trei grupuri, am fi obținut o imagine diferită:

Țările grupate în trei grupuri în funcție de populație

Și așa ar fi grupate țările dacă am solicita patru grupuri:

Țările grupate în patru grupuri în funcție de populație

Sursa: povertydata.org (fila „Cluster Countries”)

Aceasta a fost gruparea folosind o singură dimensiune – populația – în acest caz și puteți adăuga și mai multe dimensiuni și puteți vedea unde ajung țările.
Există multe alte tehnici și instrumente, iar acestea au fost doar câteva exemple care sperăm că sunt interesante și practice.

Acum suntem gata să comunicăm descoperirile noastre cu publicul nostru.

Comunica

După toată munca pe care o facem în pașii anteriori, trebuie să comunicăm în cele din urmă constatările noastre altor părți interesate din proiect.
Unul dintre cele mai importante instrumente din știința datelor este caietul interactiv. Notebook-ul Jupyter este cel mai utilizat și acceptă aproape toate limbajele de programare și ați putea prefera să utilizați formatul special de notebook RStudio, care funcționează în același mod.
Ideea principală este să aveți date, cod, narațiune și vizualizări într-un singur loc, astfel încât alte persoane să le poată audita. Este important să arătați cum ați ajuns la acele concluzii și recomandări pentru transparență, precum și reproductibilitate. Alte persoane ar trebui să poată rula același cod și să obțină aceleași rezultate.
Un alt motiv important este abilitatea celorlalți, inclusiv „voi viitor”, de a duce analiza mai departe și de a construi pe baza muncii inițiale pe care ați făcut-o, de a o îmbunătăți și de a o extinde în moduri noi.
Desigur, acest lucru presupune că publicul este confortabil cu codul și că chiar îi pasă de el!
De asemenea, aveți opțiunea de a vă exporta blocnotesurile în HTML (și în alte câteva formate), excluzând codul, astfel încât să ajungeți la un raport ușor de utilizat și să păstrați totuși codul complet pentru a reproduce aceleași analize și rezultate.

Un element important al comunicării este vizualizarea datelor, care a fost, de asemenea, tratată pe scurt mai sus.
Și mai bine este vizualizarea interactivă a datelor, caz în care permiteți publicului să selecteze valori și să verifice diferite combinații de diagrame și valori pentru a explora datele și mai departe.
Iată câteva tablouri de bord și aplicații de date (unele dintre ele ar putea dura câteva secunde pentru a se încărca) pe care le-am creat pentru a vă oferi o idee despre ce se poate face.
În cele din urmă, poți crea și aplicații personalizate pentru proiectele tale, pentru a răspunde nevoilor și cerințelor speciale, iar iată un alt set de aplicații SEO și marketing care ar putea fi interesante pentru tine.

Am parcurs pașii principali din ciclul Data Science și acum haideți să explorăm un alt beneficiu al „învățării python”.

Python este pentru automatizare și productivitate: adevărat, dar incomplet

Mi se pare că există convingerea că învățarea Python este în principal pentru a obține sarcini productive și/sau automatizate.
Acest lucru este absolut adevărat și nu cred că trebuie să discutăm nici măcar despre valoarea de a putea face ceva într-o fracțiune din timpul în care ne-ar lua să o facem manual.
Cealaltă parte lipsă a argumentului este analiza datelor . O analiză bună a datelor ne oferă perspective și, în mod ideal, suntem capabili să oferim informații utile pentru a ne ghida procesul de luare a deciziilor, pe baza expertizei noastre și a datelor pe care le avem.

O mare parte a ceea ce facem este să încercăm să înțelegem ce se întâmplă, să analizăm concurența, să ne dăm seama unde este conținutul cel mai valoros, să decidem ce să facem și așa mai departe. Suntem consultanți, consilieri și factori de decizie. Capacitatea de a obține câteva informații din datele noastre este în mod clar un mare beneficiu, iar domeniile și abilitățile menționate aici ne pot ajuta să realizăm acest lucru.

Dacă ai afla că etichetele tale de titlu au o lungime medie de șaizeci de caractere, este bine?
Ce se întâmplă dacă săpați puțin mai adânc și descoperiți că jumătate dintre titlurile dvs. sunt cu mult sub șaizeci, în timp ce cealaltă jumătate au mult mai multe personaje (făcând media de șaizeci)? In order to get practical and provide good recommendations, you need a higher-resolution view of your title tags' lengths, probably a histogram that shows the frequency of your title tag lengths at each interval so you can have a separate strategy for length. A simple table would also do, for example:

Splitting title lengths by intervals of twenty was an arbitrary decision, and you can split them the way you want. Looking at the table above, and seeing that we have three times more than the average titles in the interval (0, 20), we might want to split it further to better understand what is going on.
Having a better view than the default single-statistic summaries that we get from standard tools, allows us to employ different strategies for different lengths. For example, we can remove the brand name from the titles that are longer than a certain number of characters, and keep it in other titles.
This was an example of very simple insights, which are possible due to the flexibility we get by using a programming language, and a set of data science tools. This also allows us to iterate and modify our approach, until we find a satisfactory point that can take our analysis to the next steps.

Visualization, machine learning, modeling and general data manipulation skills allow us to get better insights on our data, even though those analyses are typically done only once. Still, if you use code to get those insights, you can always take some parts and apply to other projects, or again to the same project. In this case, the insights we got, helped us in our automation, even more. The insights would tell us what needs to be automated and what doesn't.

Should you learn Python?

Is a useless question, and the more useful one is, “How much Python (or R) should you learn?”

My view of how we use computers has evolved in the last few years.
I used to think that there were two main ways of using computers, either you are a regular user, using “point-and-click” applications to do certain tasks, or you are a developer who creates those applications that the rest of us use.

I then realized that it is more like a continuum between very high level use (pizza ordering approach), and the lower levels of the farm approach. I also realized that there is a happy sweet spot in between, where you learn enough programming to get productive and boost your data analysis skills, without having to become a software developer or engineer.

What are the main differences between being a programmer (a software user), and a software developer (or engineer)?

What are the differences between making a great coffee at home, versus establishing and running a cafe?
If making good coffee is one skill, then running a cafe requires ten other skills, most of which have nothing to do with making coffee.
You have to choose a good location (real estate), hire people (management and HR), manage cash flow and finances (accounting and finance), do marketing, legal, manage delivery, adhere to cleanliness and health standards, and so on. You can be a great coffee maker without knowing anything about those fields, but if you want to take it to the next level, you will have to manage all those additional tasks unrelated to making coffee.
The same applies to being a good programmer or data analyst versus being a software developer/engineer. There are so many other things that you have to know and worry about that you don't need as a regular programmer doing stuff for yourself and co-workers and clients. Once you have enough knowledge and skills in programming and data science, you will be in a good position to choose and decide whether you want to continue as an analyst, focusing on data science, or if you want to end up creating software that other people would use.

How do I get into Data Science?

To learn anything I think you have to do two things in parallel:

  1. Learn the fundamentals and the theory properly: Taking courses and reading books, and getting into the fundamentals can push you forward, as you will be gaining in weeks, knowledge that took decades to establish. It would also immediately give you ideas on things you thought were impossible, or had no idea existed.
  2. Get as much real world exposure and experience as possible: Experience is always important, and my suggestion is to try as soon as you can to read_csv with Python or R, to actually do so with your GA, GSC, or crawl dataset. See what else you can do (visualize, manipulate, model, etc.). See if you get errors, try to analyze the data only using your programming language.

What does frustration look like, and by when will I get productive?

It's difficult to say, and it depends on your skill, background, the hours you put in, but visualizing it like this might help you on those frustrating unproductive days:

My suggestion is to take a non-trivial task, for example running an SEO audit for a site, only using Python. Your first session will mostly be frustrating, and most of the time will be spent checking documentation, and the definition of basic terms.
In parallel, you are still going through your course, and learning new stuff.
The value of that frustrating session is that it informs and motivates your theoretical learning. You will have questions in mind, and when you learn new things, you will immediately have a place to implement them.
Your next analysis session will probably be a little more productive, but still not productive enough to do at work. You go again to your learning and theory.
Do this enough times, and your time will become mostly productive, eventually you will be doing real work during working hours. The ideal scenario is where you are productive enough to do work, but every time use some time to research better techniques, which improves your work as well. By then you will start to get paid for learning, and your clients will be happily sponsoring you!

Suggested next steps

For the learning path a Data Science course would be great, especially if you get feedback on your work, and you can follow the topics in the order recommended.

If you go with Python I suggest the following libraries:

  • pandas: The workhorse of all your tasks in preparing, cleaning, reshaping data whichever way you want. Fluency in pandas allows you to have full control over your data, which will help you immensely in visualization, general analysis, and machine learning
  • Plotly and Dash: This is my favorite data visualization library, although there are many others. What I mostly like about it, is that it produces interactive and responsive HTML charts by default. It is very detailed and thorough in its options, yet simple to use. Plotly also includes Plotly Express, which is a high-level plotting tool, which is more intuitive to use, and takes a data-oriented approach (as opposed to a chart-oriented approach). Plotly also created Dash, which is the tool for creating interactive dashboards, but also serves as a full front-end web development framework. Other important data visualization libraries are matplotlib, altair, and bokeh, and for interactive data apps, there is panel and streamlit. Another important feature is that Plotly and Dash are available in all languages used in Data Science. You might use other libraries, and this is just my personal preference. Speaking of personal preferences:
  • advertools: This is a library that I created to provide various online marketing tools, most importantly, an SEO crawler, log file parser and compressor, multi robots.txt parser, recursive sitemap parser, SEM keyword and text ad generator for large scale campaigns, weighted frequency word counter, Google SERP downloader, YouTube data API, and a few other tools. It is still evolving, and you are more than welcome to contribute any suggestions, bugs, or issues you might have with it.

These should be enough for beginners, and when you are familiar with them, you can do your own research for more specialized libraries, machine learning and deep learning tools, or libraries that are specialized in performance, or a special niche use-case.