Milloin on paras aika suoratoistaa Facebook Livessä? Analysoin 5000 Facebook-viestiä saadakseni selville.

Suoratoisto Facebook Livessä voi olla tehokas markkinointistrategia aloittelijoille ja yrityksille. He voivat jakaa tietoa, tarjota arvoa, saada altistumista ja kerätä laadukkaita liidejä.

Valmista Facebook Live -istuntosi etukäteen. Tutki kohdeyleisöäsi ja laadi yksityiskohtainen asialista. Istunto voi lisätä liiketoimintaasi dramaattisesti.

Olin edellisen petosten havaitsemiseen liittyvän startupin tuotepäällikkö. Päätin kokeilla Facebook Liveä uutena markkinointistrategiana.

Se oli tuolloin vielä melko uusi. Kun Facebook Live -istunto oli alkanut, asiaankuuluvat ihmiset saivat Facebook-ilmoitukset liittymään istuntoon. Tämä lisäsi valotusta entisestään.

On monia viestejä, joissa puhutaan siitä, miten voit paremmin rakentaa Facebook-live-istuntosi. He keskustelevat aiheista, jotka on käsiteltävä, suunnitellaan esityslistaa, kamerakulmia, istunnon kestoa ja muuta.

Mutta on yksi palapeli, jonka yritysten omistajat ja markkinoijat usein unohtavat tai eivät kiinnitä huomiota: Milloin on paras aika suoratoistaa Facebook Live -istuntoasi?

Voit vastata tähän kysymykseen käyttämällä koulutettua arvausta, joka perustuu kohdeyleisösi tuntemiseen.

Esimerkiksi:

  • Raskaana olevat äidit ovat valmiita käyttämään Live-istuntoasi maanantai-iltapäivällä.
  • 18–22-vuotiaat nuoret ovat oikeassa mielentilassa lauantaiaamuna.

Ympärillämme on kuitenkin niin paljon tietoja, että voimme käyttää niitä muutamalla napin painalluksella. Pysyt tosiasiassa, jos et käytä jotakin käytettävissä olevista tiedoista oikein.

Lähes jokainen markkinointialusta tai sosiaalinen verkosto avaa API-palvelut. Sinä, teknisenä yrittäjänä, voit helposti kuluttaa näitä. Nämä tiedot voivat antaa arvokkaita johtopäätöksiä, jotka voivat viedä liiketoimintatavoitteesi kilpailijoiden ulkopuolelle.

Tätä lähestymistapaa kutsutaan usein datapohjaisiksi päätöksiksi .

Kun aloitat minkä tahansa tai ainakin suurimman osan liiketoimintapäätöksistäsi omistamiesi tietojen tai eri resursseista kerättävien tietojen avulla, voit lopettaa arvaamisen ja aloittaa dataan perustuvien päätösten tekemisen.

Haluan ajatella datalähtöisiä päätöksiä väkijoukon hankinnasta. Lior Zoref oli tässä TED-keskustelussa. Hän kutsui härän näyttämölle ja pyysi yleisöä arvaamaan sen painon. Jos katselit tätä, olet todennäköisesti järkyttynyt siitä, kuinka tarkka väkijoukon keskiarvo verrattiin härän todelliseen painoon: 1792 kiloa tai 1795 puntaa!

Kun arvailet liiketoimintatavoitteitasi yksilöinä, et ole erilainen kuin kukaan ihminen, joka istuu joukossa ja yrittää arvioida härän painoa. Voit jopa arvata 300 puntaa tai 8000 puntaa, mikä voi maksaa yrityksellesi paljon tarpeettomia kustannuksia.

Mutta jos käytät väkijoukon viisautta tehdäksesi dataan perustuvia päätöksiä, olet todennäköisesti kaikkien muiden ihmisten edessä. Liiketoiminnan kannalta olet kilpailijoitasi edellä.

En ole puhdas markkinoija. Mutta perustietojen analysointitaidoilla voin viedä yritystäni eteenpäin kaikilla osa-alueilla, myös markkinoinnissa.

Aion opastaa sinulle käytännön vaiheittaisen oppaan Facebook-tietojen käyttämisestä. Sitten miten sitä voidaan analysoida tarpeidemme perusteella, mikä on optimoitu aika lähettää Facebook Live -palvelussa.

Tämän oppaan noudattaminen edellyttää:

  • Facebook-tili
  • Facebook-ryhmä, jonka haluat analysoida

    Jos se on yksityinen ryhmä, sinun on oltava ryhmän jäsen

  • Python 2.7 asennettuna
  • Jupyter-muistikirja asennettuna
  • Facebook graph API Python -kirjasto asennettuna

