Google-Trends, Auslesen: Update

https://trends.google.com/trends/api/widgetdata/multiline/csv?req={"time":"2019-01-27 2020-01-27","resolution":"WEEK","locale":"de","comparisonItem":[{"geo":{"country":"DE"},"complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"hannes"}]}}],"requestOptions":{"property":"","backend":"IZG","category":0}}&token=[DeinToken]&tz=-60

Die URL lässt sich bei GTrends nach entsprechender Analyse des Downloads via G-Chrome -> Netzwerk nachvollziehen. Eine quasi-dynamische Generierung entsprechender URL-Listen via Quelle „Keywords“ ist möglich und ich denke heute über eine Integration in das InstaLOC-Reportingsystem nach.

Hinweis(e):

csv? -> json? entspricht dem Exportformatwechsel.

Update „Instafinal“ auf die Versionsnummer 2.2-0b

Aus nicht nachvollziehbaren Gründen lässt sich die übliche Auslogurl (https://www.instagram.com/accounts/logout/) des Mediums Instagram nicht mehr in dem Automatismus verwerten. Bei Aufruf erscheint eine entsprechende Fehlermeldung. Dies hatte zur Folge, dass die Software „Instafinal“ angepasst werden musste, da eben die – in Reihe geschalteten Accounts – mit einem sauberen Logout / Login schlichtweg funktionsfähig gehalten werden.

Die Prozedur sieht so aus:

procedure TForm1.Button60Click(Sender: TObject);
var
ovElements_1, ovElements: OleVariant;
i,j: Integer;
begin
webbrowser1.Navigate(‚https://www.instagram.com/’+last_acc);
delay(5000);
pagecontrol1.ActivePage:=browser;
try
ovElements := WebBrowser1.OleObject.Document.all;
for i := 0 to (ovElements.Length – 1) do
if (ovElements.item(i).className = ‚_q8y0e coreSpriteMobileNavSettings _8scx2‘) then //be aware that it must be written with the exact case className
begin
try
ovElements.item(i).Click;
delay(1000);
ovElements_1 := WebBrowser1.OleObject.Document.all;
for j := 0 to (ovElements_1.Length – 1) do
begin
if (ovElements_1.item(j).classname = ‚_h74gn‘) then //be aware that it must be written with the exact case className
begin
if (ovelements_1.item(j).innertext=’Abmelden‘) then
begin
ovElements_1.item(j).Click;
end;
end;
end;
except
end;
end;
except
end;
end;

Zur Erklärung der Funktionen.
Bei Instagram existiert eine genau definierte Auslogprozedur, welche u.a. hier beschrieben wird. Dieser Weg lässt sich problemlos automatisieren, indem man via Rechtsklick -> Untersuchen eben die Buttonbezeichnungen erfasst. Der Name des „Zahnrades“ ist „_q8y0e coreSpriteMobileNavSettings _8scx2“ und der Klick wird via „ovElements.item(i).Click;“ ausgelöst. Nach der „Aktion“ öffnet sich eine Art Iframe und hier wird die weitere Vorgehensweise etwas komplizierter, da die Einstellungspunkte IMMER den Namen „_h74gn“ tragen und das Problem wird so gelöst, dass der eigentliche „Abmelden“-Klick erst dann ausgelöst wird, wenn das Listenelement mit „Abmelden“ als „innertext“ verbunden ist.
Diese Logout-Prozedur wird mit jedem Accountwechsel aktiviert und hier ist die Anweisung “ webbrowser1.Navigate(‚https://www.instagram.com/’+last_acc);“ besonders wichtig, da die Variable „last_acc“ eben den vorhergehenden Account beschreibt und nach Beendigung des Likedurchganges entsprechend befüllt wird.

Der Zeitaufwand zur Schaffung dieser Lösung betrug ca. 15 Minuten.

Update: Datenvisualisierungsfunktion(en) – Hashtagclient

Im Zuge der Datenvisualisierungsfunktionsentwicklungen wurde die Darstellung umgestellt. Diese erlaubt nun den direkten Vergleich von mind. 2 Hashtagentwicklungsdatensätzen und liefert den Zugang zu weiteren / tiefergehenden Interpretationen bzgl. dieser Fragestellungen:

– Existieren Schnittmengen zwischen den Kommunikationshäufungen innerhalb von Tag- / Themenwelten?
– An welchen Tagen „lohnt“ sich ein Engagement zu den analysierbaren Tag- / Themenwelten?
– Welche Zielgruppenbewegungen werden in welchen Zeiträumen zu den Tag- / Themenwelten sichtbar?

Darstellungen der absoluten Reichweitenveränderungen (Rohdaten)


Darstellungen der absoluten Reichweitenveränderungen im Verhältnis zum ersten Datensatz.

Darstellungen der Reichweitenveränderungen im Verhältnis zum vorhergehenden Datensatz. (Datum [z] zu Datum [y]).

Das gezeigte Schema findet bereits jetzt Eingang in die tägliche Promopraxis und ein aktueller Account erfreut sich folgendem Wachstum:

l6.03.2018 -> (Re)start -> 0 Follower
21.03.2018 -> ~30 Follower
22.03.2018 -> ~100 Follower mit durchschn. Interaktion zu 20 – 30 „Likes“ inkl. guter Durchklickrate auf die verlinkte Webseite.

Die Prognose läuft darauf hinaus, dass besagter Account zum Monatsende sich zwischen 150 – 200 Follower einpendeln wird. Bereits jetzt sind Wechselwirkungen zwischen dem Auftritt, Trafficströme UND (!) positiver Rankingeffekte sichtbar. Eine finale Verifikation steht aus und wird via Gegenprobe realisiert werden.

Fragen? Anregungen?
Ich freue mich auf Kommentare, Telefonate und eMails unter office[at]pontipix.de

HashtagDB-Client (Update auf 0.6B)

Das Hashtagdatenbankprojekt wurde um eine Basis-Auswertungsfunktion erweitert.

Diese visualisiert nun die Reichweitenveränderungen der zu analysierenden Hashtags in folgenden Optionen:

(a) Darstellung der Absoluten Veränderung
(b) Darstellung der prozentualen Veränderung, BEZOGEN auf den ersten Datensatz (i.d.R. Monatsanfang)
(c) Darstellung der prozentualen Veränderung, BEZOGEN auf den Vorgängerdatensatz

Update „Instafinal“

Ein Instagramaccount, welcher eher diverse Aspekte aus meinem Hobby „Analogfotografie“ abbildet, zeigte in den letzten 2 Tagen interessante Reichweitenentwicklungen.
Diese sind:
+ 38 Follower an einem Tag (aktuell: ~340 Follower)
~ 50 Likes im Mittelwert / Medium
Darüber hinaus fällt mir auf, dass die aktivierten / angesprochenen Follower „relativ“ sauber wirken (geringe Botdichte, relativ wenige und typische SPAM-Comments und relativ wenig Follow/Unfollow). Auch beobachte ich eine gesteigerte Kommentierbereitschaft.
Der Account wird von einer weiteren Person bedient und gepflegt. Wir wechseln uns hierbei ab und ich zeigen individuelle Stilelemente (Bildsprache, Hashtags und weitere Ausführungen).

Diese Beobachtungen werden nun als Grundlage für ein Werkzeugupdate zu „Instafinal“ genommen und folgende Features implementiert:

-> dynamische Auswahl der zu belikenden Hashtags
–> Basis (Medien): die letzten 6 Postings
–> Basis (Locations): die letzten 6 Postings aus Galerien, Influencer etc.

Im Rahmen der Weiterentwicklung werden die aktuellen Beobachtungen beobachtet. Sollten sich die aktuellen Positiventwicklungen verfestigen, werden die Hashtag- und Interaktionsdatenbanken an das Projekt angebunden.

Update – Instagrambot, Screening der Medien auf Interaktionen

Nach einigen Überlegungen habe ich mich dazu entschieden, die ausgegliederte Instagramrechercheanwendung zu beenden und sämtliche Algorithmen in den bestehenden Bot zu überführen. Der „Bot“ kann also nicht mehr als typischer Bot begriffen werden, da diese Software nun auch über eine stabile Recherche- und Auswertungsfunktionssammlung verfügt.

[Analyse und Auswertungen der Interaktionen auf einen beliebigen (öffentlichen) Account]

Die Umsetzung der Funktionen basiert auf den Gedanken, die ich in diesem Blog unter dem Aspekt „Influencersuche“ bereits beschrieben hatte und die veröffentlichte Galerie zeigt einen Ausschnitt aus der Bedienung.
Die entwickelten Prozeduren gehen nach folgendem Muster vor:

[Datensammeln]
(a) Recherche der IDs des interessanten Accounts
(b) Download: Medienverzeichnis des interessanten Accounts
(c) Schritt-für-Schritt-Analyse der gecrawlten Medien auf die Endpoints „Likes“ und „Comments“ auf Basis der Media-ID und Erfassung der interagierenden Accounts (Username, User-ID etc.)

[Datenaufbereitung]
(a) Aufsummierung der Likes JE identifizierten Account
(b) Aufsummierung der Likesummen nach folgendem Beispielen:
– 1000 Accounts haben 1 x geliked
– 400 Accounts haben 100 x geliked
– 10 Accounts haben 300 x geliked

Datenbeispiele zu Instagramaccount aus dem Bereich „Politik“:
Hinweis:
Sämtliche sensible Daten sind in den nachfolgenden Beispieldateien selbstverständlich codiert.
Rohdaten: cl_rohdaten_codiert.xlsx
Summierte Daten: cl_sumlikeslikers_codiert.xlsx
Zusammenfassung: cl_zfg.xlsx

Die erhobenen und aufbereiteten Datensätze erlauben nun einen tieferen Blick auf die Accounts. Hierbei lassen sich Antworten auf folgende Fragen interpretieren:
(a) Existiert ein Ungleichgewicht zwischen der Followeranzahl und der Anzahl der Interagierenden?
(b) Sind die Interagierenden besonders aktiv, weniger aktiv oder selten aktiv?

Die grob beschriebene Funktion wird ab sofort in das Dienstleistungsspektrum der Wobus & Lehmann GbR eingegliedert.

Habt Ihr weitere faszinierende Ideen? Ich freue mich auf Kommentare, eMails und nette Telefonate.

[Notiz] Update von „Instafinal“ auf 2.0

Die nächste Version wird um die folgenden Features ergänzt werden:
(a) Zeitfensterkonfigurationen
– Liken und Interagieren auf Basis konkreter Zeiten wie Früh, Mittag, Abends, Nacht
(b) allgem. Postinganalysen bzgl. Zielgruppen
– Liken und Interagieren auf Basis ggf. vorhandener Likes der zu „belikenden“ Posts
– Liken und Interagieren auf Basis der auslesbaren Publishzeiten
Die angedachten Algorithmen und Funktionen wurden in den letzten 2 Wochen manuell durchgetestet, für „gut“ befunden und wir werden die Instagram-bezogenen Dienstleistungen kommende Woche entsprechend erweitern.

Accountanalyse (Instagram) – Update 0.3Beta

Mit Fertigstellung der Versionsnummer 0.3Beta lassen sich nun die Interaktionen in Form von Likes auf Instagram-Accounts prüfen. Hierfür nehme ich den folgenden Endpoint:

https://api.instagram.com/v1/media/[media-id]/likes?access_token=[token]

Wie sich der Token generieren lässt, habe ich im Artikel „Instagram-Token generieren“ dargestellt.
Die Datensätze für die Variable „[media-id]“ generiere ich aus dem Account-Scrape-Prozess, welcher die Rohdaten – beschrieben im Artikel „Instagram-Rohdaten“ – beinhalten (siehe letzte Spalte im Datensatz vom Account „hanneswobus“).

Die Datenanalyse erfolgt nun mit Hilfe einer einfachen Laufschleife über den o.g. Endpoint. Ich bitte an dieser Stelle um Verständnis darüber, dass ich hier nicht die Rohdaten aus dem „hanneswobus“-Account zeigen werde, da hier noch keine stabile Anonymisierungsprozedur vorliegt und wir prinzipiell keine personenbezogenen Datensätze zu diesen virtuellen Beziehungen freigeben. Die Betatester_innen und interessierte Bekannte, Freunde und Kolleg_innen können sich natürlich jederzeit gern mit ihren Accounts bei uns melden.

Die Struktur der ausgelesenen Datensätze hat bei unserer Anwendung nun die folgende Form

[Nr.]=>[Username]=>[URL]=>[ID]=>[Post-ID]

Die Spalte „Nr.“ hat eine eher kosmetische Funktion. Der Username lässt sich über den Endpoint-Respons und dessen Variable „username“ auslesen und die URL wird softwareseitig zusammengesetzt aus den Zeichenketten „https://www.instagram.com/“ + [username] + „/“. Die Spalte „ID“ umfasst die ausgelesenen IDs der likenden Accounts und die „Post-ID“ zeigt eine Querverbindung auf die ID der entsprechenden Posts, welche hier vom User geliked worden.

Natürlich sind die Rohdaten nur für Expert_innen interpretierbar und deswegen werden sie in weiteren Schritten verarbeitet. Diese sind: (a) Bereinigung der Liste „Account-Name“, (b) Zusammenzählen der getätigten Likes JE Accountname und (c) Sortieren der Liste im Modus „Absteigend“.

Die bereinigten Datensätze und die Rohdaten werden per sofort in die Socialmedia-Reports aufgenommen und entsprechend erläutert. Die Zahl „Likes“ findet nun auch ihren Platz in den Komplex „Social-Signals“.

Was kann man nun aus den Datensätzen erkennen?
(a) Fangewichtung
(b) aktive Fans – gezeigt durch hohes Likeaufkommen
(c) durch Rückkoppelung auf die Accountrohdaten: „beliebte“ Posts
(d) durch Rückkoppelung auf die Tags der Accountrohdaten: „beliebte“ Tags
(e) Fangemeinde, Likende Accounts etc. des Wettbewerbs
(f) Aktivitätsgründe durch Rückkoppelung auf unsere Hashtag-Reichweitenanalyse

[Todo für Versionsnummer 0.4Beta]
(a) Auslesen der Comments und kommentierenden Accounts analog zu den Likes
(b) Datenaufbereitung analog zu den Likes
(c) Vergleich: Likes, Comments im Verhältnis zu den Posts
(d) Diagramme: Verlauf, Vergleich etc. für die 10 aktivsten Accounts (Likes, Comments)
(e) Einbau der 10 aktivsten Accounts in die PDF / HTML-Reports der Software

Nach einigen und auch sehr intensiven Diskussionen haben wir uns zu einer Fandefinition entschieden, welche sich ausschließlich auf die Interaktion (hier: Likes, Comments, Likes UND Comments) bezieht.
Die kommende Versionsnummer wird den Komplex „Instagram-Datenerhebung“ und „Instagram-Monitoring“ abschließen und ich werde nahtlos ähnliche Funktionen für Pinterest entwickeln.

Accountanalyse (Instagram) – Update 0.3Beta

Die Software wurde nun auf die Tiefenanalyse der Tags erweitert. Hierbei werden die Tags aus den Rohdaten (siehe Artikel: Rohdaten) hinsichtlich der Häufung zusammengezählt und nach dem Verhältnis zu den Likes und Kommentaren gewichtet.

Die nachstehenden Bilder zeigen die Ergebnisse aus dem Account „hanneswobus“ mit den Daten aus hanneswobus_tags.xlsx.

Durch die Analysierbarkeit beliebiger (!) Accounts lässt sich nun dauerhaft nachprüfen, welcher Tag (natürlich in Verbindung mit dem Post und dem konkreten Motiv) am Besten den ROI-Vorstellungen (Likes, Comments, Likes & Comments) entspricht. Da die Erfassung der Accountrohdaten zu beliebigen Zeitpunkten (in Abhängigkeit zur Verfügbarkeit und Stabilität der Instagram-API) realisierbar ist, lassen sich auch Beobachtungen zu Wochentagen und äußeren Einflüssen wie Wetter, Trends und Events anstellen.

[Todo]
Gewichtung der Taggruppen analog zur Einzeltaganalyse.
Optional: Gegenprobe der Tags auf unserer Reichweitendatenbanken
Festlegung eines Reportformates (PDF, Excel, Word usw.).
Scrapen und Verarbeiten der Kommentierenden und Likenden Accounts

[Update]
Die Reichweitengegenprobe auf die bekannte und besprochene Datenbank wird (vorerst) mit niedriger Priorität behandelt und mit der Anbindung an die Tagsearch von Instagram kompensiert.
Der „Endpoint“ hierfür ist:
https://api.instagram.com/v1/tags/search?client_id=[deine_id]&q=[suchwort] und die Reichweite wird über die Variable „media_count“ ausgeliefert.
Der Rohdatensatz für die Tag <> Reichweitengewichtung für lässt sich hier: hanneswobus_tags herunter laden.

Die Reportausgabe wurde „modular“ gestaltet und die Basis hierfür ist „html“. Die PDF-Version eines solchen Reports befindet sich hier: Instagramauswertung, Account_ hanneswobus. Wie man am Layout des Reports unschwer erkennen kann, arbeite ich noch an dem Layout und an der endgültigen Fassung.

Beide Datensätze werden ab sofort in die Reportingdienstleistung aufgenommen.

Accountanalyse (Instagram) – Update 0.2Beta

Die Analyseprozedur wurde nun um die Ausgabe der Verläufe erweitert.
Das Beispieldiagram zeigt den Verlauf eines betreuten Klienten aus dem Bereich „Tourismus“.
[Beispiel]


In den nächsten Versionen und nach der Erhebung weiterer Datensätze ist die Etablierung konkreter Metriken geplant. Im Moment denken wir über die Zahlen:
Verhältnis „Likes“ zu „Posts“
[Ergebnis]=Summe_Likes*(Summe_Posts/100)
und
Verhältnis „Comments“ zu „Posts“
[Ergebnis]=Summe_Comments*(Summe_Posts/100)
nach und werden die Reports im Sinne der Accountvergleichbarkeit anpassen.