Как многие из нас догадываются, человек это стайная обезьяна, которая следит за другими обезьянами, чтобы научиться у них чему-то полезному. Именно на этом строится существенная часть обучения вообще и в IT в частности - на подглядывании за другими. За тем как люди выкладывают свой код или просто о чём-то рассказывают. Однако, рассказывают они не обо всё.

Очень часто, этот код или текст не являются продуктом нацеленным на то, чтобы дать другим обезьянкам полноценное обучение. Очень часто в головы читателям загружается что-то вырванное из контекста и не содержащее чего-то важного. Например, в рассказах про работу с данными забывают рассказать о том месте из которого эти данные взялись. То есть, о реальности.

И лучше всего это продемонстрировать на двух примерах

Пример №1: Работа аналитика

(Сама статья вот тут - https://habr.com/ru/articles/787098/ )

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

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

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

Но посмотрите на график из примера.

По легенде, это "процент пользователей воспользовавшихся промокодами". То есть, в этом графике отражены данные о вводе промокода и о посещаемости веб-сайта. Какой вопрос должен задать себе опытный аналитик, глядя на скачкообразное изменение в конце января? Правильно: "А не сбой ли это в данных?"

Потому, что на самом деле мы работаем не с данными, которые 100% точно отражают реальность, а с данными собранными конкретными техническими методами, что неизбежно создаёт риски и искажения.

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

Количество воспользовавшихся фиксируется внутренними средствами сайта. Мы полностью контролируем эти данные и можем 100% на них положиться. Что же могло случиться?

Например:

  • отвалился кусок часть базы промокодов и часть вводов промокдов перестала фиксироваться как успешная

  • обновился какой-нибудь браузер/антивирус/блокировщик_рекламы и у части пользователей перестала срабатывать яваскриптовая обвязка формы

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

  • много чего ещё

И, конечно же, ничто из этого не является "внедрение нового сайта", потому что (а) внедрение нового сайта это, в первую очередь, вопрос юзабилити и (б) это мелкие работы в рамках существующего веб-сайта.

Количество пользователей сайта вообще мы контролируем внешними средствами. Просто потому что сбор сервисных логов и их чистка от ботов и пр., это геморрой, а внешние счётчики даёт много вкусностей. Что же могло случиться?

Например:

  • неизбежный переход с GA3 на GA4

  • сервис изменил методики подсчёта

  • коллеги изменили настройки/фильтры

  • кто-то заметил что счётчик не стоит в шаблоне обрабатывающем 404 ошибку и справил ситуацию

  • много чего ещё

Нет, я не говорю, что @maratyv должен был написать все возможные варианты приведшие к изменению собирания статистики , но можно же сказать "да, этот скачёк очень похож на сбой или изменение методики сбора статистики, но сейчас мы это рассматривать не будем, потому что это просто синтетический пример для осваивания методов анализа данных".

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

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

Пример №2: Загрузка данных

(Сама статья вот тут - https://habr.com/ru/companies/rshb/articles/797435/ )

Я понятия не имею насколько полно и корректно описан процесс с технической токи зрения, но я в восторге от того, что @VasilPRM вставил в текст SWOT-анализ. Это как раз то самое о чём я пишу - надо показывать обезьянкам правильные подходы, и SWOT-анализ (или любой другой подсчёт плюсов и минусов) это очень правильно.

Но вот вопрос сопряжения с реальностью снова не раскрыт.

А реальность проявляется вот в этом - данные в Excel.

Во-первых, встаёт вопрос формата.

"06.09.2023" это июнь или сентябрь? Какая именно информация будет перенесена в базу?

Вы скажете, что точки в качестве разделителя намекают скорее на европейский формат записи даты, чем на американский. Да, но гарантии нет, и при этом, на одном из скриншотов есть дата в формате "06/09/2023".

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

Как это не банально звучит, но мы имеем дело не с самой реальностью, а с данными записанными в формате, который допускает различные интерпретации.

Во-вторых, у нас есть ещё более существенная проблема - откуда взялись эти данные?

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

В столбике "Тип ЕО" вручную вбиты буквы "М" и "O", а они латинские или кириллические? Сейчас на это смотрят глазами и разница не существенно, но когда это будет загружено в большую базу, то это может на что-то повлиять.

Тут было бы очень уместно сказать обезьянке о том, что за набивание ответственны какие-то другие люди, но за загрузку - именно обезьянка. А значит, надо проверить всё форматы данных, корректность заполнения, убедиться что не только в столбике "Тип ЕО", но и в поле "Cистема охраны" первая "C" кириллическая, а не латинская.


И это лишь два примера из множества других текстов, в которых люди раскрывают свои узкие темы, не затрагивая сопряжённые вопросы.

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

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

Поэтому, коллеги, начинайте делать в своих текстах правильные уточнения и оговорки.

Ведь нам всем предстоит жить в мире, созданном обезьянками, освоившими профессию по нашим текстам и примерам.

Комментарии (8)


  1. VasilPRM
    21.03.2024 04:24
    +5

    Благодарю за разбор статьи. Помогли взглянуть с другой стороны на свой текст. Это очень помогает при самоанализе.

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

    Уловил себя на мысли, что на месте читателя я хотел бы видеть в тексте как можно больше уточнений и подробностей.

    Расскажу по какой причине в моей статье отсутствуют уточнения, приведенные в примерах. Стоит начать с того, что материал направлен на очень узкую аудиторию сайта. Просмотры статьи это подтверждают. Готовя материал, я осознавал, что откроют статью, а уж тем более дочитают до конца только те читатели, которые точно знают, что такое SAP, а также имеют понимание об инструменте, описанном в статье. Вообще, написать статью меня подтолкнула ситуация в которой я оказался. По долгу работы мне понадобилось освоить данную технологию, чтобы эффективно выполнить поставленную задачу. Чтобы применить инструмент пришлось сперва изучить материал из открытых источников, включая материал на иностранном языке. Кстати, стоит упомянуть, что материала по данному вопросу на русском языке встретилось до смешного мало. В статье я решил объединить весь материал, который помог мне в освоении технологии, а также свой опыт, который я приобрел пытаясь работать с ней. В статье упор был сделан на темы, которые у меня у самого вызывали вопросы при изучении. Поэтому все силы были брошены именно на их раскрытие. Примеры, указанные вами, я не стал уточнять, ибо в среде SAP формат даты един и стандартен, а также системные типы каких-либо объектов априори будут указаны на латинице. Для заинтересованных читателей это будет известным фактом. Таких читателей сложно назвать обезьянками.

    Тем не менее мысль о том, что моменты, которые на практике и в реальности могут повлиять на что-то стоят того, чтобы описать их немного подробнее.


    1. muxa_ru Автор
      21.03.2024 04:24
      +1

      Для заинтересованных читателей это будет известным фактом.

      Вот это самый интересный вопрос - качество прокладки между стулом и клавиатурой.

      Кто читатель данной статьи?

      • универсальный админ работающий в мелкой конторе, где ведут продажи через табличку в экселе - у него и так дофига дел, он просто возьмёт найденный в интернете пример и будет использовать как есть

      • узкий специалист по SAP - он привык работать форматами полей внутри базы и отвык от экселевского принудительного автоматического полиморфизма (привет генетикам - https://habr.com/ru/news/514202/ )

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

      Это не академическое образование, в котором препод по какому нибудь ТММ скажет "недавно на математике вас научили разложению в ряд, и сейчас я расскажу как это применять в моей дисциплине". Где ты через пару лет можешь вспомнить что-то что раньше тебе казалось незначительным. В массовом IT этого нет.

      В массовом IT люди учатся через наблюдение за окружающим миромю

      Это как в обычной жизни, где надо одновременно не показывать неправильную и показывать правильную модель поведения.

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

      Просто упоминать, чтобы это откладывалось в головах как часть процедуры.

      И упоминать каждый раз, потому что, как гласит практика тб на производстве, даже самые опытные и обученные суют руки туда где их им оторвёт.

      Поэтому на видных местах должны висеть плакатики с крупными буквами и время от времени надо проводить инструктаж.

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


      1. YuryZakharov
        21.03.2024 04:24
        +1

        К сожалению, Ctrl+Enter не работает в комментариях, как обещали, поэтому так.

        "оденьте каску".

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


      1. YuryZakharov
        21.03.2024 04:24
        +1

        даже самые опытные и обученные суют руки туда где их им оторвёт.

        Статистика, насколько помню, говорит, что самые аварийные - это водители со стажем пять лет. Что-то вроде - "Я уже вон какой опытный, всё знаю, что вы мне тут со своими инструкциями!". Дальше - снижение (для тех, кто выжил).

        Со станками, думаю, картина похожа. Может, время другое, но всплеск аварийности должен быть похожим.

        И в любой области так, в IT в том числе.

        И что с этим делать, если таблички "Надень каску" замылились и не работают, как думаете? Кроме старика Дарвина ничего на ум не приходит...


        1. muxa_ru Автор
          21.03.2024 04:24
          +1

          Со станками, думаю, картина похожа.

          Есть такая штука "повторный инструктаж по ТБ", в зависимости от ситуации полагается делать каждые 3 или 6 месяцев. Я, вроде бы, как-то слышал про 9 месяцев, как предельное значение, но подтвердить ссылкой не могу и за точность не поручусь.

          Не то чтобы я слишком сильно полагался на нормативы как на 100% достоверное отражение реальности (люди которые их писали, могли иметь разные мотивы не имеющие отношения к проблемам безопасности), но они именно таковы.


    1. muxa_ru Автор
      21.03.2024 04:24
      +1

      Тем не менее мысль о том, что моменты, которые на практике и в реальности могут повлиять на что-то стоят того, чтобы описать их немного подробнее.

      Ну вот и пытаюсь, заходя на тему с разных сторон.


  1. TooBigBigs
    21.03.2024 04:24
    +2

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

    Ан нет, статья оказалась не об этом :)


    1. muxa_ru Автор
      21.03.2024 04:24
      +1

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