Jupyter-muistikirja on suositeltu työkalu tietojen analysointiin Pythonissa. Siinä on paljon kohokohtia. Sen avulla voit suorittaa koodinpätkät ja tallentaa tulokset muistiin. Joten et suorita kaikkia komentosarjojasi uudestaan ​​ja uudestaan ​​aina, kun teet pienen muutoksen. Tämä on ratkaisevaa tietoa analysoitaessa, koska jotkut tehtävät voivat viedä paljon suoritusaikaa.

Vaikka se ei ole välttämätöntä, suosittelen työskentelemistä Python-virtuaaliympäristössä. Tässä on viesti, jonka kirjoitin virtuaalisen ympäristön eduista Pythonia käytettäessä.

Suosittelen työskentelemään Ubuntu-ympäristössä, kun teet data-analyysiä Jupyter-muistikirjoilla.

Vaihe 1 - Hanki Facebook-ryhmätunnus

Saadaksesi tietoja Facebook-sovellusliittymästä, meidän on määritettävä sen yksikön tunnus, jolta haluamme saada tietoja, tapauksessamme Facebook-ryhmästä.

Lookup-id.com on mukava työkalu, jonka avulla voit etsiä ryhmän tunnuksen sen URL-osoitteen perusteella. Kopioi ryhmän URL-osoite ja liitä se hakupalkkiin.

Tässä artikkelissa käytämme ryhmää: Web-suunnittelu ja -kehitys.

ID: 319479604815804

Vaihe 2 - Tutustuminen Graph API Exploreriin

Saadakseen kaiken irti Facebook-sovellusliittymästä dokumentaation lisäksi, Facebook on kehittänyt kehittäjille leikkikentän nimeltä Graph API Explorer.

Graph API Explorer auttaa meitä saamaan väliaikaisen käyttöoikeustunnuksen ja aloittamaan Facebook-sovellusliittymän tarjoamien ominaisuuksien tutkimisen.

Napsauta Get Token. Älä valitse lupaa. Valitse Hae käyttöoikeustunnus .

Facebook-sovellusliittymässä on monia päätepisteitä, joita voit käyttää. Tässä oppaassa aiomme käyttää kahta pääkohdetta:

  • Ryhmän päätepiste
  • Reaktioiden päätetapahtuma

Selvitä odotetun vastauksen rakenne määrittämällä päätepisteen URL-osoite ja napsauttamalla Lähetä .

Tarkastellaan URL-päätepistettä viimeisten viestien nappaamiseksi ryhmän syötteestä. Kirjoita tämä URL-osoite Graph API Exploreriin:

319479604815804/feed

ja paina Submit .

Sinun pitäisi nyt nähdä ryhmän syötteen viimeiset viestit JSON-rakenteessa. Se sisältää viestin sisällön, sen tunnuksen ja päivitetyn ajan. Klikkaamalla yhtä tunnuksista ja lisäämällä URL-osoitteen loppuun:

319479604815804_1468216989942054/reactions?summary=total_count

Sinun pitäisi nähdä luettelo tietyn viestin reaktioista ja yhteenveto reaktioiden kokonaismäärästä.

Näin voit pelata kaikkia ominaisuuksia, joita Facebook-sovellusliittymä tarjoaa.

Another tool for examining API endpoints of APIs which don’t offer a playground is Postman. You can read more about this tool and essential tools for web developers.

Step 3 — Our plan and assumptions

Our goal is to find the best time to have a Facebook Live session in the group that contains our target audience. To do that, we assume that the more activity there is in the group at a specific time, the most likely our Facebook Live session will gain more traction.

So our goal now is to figure out when there is a peak in the group’s activity over time. And by when I mean a specific weekday and time.

To do that, we are going to grab the last 5,000 posts from the group’s feed. Then we’ll plot the distribution of the times they were updated.

We assume that longer posts indicate more activity in the group because members spend more time in the group writing them. So, our next step will be to take into consideration the length of each post in the distribution.

Reaction on Facebook is probably a great indication of people engaging with a specific post. Thus, our last step will be to collect the total number of reactions for each post. Then take that into account in the distribution of activity over weekdays and hours.

Because reactions may come after the post, we should be cautious using this data analysis approach.

Step 4 — Let’s analyze some data!

To start a Jupyter notebook, you should execute:

ipython notebook

and then choose New → Python 2.

To analyze and plot the data, we are going to use the numpy and matplotlib libraries. These are very popular Python libraries you should use to better analyze your data.

Let’s import all the libraries we need:

import matplotlib.pyplot as pltimport numpy as npimport facebookimport urlparseimport datetimeimport requests

and specify our access token and group id:

ACCESS_TOKEN = 'INSERT_ACCESS_TOKEN_HERE'GROUP_ID = '319479604815804' # Web Design and Development group

