Буквально, вчера, вспоминал об этом замечательном сайте, в связи с неприятной особенностью в работе основного сайта по numpy, но что-то проверить не полез, а он нас, оказывается, клаудфронтит, чего бы это ни означало.
mongodb.com не перестаёт удивлять.
Для фанатов офиса, из числа российских работодателей, это - дополнительный способ покрепче прибить гвоздями, к офису, тех сотрудников, что не пользуются трёхбуквенными обозначениями всепланетного доступа. В офисах то, я слышал, вообще всё есть. Ну прям вообще... (я против принуждения работников к любому из вариантов - должны быть доступны, и офис, и гибрид, и удаленка, если позволяет характер работы)
Я люблю кофе, но, как и у некоторых других людей, у меня повышается давление и сильно учащается пульс от большого количества выпитого кофе, а 2..3 порции порции на меня уже не действуют. На дворе 21 Век в разгаре и существование аналогов кофеина без раздражающих побочных эффектов весьма вероятно.
Я попросил помощи у ChatGPT и он успешно создал очень сложную таблицу с легальными аналогами кофеина и даже с вычисляемым столбцом на основе НЕЧЁТКИХ критериев (если вы это сможете на SQL - Вы гений!), но плохо справился с сортировкой в этой таблице.
Внимание: ниже изображение, ссылки некликабельные. Я ничего не продаю.
Это изображение, ссылки некликабельные,
В первом цифровом столбце не удалось отсортировать числа по убыванию. Пытался примерно 15-20 минут. Пробовал разные промпты и пояснения. Это странно.
Этот инструмент (ChatGPT) отлично понимает команды манипуляции таблицей, в данном пример я попросил создать таблицу на основе данных с крупных магазинов, указал какие столбцы нужны и какая в них должна быть информация, указал порядок столбцов, в том числе относительный, типа столбец с такими данным добавь перед таким-то столбцом.
ChatGPT смог создать СВОДНЫЙ столбец на основе ранее созданных столбцов.Это столбец со взвешенными суммами весов веществ в других столбцах и коэффициенты взвешивания ОН сам нашел и нашел весьма точно.
Причем для каждого продукта ОН смог найти состав веществ по определенным критериям и перечислил их, создав отдельный столбец. Не все вещества, а только по определенным фильтрам (только такие, которые не являются кофеином, но оказывают воздействие, сходное с действием кофеина. Попробуйте самостоятельно без ИИ запрограммировать такой запрос на SQL с учетом нечеткого критерия схожести воздействия и еще определите коэффициент похожести для создания взвешенной суммы масс веществ в порции БАД.
ChatGPT даже частично смог отсортировать по взвешенной сумме. Но выполнив так много сложной работы в сортировке он немного ошибся.
Я чекнул этот кейс на своем проекте и результаты не совпали с выводами автора.
Я сделал все точно также, как описано в статье и нет, не увидел я корреляции между 130 днями и статусом просканировано не проиндексировано. Страницы с таким статусом есть и меньше чем через 130 дней после последнего сканирования, как показано на скрине.
Такие страницы пропадают только на 13 днях, а с 13 и выше периодически встречаются выпавшие страницы.
Так что, не сходится кейс, но как мнение, почему бы и нет)))
Смотрел проект в тревел сегменте, трафик по всему миру (чистый бурж).
Сегодня мы выпускаем Redash, как преднастроенный сервис.
Redash позволяет осуществлять запросы к базам данных и визуализировать результаты. Это хороший и простой BI-инструмент, которым мы пользуемся сами.
Для установки Redash необходимо заполнить по инструкции несколько переменных/секретов для подключения к PostgreSQL и Redis, и выбрать тариф от 290 р./мес.
Amvera Cloud — это облако для простого деплоя приложений через git push. Встроенный CI/CD, бэкапы и мониторинг позволяют развернуть проект тремя командами в IDE и не думать о настойке инфраструктуры. А встроенное проксирование к OpenAI, облегчает работу с LLM. Amvera проще, чем использование VPS.
Отправил в телеграм ссылку на статью с habr, скопировав из адресной строки.
Выглядит как просто адрес статьи - habr/companies/.../articles/xxxxxxx
Но после создания предпросмотра в телеграм кроме ссылки появляется КДПВ, заголовок и начало текста статьи. Вроде всё правильно. Но только ссылка уже дополнительно после адреса содержит ?utm_source=vk_habr&utm_medium=social&utm_campaign=yyyyyyy
И при нажатии на ссылку предпросмотра пойдёт другая статистика - не прямая ссылка, а из рекламной кампании.
Как минимум - это сработало при пересылке статьи "Как устроен китайский завод электроники глазами русского инженера".
Я подумал, что такой адрес у КДПВ, но нет - вроде картинки все на habrastorage.
Если вы стали жертвой фрода, ваш сайт пытались взломать или нагрузка на ваш ресурс резко возросла, найдите IP злоумышленников и заблокируйте доступ в .htaccess с помощью директивы Deny:
Deny from 111.22.33.44
IP злоумышленников есть в файлах access_logs (логи доступа). Чтобы найти IP, с которого посетили, например, 'order/1234', переходим в папку с логами и вводим команду:
$ grep 'order/1234' * | awk '{print $2}' | uniq
Если таких страниц много, создайте файл со списком url (например, ban.txt) и найдите сразу все IP одной командой:
$ grep -f ban.txt * | awk '{print $2}' | uniq
Обратите внимание, что файл нужно создавать в unix (из-за разницы в том, как ОС делают переносы строк). Список запретных URL особенно эффективен, чтобы найти тех, кто сканирует сайт на уязвимости: например, ищет администраторскую (admin, root), техническую (var, database, php) и отладочную информацию (debug, test, error, exception).
А еще давайте найдем тех, кто создает аномально много запросов:
Вывод команды покажет 5 наиболее активных посетителей в указанном логе (access_log-20241030) с количеством запросов. Проверьте тех, кто создает в намного больше запросов, чем остальные — это могут быть как очень активные пользователи или боты поисковых систем, так и злоумышленники.
Сегодня Яндекс.Метрика отключила сервис мониторинга сайтов. Я создал замену: Телеграм-бот, который следит за доступностью сайтов и присылает уведомления, если что-то не так.
Сервис Яндекса умел отправлять письма и SMS двух видов:
Проблемы с доступностью сайта.
Сайт снова доступен.
В своём боте я сделал чуть больше проверок:
Сайт недоступен/снова доступен.
Изменился заголовок сайта. Может выручить, если в какой-то момент вместо сайта появится заглушка "домен не прилинкован к директории" или что-то в этом роде.
Истекает срок действия SSL-сертификата или домена.
Изменился конечный адрес (если срабатывает переадресация).
Казалось бы, простой пингатор, но на деле нюансов оказалось очень много. Может быть, напишу статью с техническими деталями.
Старался от души и сделал полезный инструмент для владельцев/администраторов сайтов.
Всем привет. Тестирую формат постов и, заодно, делюсь подсмотренной идеей трекинга пользователей «без палева», который прямо-таки очень тяжело отловить (если не делать отладку HTTP-запросов) и очень технически сложно заблокировать.
Разработчики [CENSORED], придумали практически безотказный способ отправлять логи, даже если пользователь использует блокировщики. Схема простая:
Случилось событие, которое нужно затрекать.
С помощью JavaScript создаётся кука, имя которой соответствует определённому формату + рандомная строка-суффикс, а в значении содержится urlencoded-набор-параметров-значений.
Любой следующий запрос к сервису содержит эту куку. Сервис в ответе в хэдерах пишет, что куку нужно удалить. Кука отправилась и удалилась, никто ничего не заметил, никаких лишних запросов, трекинг-данные доставлены.
PROFIT.
Я читал много разных новостей про экзотические способы трекинга, но конкретно этот обнаружил самостоятельно. Буду рад, если покормил чью-то паранойю.
Какие качественные и количественные исследования стоит проводить в рамках Discovery-процесса?
Качественные:
Глубинные интервью
Помогают получить искреннее мнение вместо социально одобряемых ответов, в отличие от фокус-групп. К глубинным интервью еще относят и другие форматы, например, CustDev, которые выявляют проблемы и потребности пользователей.
CJM
Делим пользователей на сегменты и общаемся с каждым из них. Дальше просим пройти определенный сценарий и рассказать об опыте взаимодействия с продуктом, от первого знакомства до первой покупки. Так выявляем трудности на каждом этапе.
Юзабилити-тестирование
Перед запуском продукта создаем кликабельный прототип сервиса и просим пользователя выполнить задачу. Главное — не подсказывать и не убеждать в удобстве прототипа, а оценить его объективно. На выходе получаете тест первого клика и тепловую карту сервиса. Метод подходит для проверки дизайна и контента и помогает выявить эффективные решения.
Количественные:
Количественный опрос
Проводим их после качественных исследований для подтверждения результатов. Это простой способ привлечь респондентов и быстро собрать репрезентативную выборку. В итоге получаем статистически значимые данные по интересующим вопросам.
A/B-тесты
Делим респондентов на 2 группы: тех, кто видит старый интерфейс, и тех, кто видит новый или экспериментальный. Иногда показываем два варианта дизайна для выбора лучшего. После сбора достаточного количества данных завершаем тест и подводим итоги.
Как понять, что пора заканчивать процесс Discovery
В этом поможет закон убывающей полезности. Как он работает, объясним на примере.
Когда мы проводим качественные исследования, берем 5–7 человек на один сегмент целевой аудитории. Социология и статистика показывают, что этого достаточно, чтобы выявить 80–90% проблем сегмента. Конечно, мы можем опросить и 30 человек, но выявим ли мы таким образом 100% проблем? Скорее всего, мы потратим намного больше ресурсов, а в итоге сможем лишь незначительно уточнить данные.
Закон убывающей полезности работает и в случае исследования конкурентов — изучать всех не имеет смысла. Мы просто утонем в данных. Есть три сигнала, которые четко указывают, что Discovery пора заканчивать.
Когда кончаются гипотезы. Вы провели несколько итераций исследований и поняли, что пополнять бэклог больше нечем: новых инсайтов нет.
Когда гипотез слишком много. Вы проводите исследования и продолжаете пополнять бэклог снова и снова, задач там уже на три квартала вперед.
Когда заканчиваются время и деньги. Исследования можно проводить бесконечно, но у любой задачи есть дедлайны и бюджеты.
Мы всегда можем вернуться к Discovery, чтобы проверить какую-то фичу. Например, если поменяли интерфейс — можем провести юзабилити-тестирование. Но на самом первом этапе, когда мы еще только выясняем потребности пользователя, нужно уметь вовремя остановиться.
На дизайне до безобразия редко вспоминают, что люди привыкли пользоваться разными смартфонами. Одни обожают лопаты до локтя, другие — миниатюрные аппараты, которые умещаются в ладони. А между тем, первые исследования о том, как люди держат в руках телефон и планшет, появились на Западе еще в 2010-х.
Вот недавний кейс из нашей практики. Заказчик сделал в мобильном приложении ленту с фотографиями. И всё бы хорошо, но было одно «но». Чтобы листать кадры, нельзя было просто свайпать. Вместо этого нужно было жать на кнопку в самом низу фото. Причем на маленьких девайсах блок с фото, заголовком и самой кнопкой не умещался на экране. Чтобы ее увидеть, нужно было скроллить вниз. И далеко не каждый это понимал.
Более того, если пользователь находил заветную кнопку и перелистывал фото, ему приходилось скроллить вверх, чтобы увидеть ее целиком. Чувствуете, как больно? При этом на большом IPhone Pro Max всё было в полном порядке — красиво и удобно.
Этот кейс напоминает нам, что у пользователей разный опыт, и это не всегда очевидно. А ведь есть еще куча более тонких нюансов:
💬 Что, если пользователь предпочитает планшет?
💬 А если он использует только левую руку, потому что в правой держит кофе?
💬 А вдруг это приложение для готовки, и с ним удобнее работать голосом?
Иногда детали просто невозможно узнать без исследования. А без этих деталей сделать удобный интерфейс — очень, очень сложная задача.
Больше постов о метриках и исследованиях — в нашем канале.
5 принципов именования и документирования аналитических событий
В нашей практике мы часто сталкиваемся с одной и той же проблемой: компании собирают огромное количество аналитических событий, но те зачастую плохо задокументированы или не задокументированы вообще. Поэтому понять, что и как работает, особенно новичку, сложно. Чтобы исправить эту ситуацию, мы выработали пять правил, которым стараемся всегда следовать.
1. Единое место документации событий. Создайте единое место документации всех событий (будь то Notion, Confluence, Google-документ или система аналитики с встроенным трекинг-планом) и используйте только его как источник правды.
2. Единая нотация. Выберите одно соглашение о наименовании (нотацию) и придерживайтесь его. Вот наиболее используемые из них:
all lowercase — page view;
snake_case — page_view;
camelCase — pageView;
Proper Case — Page View;
Sentence case — Page view.
3.Структура в названии событий. Обычно название события — это комбинация названия объекта, совершенного над ним действия и, при желании, категории события.
4. Понятные названия. Название события должно быть четким, понятным и легкочитаемым. Оно должно отражать логику события без необходимости изучения задачи на разработку.
5.Единый справочник параметров. Определите список параметров всех событий и пользователей, максимально опишите их, укажите возможные значения параметров, их обязательность и тип. Переиспользуйте параметры в событиях.
Как устранить фрод, обучая ИИ на качественных лидах
Компания по продаже участков в подмосковных поселках столкнулась с проблемой фрода. Почти 38% рекламного бюджета на контекстную рекламу в Яндекс Директ приходилось на фейковые заявки от несуществующих пользователей.
Опасность фрода кроется не только в потерях здесь и сейчас, но и работает на перспективу. Настройки алгоритмов автостратегий ломаются. ИИ не понимает разницы между качественными и некачественными лидами, и начинает массово приводить фрод.
СМС-верификацию мы отвергли сразу. В продажах земельных участков каждое обращение на вес золота, и усложнение лид-формы может отпугнуть некоторых пользователей.
Мы взялись за автостратегии в Яндекс Директе и направили их внимание в нужное русло: стали передавать в Метрику информацию о качественных лидах. Оптимизировали рекламные кампании именно по этой цели и система стала понимать, что нам нужны только те заявки, которые потом перейдут в разряд квалифицированных.
В итоге в пик фродовой активности качественных лидов было только 62%, а после введения этого метода, их стало 85%.
Если вы планируете привлекать больше клиентов, мы можем сделать аудит вашей контекстной рекламы, найти новые точки роста и построить стратегию масштабирования продаж.
Согласно исследованию экспертов «МегаФона» и «Яндекс Браузера», свыше 70% фишинговых ссылок в сети приходится сегодня на поддельные сайты компаний, сервисов инвестиций и известных брендов. Большой популярностью у мошенников также пользуется создание фейковых розыгрышей призов и конкурсов, рассказали Хабру в «Яндексе».
По данным профильной аналитики, более 60% выявленных за полгода фишинговых ресурсов имитируют интерфейсы популярных сервисов для инвестиций. Ещё 10% — это фейковые веб-сайты, маскирующиеся под известный бренд или компанию. При этом злоумышленники часто используют доменное имя, схожее с настоящим адресом, например: www.[название бренда].id4007[.]ru.
Остальные 30% фишинговых сайтов относятся к различным категориям. Специалисты по ИБ часто обнаруживают сайты, имитирующие соцсети, ресурсы с призывом проголосовать за друзей, фейковые сайты по продаже билетов на массовые мероприятия, а также поддельные ссылки под видом личного кабинета онлайн-банков и государственных порталов. Кроме того, мошенники часто создают сайты по обмену криптовалюты и с несуществующими розыгрышами призов.
Аналитики «МегаФона» и «Яндекс Браузера» отметили, что активным каналом распространения фишинговых ссылок являются электронные письма и мессенджеры, через которые мошенники устраивают спам-атаки.
Ранее «МегаФон» и «Яндекс Браузер» запустили проект по обмену найденными фишинговыми ссылками. Специалисты обеих компаний ежемесячно отрабатывают список из нескольких тысяч подозрительных ресурсов.
Как бороться с фродовыми заявками в В2В с помощью СМС верификации.
Когда мы запустили контекстную рекламу на сайт производителя интерьерных лестниц, столкнулись с проблемой фрода — с кампаний в Яндекс Директ сыпались заявки от несуществующих заказчиков. За короткий период количество фейковых лидов достигло 60%, при норме до 20%. Клиент принял решение остановить рекламу и временно выпал из конкурентной борьбы.
Большинство фейковых заявок было от ботов. Мы вычислили, что их источником стала одна IP сеть с большим количество адресов, которые постоянно менялись. Чтобы отсечь эти атаки мы предложили клиенту самый действенный способ — это СМС-верификация. Добавили в лид-форму модель обязательного подтверждения номера телефона через код, который приходит по СМС.
После внедрения этого метода некачественные заявки практически исчезли — доля фрода была менее 2%. При этом получилось и количество целевых заявок увеличить на 12%.
Если вы планируете привлекать больше клиентов, мы можем сделать аудит вашей контекстной рекламы, найти новые точки роста и построить стратегию масштабирования продаж.
Как получить больше крупных заказчиков в B2B с контекстной рекламы: оптимизируем кампании по… отправке писем
Повышение количества продаж — не единственная задача при продвижении интернет-магазина в B2B с помощью контекстной рекламы в Яндекс Директ. Наш клиент, торгующий подшипниками, поставил задачу — повысить средний чек.
Мы проанализировали из каких источников приходит больше покупателей с высоким средним чеком. Выяснилось, что крупные заказы приходили не через заявки с сайта и даже не по телефону, а по электронной почте.
Решили прокачать автоматику с учетом этого формата обращений. Настроили e-mail трекинг и запустили отдельную Товарную кампанию с оптимизацией по отправке писем.
В результате получили дополнительно 173 заказа, из которых 41% были от крупных клиентов. Для сравнения, в остальных кампаниях доля крупных заказов была не более 10%.
От перестановки стратегий сумма заказов меняется или как работать с составными целями в контекстной рекламе
При продвижении интернет-магазина подшипников в Яндекс Директе мы уперлись в потолок — кампании были успешными, но масштабировать и привлекать больше лидов не получалось. Просто увеличение бюджета только разгоняло стоимость привлечения заявки. Количество же не росло.
В рекламных кампаниях мы использовали стратегию максимум конверсий с оптимизацией по макроконверсиям (заявкам на подшипники), которая давала всего 28 обращений в месяц. Чтобы дать алгоритмам больше данных, мы перевели стратегии на оптимизацию по микроконверсии «Положил в корзину», заказов стало больше почти в 2 раза — 55.
Мы решили развивать эту идею и перевели стратегию на микроцель «3 минуты на сайте». Заявок стало еще немного больше — 65. Обычно оптимизируют или по макроконверсиям или по макро. Мы решили соединить разные виды конверсий в одну связку.
И лучший результат получился именно при использовании комбинированной цели для оптимизации: микроконверсии «посещение 3 страниц» и макроконверии «отправка формы на подбор подшипников». Такая стратегия привлекла 89 заказов.
Оптимизация по составной цели, которая сочетала в себе микро и макроконверсии, привела на 27% больше заказов. Кстати, этот лайфхак актуален не только для подшипников или B2В сегмента, но и для любой услуги или товара, которые требуют консультации эксперта.
Форма «подбор подшипников» есть в каждой карточке товара.
Если надо увеличить средний чек, самое время оптимизировать кампании Я.Директ по сумме товаров
Продавец матрасов столкнулся с проблемой — доля рекламных расходов (ДРР) была 36% — выше порога рентабельности. Большинство посетителей сайта покупали самые дешевые матрасы и аксессуары (наматрасники, подушки, бельё). Но основную прибыль должны были приносить ортопедические дорогостоящие матрасы, которые продавались слабо. Средний чек получался низким, и контекстная реклама не окупалась.
Как правило, в таких ситуациях помогают настройки фильтров рекламных кампаний по цене товара. Но этот функционал есть не во всех типах кампаний. Для Поиска и Мастера Кампаний нужно было найти нестандартное решение. Мы создали в Метрике цель, которая засчитывала конверсии с суммой товаров в корзине 25 000+ руб. И настроили оптимизацию автостратегий по этой цели.
В результате алгоритмы Яндекса стали приводить новую аудиторию, которая совершала покупки с более высоким средним чеком. ДРР снизился с 36% до оптимальных 30%.
Когда в премиальном сегменте мало продаж, оптимизируем контекстную рекламу по микроконверсиям
Клиент, который продает дизайнерскую мебель, столкнулся с проблемой — мало продаж с контекстной рекламы. Автостратегии Яндекс Директа приводили мало качественного трафика на сайт, полученных конверсий не хватало на то, чтобы алгоритмы обучались по этим заявкам и приводили больше целевых посетителей. Получался замкнутый круг.
Мы заметили, что большинство заявок оставляют люди, которые провели на сайте достаточно много времени. Премиум-товары стоят дорого, покупатели долго знакомятся с продуктом, изучают, а окончательно покупают уже в шоу-румах. Нецелевая аудитория уходит с сайта гораздо раньше.
Обычно, в таких ситуациях, оптимизируются по микроконвериям: посещение карточки товара, положил в корзину, начал оформление заказа. Но для этого проекта стандартные микроконвесии не годились, потому что пользователи до этих действий просто не доходили.
Выдвинули гипотезу: оптимизировать алгоритмы Яндекса по времени на сайте. Так как Метрике нет готовых решений для отслеживания времени на сайте, разработали свой скрипт. Настроили в Метрике цель — на пользователей, которые активно изучали сайт в течение 3 минут. И указали ее в качестве целевого действия в настройках РК.
Гипотеза оказалась удачной: возросло количество целевого трафика, продаж стало больше на 21%. Однако отметим, что оптимизация по времени на сайте сработает не на каждом проекте.
Снижаем стоимость лида, обучая алгоритмы Яндекса на заявках и звонках
Контекстная реклама — инструмент капризный и сложный. Без лайфхаков не разберешься. У нас скопилось много неочевидных решений, которые не прописаны в справке Яндекс Директа. Решили поделиться своими наработками в этих постах.
Первый случай из нашей практики. Застройщик вкладывал средства в рекламу столичного ЖК, но лиды были дорогими и продвижение не окупалось. Автоматические алгоритмы Яндекс Директа не приводили нужное количество качественных лидов, потому что не могли охватить всю аудиторию застройщика.
Обращения поступали 2 способами: через заявки с сайта и звонки. Но автостратегия Яндекса качала трафик по заявкам и совсем не привлекала любителей говорить по телефону. Дело в том, что в Метрике, по умолчанию, нет возможности объединить в одну составную цель заявки с сайта и звонки. Нужно было найти нестандартный способ объединить цели из коллтрекинга и по заявкам.
Мы решили применить стратегию из мира e-commerce — Максимум конверсий с оптимизацией по доле рекламных расходов (ДРР). Несмотря на то, что недвижимость и e-com — разные ниши, мы решились на эксперимент.
Указали цель — ДРР 100%. В качестве ключевых целей указали одновременно: заявки с сайта и звонки из коллтрекинга. Как дополнительный параметр, добавили конверсию «бронирование квартир», данные по которой передавали в Метрику из CRM.
В итоге алгоритмы получили больше данных, стоимость обращения (CPA) снизилась на 26%. Было 6899 р. — стало 5134 р.