Када је најбоље време за стриминг на Фацебоок Ливе-у? Анализирао сам 5.000 постова на Фејсбуку да бих то открио.

Стриминг на Фацебоок Ливе-у може бити моћна маркетиншка стратегија за стартупе и предузећа. Они могу делити знање, пружати вредност, бити изложени и прикупљати висококвалитетне потенцијалне клијенте.

Припремите своју Фацебоок Ливе сесију унапред. Истражујте о својој циљној публици и направите детаљан дневни ред. Сесија може драстично поспешити ваше пословање.

Био сам шеф производа и технологије мог претходног стартупа који се бавио откривањем превара. Одлучио сам да испробам Фацебоок Ливе као нову маркетиншку стратегију.

У то време је то још било прилично ново. Када је завршена Фацебоок Ливе сесија, релевантни људи су добили Фацебоок обавештења да би се придружили сесији. Ово је још више повећало експозицију.

Много је постова који говоре о томе како боље изградити своју Фацебоок сесију уживо. Они разговарају о томе које теме треба обрадити, градећи дневни ред, углове камере, трајање сесије и још много тога.

Али постоји један делић слагалице који власници предузећа и трговци често заборављају или не обраћају пажњу: Када је најбоље време за стримовање ваше Фацебоок Ливе сесије?

На ово питање можете одговорити образованом претпоставком заснованом на познавању циљне публике.

На пример:

  • Трудне маме су спремне да поједу вашу сесију уживо у понедељак поподне.
  • Тинејџери у доби од 18 до 22 године у добром су размишљању у суботу ујутру.

Али толико је података око нас да их можемо користити са неколико кликова на дугме. Заправо ћете заостати ако неке податке не користите на одговарајући начин.

Готово свака маркетиншка платформа или друштвена мрежа отвара АПИ услуге. Ви као технолошки предузетник можете их лако конзумирати. Ови подаци могу пружити драгоцене закључке који ваше пословне циљеве могу водити даље од конкуренције.

Овај приступ се често назива одлукама на основу података .

Једном када почнете да оправдавате било коју или барем већину својих пословних одлука користећи податке које поседујете или податке које можете прикупити из различитих ресурса, можете престати да погађате и почети доносити одлуке засноване на подацима.

Волим да одлуке засноване на подацима сматрам изворима масе. Лиор Зореф је био на овом ТЕД предавању. Позвао је вола на сцену и замолио публику да погоди његову тежину. Ако сте ово гледали, вероватно ћете бити преплављени колико је тачан просек гомиле упоређен са стварном тежином вола: 1.792 фунти или 1795 килограма!

Када нагађате о својим пословним циљевима као појединци, не разликујете се од било ког појединца који седи у гомили и покушава да процени тежину вола. Можете чак бити и онај који је погодио 300 или 8000 фунти, што би ваше пословање могло коштати пуно непотребних трошкова.

Али, ако користите мудрост гомиле за доношење одлука на основу података, највероватније ћете бити испред сваког другог појединца. У пословном смислу, бићете испред својих конкурената.

Нисам чист продавац. Али са основним вештинама анализе података могу своје пословање напредовати у свим аспектима, укључујући и маркетинг.

Провешћу вас кроз практични детаљни водич о приступу подацима на Фацебоок-у. Онда како то анализирати на основу наших потреба у вези са оптимизованим временом за емитовање на Фацебоок Ливе-у.

Да бисте следили овај водич, потребно је:

  • Фацебоок налог
  • Фацебоок група коју бисте желели да анализирате

    Ако је то приватна група, онда морате бити члан групе

  • Инсталиран Питхон 2.7
  • Инсталирана Јупитер свеска
  • Инсталирана Питхон библиотека АПИ графикона Фацебоок

Јупитер свеска је препоручени алат за анализу података у Питхону. Има пуно врхунаца. Омогућава вам покретање исечака кода и чување резултата у меморији. Дакле, нећете покретати све своје скрипте изнова и изнова сваки пут када примените мању промену. Ово је пресудно при анализи података, јер неки задаци могу потрајати много времена за извршавање.

Иако то није неопходно, препоручујем рад унутар виртуелног окружења Питхон. Ево поста који сам написао о предностима виртуелног окружења када се користи Питхон.

Препоручујем рад у Убунту окружењу када радите анализу података помоћу Јупитер бележница.

Корак 1 - Добијање ИД-а Фацебоок групе

Да бисмо добили податке из Фацебоок АПИ-ја, морамо да наведемо ИД ентитета од којег желимо да добијемо податке, у нашем случају, Фацебоок групе.

Лоокуп-ид.цом је лепа алатка помоћу које можете пронаћи ИД групе на основу њеног УРЛ-а. Копирајте УРЛ своје групе и залепите га у траку за претрагу.

У овом чланку користићемо групу: Веб дизајн и развој.

ИД: 319479604815804

Корак 2 - Упознавање Грапх АПИ Екплорер-а

Да би Фацебоок АПИ добио највише од документације, Фацебоок је за програмере развио игралиште под називом Грапх АПИ Екплорер.

Грапх АПИ Екплорер омогућава нам да добијемо привремени токен за приступ и започнемо испитивање могућности које нуди Фацебоок АПИ.

Кликните на Преузми жетон. Не бирајте никакву дозволу. Кликните на Гет Аццесс Токен .

Фацебоок АПИ има много крајњих тачака које можете користити. У овом водичу ћемо користити две главне крајње тачке:

  • Крајња тачка групе
  • Крајња тачка реакција

Да бисте схватили структуру одговора који очекујете да добијете, наведите УРЛ крајње тачке и кликните на Пошаљи .

Испитајмо крајњу тачку УРЛ-а за прикупљање последњих постова из фида групе. Унесите ову УРЛ адресу у Грапх АПИ Екплорер:

319479604815804/feed

и притисните Субмит .

Сада бисте требали да видите последње постове из фида групе у ЈСОН структури. Садржи садржај поста, његов ИД и ажурирано време. Кликом на један од ИД-ова и додавањем на крај УРЛ-а:

319479604815804_1468216989942054/reactions?summary=total_count

Требали бисте видети листу реакција за одређени пост и резиме укупног броја реакција.

На овај начин можете се поиграти свим функцијама које Фацебоок АПИ нуди.

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.

Гитхуб спремиште можете пронаћи овде.

Првобитно сам ово објавио на ЦодингСтартупс.