In questo tutorial ti mostreremo un esempio di utilizzo del parametro `facetFields` e di come sfruttarlo in combinazione con gli altri filtri delle API.
Obiettivo
Vogliamo delle informazioni quantitative, divise in 4 segmenti per dimensione. Quali e quanti social sono usati da aziende fino a 5 dipendenti? Quanti da 6 a 10? 11-100? Ed oltre i 100?
Vogliamo cioè scoprire che circa il 4% delle aziende fino a 5 impiegati usa i social network, il 13% di quelle con un numero di impiegati compreso tra 6 e 10, il 19% nella fascia 11-100 ed, infine, il 31% di quelle oltre i 100 dipendenti.
Inoltre, vogliamo scoprire che al salire della grandezza delle aziende Facebook diventa relativamente meno dominante, andando quasi in pari con il secondo ed il terzo social più usato, quando si parla di aziende molto grandi.
Per ottenere questo tipo di conteggi è possibile usare le facet!
Mettiamoci all’opera
Usando il parametro fields=facet le risposte non conterranno più dati aziendali, ma aggregazioni che ci dicono quante aziende corrispondono ai criteri della richiesta. Specifichiamo su che campo fare faceting, cioè dove ottenere gli aggregati, usando facetFields, nel nostro caso con valore socials.*.
Per interagire con socials e numero di dipendenti delle aziende avremo bisogno dei package socials e economics. Il numero dipendenti è filtrabile tramite employeesMin ed employeesMax.
Fino a 5 dipendenti:
https://api.atoka.io/v2/companies?packages=socials&fields=facets&facetFields=socials.*&employeesMax=5&token=TOKEN
{
"meta": { "count": 3800034 },
"facets": {
"socials": {
"facebook": { "count": 145637 },
"twitter": { "count": 35509 },
"googleplus": { "count": 22678 },
"youtube": { "count": 17581 },
"instagram": { "count": 13936 },
"linkedin": { "count": 9777 },
"vimeo": { "count": 1648 },
"flickr": { "count": 1290 }
}
}
}
meta.count
ci dice quante aziende corrispondono ai filtri, aziende fino a 5 dipendentifacets.socials
contiene la lista di facet: per ogni valore viene riportato il numero aggregato. Circa 145 mila usano Facebook, 35 mila Twitter ecc.
Da 6 a 10 dipendenti:
https://api.atoka.io/v2/companies?packages=socials&fields=facets&facetFields=socials.*&employeesMin=5&employeesMax=10&token=TOKEN
{
"meta": { "count": 376793 },
"facets": {
"socials": {
"facebook": { "count": 49002 },
"twitter": { "count": 11234 },
"googleplus": { "count": 7499 },
/* ... */
}
}
}
Da 11 a 100 dipendenti:
https://api.atoka.io/v2/companies?packages=socials&fields=facets&facetFields=socials.*&employeesMin=10&employeesMax=100&token=TOKEN
{
"meta": { "count": 234119 },
"facets": {
"socials": {
"facebook": { "count": 44633 },
"twitter": { "count": 14005 },
"youtube": { "count": 10894 },
/* ... */
}
}
}
Oltre 100 dipendenti:
https://api.atoka.io/v2/companies?packages=socials&fields=facets&facetFields=socials.*&employeesMin=100&token=TOKEN
{
"meta": { "count": 13503 },
"facets": {
"socials": {
"facebook": { "count": 4199 },
"twitter": { "count": 2335 },
"youtube": { "count": 2267 }
}
}
}
In altre parole, i dati dicono che Facebook è il social più usato da tutte le aziende italiane, seguito da Twitter, stabile in seconda posizione. Google Plus si aggiudica il terzo posto, ma solo tra aziende fino a 10 dipendenti, dopo questa soglia le aziende tendono a preferire YouTube. Grazie ai dati di queste 4 chiamate sono stati disegnati i grafici di cui sopra.
Seguendo la stessa procedura ed utilizzando le API in modo molto simile, è possibile analizzare e segmentare aziende lombarde, quelle con fatturato oltre i 10 milioni di euro, quelle che esistono da più di 10 anni o le startup. O qualsiasi combinazione di questi e tanti altri criteri!
Quanto mi costa
Mentre per i pacchetti dati che otteniamo nel dettaglio azienda o nella ricerca aziende consumiamo crediti di tipo companies:*
, nel caso dei dati aggregati provenienti dai facets, consumiamo crediti di tipo companies:facets
.
Ogni campo che otteniamo in output ci costa 1 credito companies:facets
: ognuna delle chiamate nell’esempio quindi ci costerà quindi 16 crediti (il numero di campi nel pacchetto socials).
Atoka Trick
Per ridurre il numero di crediti di ogni chiamata possiamo fare in modo di ottenere solo i facet dei campi che ci interessano, supponiamo siano Facebook, Twitter, Instagram e LinkedIn. Possiamo farlo utilizzando il parametro facetFields
e passando come valore la lista di campi a cui siamo interessati.
https://api.atoka.io/v2/companies?packages=socials&fields=facets&facetFields=socials.facebook,socials.twitter,socials.instagram,socials.linkedin&employeesMin=100&token=TOKEN
Ogni chiamata ci costerà quindi 4 crediti companies:facets
.