Then, let’s initialize the API object with our access token:

graph = facebook.GraphAPI(ACCESS_TOKEN)

Now we want to grab the posts from the group’s feed. To avoid errors during the API calls, we will limit each API call to 50 posts and iterate over 100 API calls:

posts = []url = "{}/feed?limit=50".format(GROUP_ID)until = Nonefor i in xrange(100): if until is not None: url += "&until={}".format(until) response = graph.request(url) data = response.get('data') if not data: break posts = posts + data next_url = response.get("paging").get("next") parsed_url = urlparse.urlparse(next_url) until = urlparse.parse_qs(parsed_url.query)["until"][0]
In each API call, we specify the until parameter to get older posts.
Now, let’s organize the posts into weekdays and hours of the day:
weekdays = {i: 0 for i in xrange(7)}
hours_of_day = {i: 0 for i in xrange(24)}
hours_of_week = np.zeros((7,24), dtype=np.int)for post in posts: updated = datetime.datetime.strptime(post.get("updated_time"), "%Y-%m-%dT%H:%M:%S+0000") weekday = updated.weekday() hour_of_day = updated.hour weekdays[weekday] += 1 hours_of_day[hour_of_day] += 1 hours_of_week[weekday][hour_of_day] += 1

and then, plot the results using matplotlib bar charts:

plt.bar(weekdays.keys(), weekdays.values(),)plt.show()
plt.bar(hours_of_day.keys(), hours_of_day.values(),)plt.show()

With only this basic analysis, we can already learn a lot about better or worse time slots for broadcasting to this group. But it does not seem informative enough. Maybe because the data is divided into 2 graphs and missing some critical information.

Let’s try to present a heat map of the data, that enables us to see 3D information:

plt.imshow(hours_of_week, cmap="hot")plt.show()

Well, this is much better! We can see that the group is very active on Monday to Friday between 6:00 am and 10:00 am.

Now let’s take into consideration to post length and see how it affects the results:

weekdays_content = {i: 0 for i in xrange(7)}hours_of_day_content = {i: 0 for i in xrange(24)}hours_of_week_content = np.zeros((7,24), dtype=np.int)for post in posts: updated = datetime.datetime.strptime(post.get("updated_time"), "%Y-%m-%dT%H:%M:%S+0000") weekday = updated.weekday() hour_of_day = updated.hour content_length = len(post["message"]) if "message" in post else 1 weekdays_content[weekday] += content_length hours_of_day_content[hour_of_day] += content_length hours_of_week_content[weekday][hour_of_day] += content_length

The heatmap we get:

This is nice but should be treated with caution. On one hand, we can see a very specific time that is the optimized time slot to have our Facebook Live session. But, it might be an outlier of a super long post.

I’ll leave it to you to figure it out in your next data analysis project. Take a larger amount of posts or grab an older batch of 5000 posts from the group’s feed.

To take reactions into account when analyzing the data, we need to make another API call for each post.

This is because it’s a different API endpoint:

weekdays_reactions = {i: 0 for i in xrange(7)}hours_of_day_reactions = {i: 0 for i in xrange(24)}hours_of_week_reactions = np.zeros((7,24), dtype=np.int)for i, post in enumerate(posts): url = "//graph.facebook.com/v2.10/{id}/reactions?access_token={token}&summary=total_count".format( id=post["id"], token=ACCESS_TOKEN )
headers = { "Host": "graph.facebook.com" }
response = requests.get(url, headers=headers)
try: total_reactions = 1 + response.json().get("summary").get("total_count") except: total_reactions = 1
updated = datetime.datetime.strptime(post.get("updated_time"), "%Y-%m-%dT%H:%M:%S+0000") weekday = updated.weekday() hour_of_day = updated.hour weekdays_reactions[weekday] += total_reactions hours_of_day_reactions[hour_of_day] += total_reactions hours_of_week_reactions[weekday][hour_of_day] += total_reactions

We used a low-level approach by specifying the exact HTTP request and did not use the Facebook Python library. This is because that library doesn’t support the last version of the Facebook API required when querying the reactions endpoint.

The heat map generated from this data:

We can conclude that the three approaches we used agree on Monday and Wednesday, 6:00 am to 7:00 am.

Conclusions

Data analysis can be challenging and often requires creativity. But it also exciting and very rewarding.

After choosing our time to broadcast on Facebook Live based on the analysis presented here, we had a huge success and a lot of traction during our Live session.

I encourage you to try and use data analysis to make data-driven decisions in your next business move. And start thinking in terms of data-driven decisions.

Löydät Github-arkiston täältä.

Julkaisin tämän alun perin CodingStartups-sivustossa.