10000 лайков

    В самом начале января coin и я бродили по холодным и дождливым улицам Лондона и говорили о технологиях, жизни и чём-то ещё. Я время от времени делал фотографии на свой старый Canon EOS 400D, и в какой-то момент мой друг сказал: “Вот ты фотографируешь, фотографируешь, а твои фотографии никто не лайкает”. Я не нашёл что ответить, но вернувшись домой, создал аккаунт в одной из соцсетей, где можно постить и лайкать фотографии, и составил план: за 100 дней набрать 10000 фолловеров и к концу этого срока получать 500 лайков за пост. После этого отобрал пару сотен интересных фотографий и запостил первую. И её лайкнуло только несколько человек. Этого было мало, нужно было придумать какой-то метод.



    Чтобы увеличить число подписчиков, нужно чтобы тебя заметили. Это можно сделать разными способами, но самый простой и рабочий – это подписаться на кого-нибудь и полайкать его фотографии в надежде, что человек сделает то же самое в ответ. Бездумно это делать не охота по двум причинам: это очень похоже на спам, и на количество таких действий существует ограничение. Поэтому нужно было придумать, как фолловить только тех, кто с большой вероятностью подпишется в ответ.

    Сначала я рандомно подписался на две-три тысячи человек, после этого я выписал в таблицу те три числа, которые есть в профиле пользователя: число постов Np, число подписок Nf и число подписчиков Nfd. В последний столбец M таблицы я занёс информацию о том, подписался ли пользователь на меня в ответ или нет.

    Казалось правдоподобным следующее.

    1. Чем больше у человека подписок, тем скорее пользователь и на меня подпишется.
    2. Чем больше отношение числа подписок на число постов, тем скорее пользователь на меня подпишется. (Так как чем больше постов, тем старее аккаунт. А если аккаунт создан давно, а подписок мало, то пользователь не заинтересован подписываться на других.)
    3. Чем больше отношение числа подписок на число подписчиков, тем скорее пользователь на меня подпишется. (Наблюдение показывает, что это число мало для магазинов, ботов, известных личностей и т. п. и близко к 1 для обычных людей.)

    Эксперименты с визуализацией показали, что всё лучше выглядит в логарифмических координатах. Хотя облака точек сильно пересекаются, можно построить какой-нибудь классификатор и посмотреть, что получится.



    Воспользовавшись методом опорных векторов, я получил следующий линейный классификатор, который согласуется с тем, что ожидалось:

    –0.19 log Nfd + 0.42 log Nf – 0.18 log Np > 0.57.

    После этого дело пошло веселее: на процентов 20 больше подписывались на меня обратно, то есть примерно каждый четвёртый-пятый. Но это не тот результат, который я хотел. Нужно было придумать что-то лучшее.

    На извлечение какой-то ещё информации, помимо названых трёх чисел, не хотелось тратить времени, поэтому я подумал, а что будет, если посмотреть снова на эти параметры, но через три дня.

    Снова набрав данных, я стал играться с разными комбинациями этих величин. И оказалось, что очень хорошего результата можно достичь, добавляя всего один фактор — на сколько увеличилось число подписок у аккаунта. Оказывается, что чем больше человек зафолловил людей за три дня, тем больше шанс, что он зафолловит и меня.

    Тут тоже всё лучше с логарифмами, поэтому новый фактор в итоге выглядит так: log+(N'fNf), где разность N'fNf — это изменение числа подписок за три дня,

    $\log_{+}(x) = \left\{ \begin{array}{ll} \log x, & x > 0, \\ 0, & x \leq 0. \end{array} \right.$

    Такая функция позволяет избежать проблем с логарифмированием отрицательных значений. Также люди, у которых число подписок уменьшается, нам скорее всего не интересны.



    Метод опорных векторов даёт следующий линейный классификатор:

    –0.06 log Nfd + 0.17 log Nf – 0.10 log Np + 0.16 log+(N'fNf) > 0.55.

    Так как ошибка, когда мы не подпишемся на человека, который бы подписался на нас, нас особо не интересует, мы можем немного увеличить правую часть неравенства, чтобы ещё улучшить результат. В итоге, обратно подписывался на меня примерно каждый второй.

    Ниже приведены ROC-кривые для двух полученных классификаторов.



    Через 87 дней, заполучив 10000 подписчиков, я остановился. Среднее число лайков последних 15 постов оказалось равным 490, что почти равно числу, к которому я стремился. Учитывая, что я максимизировал число подписчиков, а не число лайков, то я считаю этот результат неплохим, тем более что он близок к среднему значению для подобного аккаунта.

    Самым же интересным для меня в этом эксперименте оказался четвёртый фактор — изменение числа подписок за три дня. Он оказался очень простым и при этом неожиданно очень значимым.
    Поделиться публикацией
    Комментарии 38
      +2
      Сейчас бы за собаками гнаться в 2018 году.
        0
        Раз в год интересно анализ данных повспоминать на простых задачах, чтоб не забыть.
        +2

        Почему 10000 лайков, если речь о фоловерах?

          0
          Слово очень нравится просто.
          +3

          "мы можем немного увеличить свободный член".


          Как свободный?
          Как увеличить?
          С этого места можно поподробнее?

            0
            Переформулировал.
            +1
            а где посмотреть и полайкать фоточки то?
              0
              Да это ж просто эксперимент был.
              +2

              А каким образом получена информация о пользователях? Instagram API?

                0
                Нет, просто смотрел на страницы.
                0
                Спасибо, надо будет попробовать.
                Вы вручную всех фоловили или же написали какой-то скрипт?
                Не совсем понятно откуда брать исходный список пользователей, который уже фильтровать по описанным вами уравнениям.
                  0
                  Про вручую — у меня столько времени не было.
                  Исходный список пользователей — те, которые постят фотографии с такими же как у меня тегами, например.
                  0
                  Чем бы дитя не тешилась
                    0
                    Зря вы так, за подобным анализом данных кроется много интересной инфы, которую можно использовать не только в качестве развлечения.
                      0
                      Например?
                      И почему бы не использовать эти знания не только в качестве развлечния?
                      Я до сих пор не пойму, зачем все эти лайки? Тем более тех, кто их ставит с закрытыми глазами, что бы и себе что то поиметь от этого. Не лучше ли немного, но честно
                        +2
                        На дворе век коммерции и, практически, все поддается монетизации, в том числе и лайки.
                        Тут нужно шире, что ли, мыслить — палка не только для того, что бы на земле ей валяться, из нее можно разжечь огонь, изготовить копье, молоток, удочку. Так и здесь, представленный эксперимент дает тему для размышлений о использовании этой информации и способах развития темы.
                    0
                    Трижды пробежался по статье, что найти, какой из факторов четвёртый. Это тоже ваша хитрость для того, чтобы статью внимательнее читали?
                      0
                      Разница в количестве подписок за прошедшее время, по всей видимости.
                      Идея в следующем: если за установленный промежуток времени, количество подписок субъекта значительно увеличилось, то предположительно субъект в «активной фазе» и продолжает наращивать подписки. Следовательно, можно попробовать его «выжать» на предмет ответной подписки.
                        0
                        исправил.
                        +1
                        Очень интересно. Мне кажется так можно вовлекать в математику молодое поколение. Они все в соц сетях, им это нравится, так почему-бы не испольовать в падагогических целях? «Ребята, сегодня мы посмотрим как математка может помочь Вам нагнать 10 000 подписчиков на ваш аккаунт»
                        • НЛО прилетело и опубликовало эту надпись здесь
                          0

                          Здравствуйте.
                          У меня пара вопросов возникло:


                          1. скрипт, который использовали для подписки — где прочитать можно;
                          2. откуда взяли формулы, почему именно таким образом — подскажите, что можно прочитать.

                          Я матмех окончил, но решение подобных задач почему-то мне не ясно, поэтому интересно очень прочитать))

                          0
                          ага. так вот каких юзеров я я постоянно блокирую в фейсбуке :)
                          а если серьезно, то для меня имеют значение только реальные люди, которым реально нравится. в ярмарке тщеславия не участвую.
                            0
                            в своём реальном аккаунте, я тоже блокирую :)
                              0
                              ясно :) все накрутки плохи тем, что за ними не стоит искренности, искреннего интереса. да, возможно ты поднимаешься в топе, на выдачах. но всё это фейк. и, например, фейсбук кмк понимает, что накрутки — они есть. поэтому я часто вижу уведомления о лайках моей странице, но в общем количестве они не появляются сразу. у меня подозрение, что фейсбук проверяет активность «лайкнувших», кто они, что они, не фейковые ли аккаунты.
                              и чем выше популярность твоей страницы — тем сильнее проверки. ну, может я и придумываю сам себе конечно :)
                                0
                                Cкорее всего кэш.
                                  0
                                  эм-м… не понял. можно пояснить про кэш?
                                    0
                                    Я не знаю как у них там реализовано, но вполне возможно, что когда кто-то нажимает лайк, выполняется сохранение этой информации в БД и тригерится нотификейшн. А для отображения информации о лайках (цифры) инфа тянется не из БД, а из кэша, который обновляется переодически.
                                      0
                                      ага. понял. что же, это вполне правдоподобно. спасибо!
                            +1
                            «Чем больше пользователь фоловит каждый день, тем вероятнее, что он подпишется на тебя». Можно повысить качество подписчиков, удаляя тех, кто не никогда лайкает, и одновременно продолжая хантинг новых фоловеров.
                              0
                              Было бы здорово, если бы кто-нибудь из присутствующих на рынке «накрутчиков» в такое умел. А то сейчас большинство берёт деньги за абсолютно бездумный массфоловинг просто по спискам, от которого отдачи очень мало, соответственно, задачу заказчика «а накрутите мне условные 5к подписчиков» они выполняют медленнее, чем могли бы.
                                0
                                На каждого автоматического "подписчика" кидаю репорт с причиной «Спам». Считаю неприемлемым рекламировать своё творчество, на которое ты тратишь много времени подобным способом.

                                Как выглядят ответы на репорты о спаме в instagram
                                p.s. Большинство аккаунтов просто идут на удаление, так как это «одноразовые» аккаунты для рекламы казино и прочего. На данном скриншоте запечатлены как раз благодарности за репорты на аккаунты разнообразных «блоггеров», которые при помощи софта подписывались в том числе и на меня

                                image
                                  –2
                                  Лучше бы учился снимать, и получать «честные» лайки, полезнее было бы, для себя.
                                    +1
                                    Занимательно.
                                      +1
                                      Социальная инженерия с элементами математики — занятно, занятно)
                                      Вот за что и люблю математику — способность описать все в выражениях и проанализировать до максимума, с минимальными погрешностями.
                                        0
                                        А это очень круто. Я сам по образованию инженер, по призванию сммщик (и другая реклама), тоже математические штуки типа вывода формул иногда делаю, но простейших. А тут всё очень и очень четко, такие люди нужны в рекламных агентствах для подсчета улучшения конверсий

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое