Obsidian для продакт‑менеджера: инициативы, обратная связь, гипотезы и решения в одном хранилище
Если вам интересна тема персональных систем управления знаниями и задачами — переходите в мой тг‑канал. Там я разбираю инструменты, публикую кейсы и делюсь тем, что работает на практике, а не только выглядит красиво на скриншотах.
Я собираю персональные системы в Obsidian на заказ. Перед работой с новым клиентом я раскладываю его работу на этапы и выписываю, где уходит время и пропадает информация. У продакт‑менеджера я насчитал 78 таких мест. Ниже — система, с которой я бы начал, и четыре её узла в деталях, с настройками, которые можно повторить у себя.
Это демо‑кейс: типовой каркас профессии. Продукт, пользователи, цифры и конкуренты в примерах вымышлены.
Obsidian — программа для заметок, которая хранит всё в обычных текстовых файлах на вашем диске. Заметки связываются ссылками, а плагины добавляют таблицы, канбаны, графики, кнопки и шаблоны.
Где продакт теряет информацию
Беру продакт‑менеджера в IT‑компании. Он отвечает за одно направление, работает с разработчиками, дизайнером и аналитиком и отчитывается перед руководителем. Горизонт планирования — квартал. В примерах — мобильное приложение доставки из супермаркетов.
|
Этап |
Что мешает |
|---|---|
|
Запросы стейкхолдеров |
Запросы приходят в чат, на созвоне и в комментарии к документу. Обещание, данное на встрече, через квартал каждый помнит по‑своему |
|
Исследования |
30 расшифровок интервью лежат папкой документов. Найти, что говорили про оплату, можно только чтением подряд |
|
Данные |
Как считается метрика, знают продакт и аналитик, и в двух отчётах она посчитана по‑разному. Объяснение февральского провала проговорили на созвоне и забыли |
|
Бэклог |
Почему задачу отложили в марте, нигде не записано, и в июне её обсуждают заново |
|
Постановка |
Разработчик спрашивает в чате, что показать, если дома нет в списке адресов. Продакт отвечает там же, ответ в постановку не попадает, и через месяц документ расходится с тем, что сделали |
|
Разработка |
Блокер держит задачу третью неделю. С какого числа и кого ждут, на каждой встрече выясняют заново |
|
Эксперименты |
Критерий успеха проговорён устно. Провалившийся тест не сохраняется, и через год та же идея приходит как новая |
|
Роадмап |
Роадмап живёт в презентации, предыдущая версия не сохраняется, сравнить обещанное и сделанное нельзя |
|
Отчётность |
Вопрос «почему мы выбрали этот путь» задают через год, а причина осталась в переписке |
|
Обратная связь |
Одна и та же жалоба приходит из интервью, поддержки и отзывов, но источники не сведены, и повторение видно на ощущение |
Ещё несколько потерь встречаются на любом этапе. Ответы на типовые вопросы и объяснение продукта пишутся заново, хотя проговаривались десятки раз. Разбор конкурента живёт в личном файле коллеги. А весь контекст держится на одном человеке: продакт ушёл в отпуск, и решения встали.
Почти все эти потери об одном и том же: обоснования решений нигде не собраны вместе. Что говорили пользователи, что проверяли, чем кончилась проверка и почему выбрали этот вариант, разнесено по чатам, трекеру, презентациям и документам. Систему я собрал из четырёх узлов, связанных в цепочку: из того, что говорят пользователи, вырастает гипотеза, итог проверки записывается решением, и всё это привязано к инициативе.
Карта системы
Стартовую страницу открывает плагин Homepage: он показывает выбранный файл при каждом запуске Obsidian.
Наверху две колонки задач. Задачи записаны прямо в инициативах, встречах и решениях, а собирает их плагин Tasks: он находит строки‑задачи с датами по всему хранилищу и показывает выборку по условию. Слева «Сегодня», справа «Просрочено»:
«`tasks not done due today sort by due group by filename hide backlink hide toolbar hide edit button hide postpone button hide task count «`
Запрос для правой колонки отличается одной строкой: due before today вместо due today.
Под задачами встречи на сегодня, блокеры и роадмап. Их собирает Bases — встроенный плагин Obsidian, который работает с заметками как с базой данных: поля заметок становятся колонками, набор заметок — таблицей.
Настройки Bases пишутся текстом. Их можно вставить в любую заметку блоком кода base, и Obsidian сразу покажет таблицу. Или положить в отдельный файл с расширением .base. В одних настройках можно описать несколько таблиц с разными условиями, они называются видами. Встречи на сегодня показывает такой блок:
«`base filters: and: — file.inFolder(«Встречи») views: — type: table name: Сегодня filters: and: — note[«дата»] == today() order: — время — file.name — инициатива sort: — property: время direction: ASC «`
Узел 1. Инициатива
Инициатива — одна доработка продукта: новый онбординг, оплата при получении, повтор прошлого заказа. У каждой своя заметка, и все устроены одинаково.
Поля на странице
В Obsidian у заметки есть свойства — поля в её шапке. У инициативы это стадия, срок, цель квартала, блокер, дата блокера и дата выхода. Свойства в шапке редактировать неудобно, поэтому они выведены таблицей в начало заметки плагином Meta Bind: он вставляет в текст поля ввода, связанные со свойствами. Поменял стадию в таблице — поменялось свойство.
| Стадия | `INPUT[inlineSelect(option(Идея), option(Исследование), option(Постановка), option(Разработка), option(Вышла)):стадия]` | | — | — | | Срок | `INPUT[datePicker:срок]` | | Цель квартала | `INPUT[text:цель]` | | Блокер | `INPUT[text:блокер]` | | Дата блокера | `INPUT[datePicker:дата-блокера]` | | Вышла | `INPUT[datePicker:вышла]` |
Ниже разделы «Зачем», «Постановка» со ссылкой на макеты и «Задачи».
Задачи
Задачи по инициативе стоят в её заметке:
— [ ] Принять экран выбора адреса 📅 2026-11-11 — [ ] Получить от юристов текст согласия на геолокацию 📅 2026-11-12
Tasks показывает их на стартовой странице в день срока. Срок, обещанный смежной команде, стоит внутри своей инициативы и одновременно виден в общем списке на день.
Что собирается из других заметок
Нижнюю половину заметки заполнять не нужно. Цитаты пользователей, встречи и поручения с них находит в хранилище плагин Dataview: он выполняет запросы к заметкам хранилища. FROM [[]] значит «заметки, которые ссылаются на эту»:
«`dataview TABLE WITHOUT ID file.link AS «Что говорили», тип AS «Откуда», сегмент AS «Сегмент», дата AS «Когда» FROM [[]] AND «Обратная связь» SORT дата DESC «` «`dataview TASK FROM [[]] AND «Встречи» WHERE !completed «`
Второй запрос собирает невыполненные поручения со всех встреч по этой инициативе. Договорились на планировании, что дизайнер отдаст экран к среде, — поручение видно и в заметке встречи, и на странице инициативы.
В той же заметке собраны гипотезы и решения по этой инициативе.
Канбан, роадмап и блокеры
Все инициативы сводит картотека Инициативы.base. Вид «Канбан» раскладывает их по стадиям, и карточка переносится в следующую стадию перетаскиванием.
Вид «Roadmap» на стартовой странице — невышедшие инициативы по сроку с целью квартала.
Вид «Блокеры» показывает инициативы, у которых заполнено поле блокер, и считает, сколько дней они ждут:
«`base filters: and: — file.inFolder(«Инициативы») — ‘!note[«блокер»].isEmpty()’ formulas: дней_в_ожидании: (today() — date(note[«дата-блокера»])).days properties: formula.дней_в_ожидании: displayName: Дней в ожидании views: — type: table name: Блокеры order: — file.name — блокер — дата-блокера — formula.дней_в_ожидании sort: — property: дата-блокера direction: ASC «`
В демо‑хранилище онбординг 8 дней ждёт юристов, оплата при получении 12 дней ждёт расчёта от финансов. На статусной встрече всё видно одной таблицей, и вспоминать, где это обсуждали, не нужно.
Узел 2. Обратная связь
Обычно обратная связь пользователей лежит в пяти местах: расшифровки интервью, система поддержки, отзывы в сторах, письма партнёров, заметки продаж. В системе каждая цитата или обращение — отдельная заметка.
Одна цитата — одна заметка
У заметки поля: откуда пришло (интервью, поддержка, отзыв в сторе, партнёры), кто сказал, сегмент, дата, ссылка на источник и на инициативу. Тема — тегом: #онбординг, #оплата, #брошенные-корзины.
Из интервью цитаты выписываются командой плагина QuickAdd «Обратная связь». Открываешь конспект интервью, выделяешь фразу, запускаешь команду. QuickAdd спрашивает, откуда, кто сказал и тему, и создаёт заметку по шаблону:
— тип: {{VALUE:Интервью,Поддержка,Отзыв в сторе,Партнёры}} кто: — {{VALUE:Кто сказал}} сегмент: {{FIELD:сегмент}} дата: {{DATE:YYYY-MM-DD}} откуда: «{{LINKCURRENT}}» инициатива: «{{FIELD:инициатива}}» tags: — {{VALUE:Тема тегом}} — > {{VALUE:Цитата}}
{{LINKCURRENT}} — ссылка на заметку, из которой запустили команду. Через год по цитате видно, из какого интервью она пришла, а в конспекте интервью встроен список цитат, которые из него выписали.
Что повторяется
Картотека Обратная связь.base группирует заметки по теме. Сколько раз всплывала тема, видно по группе. Про оплату говорили в интервью и писали в поддержку, про баллы партнёров — в отзывах и в письме банка.
На странице инициативы эти же заметки показывает запрос Dataview. Перед защитой инициативы под рукой цитаты с именами и датами.
Узел 3. Гипотезы и метрики
Критерий до старта
Гипотеза — заметка со ссылкой на инициативу и метрику. Поля: статус, критерий успеха, границы теста, итог. Критерий записывается до запуска, иначе обсуждение после теста сводится к тому, считать ли результат победой.
| Статус | `INPUT[inlineSelect(option(Идея), option(На проверке), option(Подтвердилась), option(Не подтвердилась)):статус]` | | — | — | | Критерий успеха | `INPUT[text:критерий]` | | Границы теста | `INPUT[text:границы]` | | Итог | `INPUT[text:итог]` |
Под таблицей раздел «Внешние факторы»: что ещё могло сдвинуть метрику, пока шёл тест. В гипотезе «Онбординг в три экрана» там записано, что 27 октября маркетинг поднял промокод на первый заказ до 500 ₽, поэтому установки после этой даты считаются отдельно.
Провалившиеся гипотезы хранятся наравне с подтвердившимися. На странице инициативы и метрики виден весь список с итогами, и идея, которую уже проверяли, не приходит в бэклог как новая.
Метрика с замерами
У метрики своя заметка: как считается, запрос к данным и замеры. Определение одно на всю команду, и запрос не нужно искать в истории чата с аналитиком.
Замеры ведутся таблицей «Дата | Значение | Что случилось». Раз в неделю туда переносится цифра с дашборда, а если был скачок, в той же строке записывается причина. Над таблицей график, который строится из неё. Его рисует плагин Charts, данные ему отдаёт скрипт DataviewJS:
const file = app.vault.getAbstractFileByPath(dv.current().file.path); const text = await app.vault.cachedRead(file); const section = (text.split(/^# Замерыs*$/m)[1] || «»).split(/n# /)[0]; const rows = section.split(«n») .filter(l => l.trim().startsWith(«|»)) .map(l => l.trim().replace(/^|||$/g, «»).split(«|»).map(c => c.trim())) .filter(r => /^d{4}-d{2}-d{2}$/.test(r[0]) && r[1]); const events = rows.map(r => (r[2] || «»).replace(/[[|]]/g, «»)); window.renderChart({ type: «line», data: { labels: rows.map(r => r[0].slice(8, 10) + «.» + r[0].slice(5, 7)), datasets: [{ data: rows.map(r => parseFloat(r[1].replace(«,», «.»))), borderColor: «#7c5cff», backgroundColor: «rgba(124, 92, 255, 0.12)», fill: true, tension: 0.3, pointRadius: events.map(e => e ? 6 : 3), pointBackgroundColor: events.map(e => e ? «#fff» : «#7c5cff»), pointBorderColor: «#7c5cff», pointBorderWidth: 2 }] }, options: { plugins: { legend: { display: false }, tooltip: { callbacks: { afterLabel: c => events[c.dataIndex] } } } } }, dv.container);
Скрипт читает текст заметки, находит раздел «Замеры», разбирает таблицу и передаёт даты и значения в график. Точки, у которых заполнено «Что случилось», крупнее, и при наведении показывают событие. Скрипт лежит одним файлом, а в каждой метрике стоит одна строка вызова:
«`dataviewjs await dv.view(«Скрипты/метрика») «`
Когда в августе провал повторится, объяснение февральского будет в той же таблице.
Узел 4. Решения
Решение — заметка с четырьмя разделами: вопрос, варианты, что выбрали, что отбросили и почему. Поля: статус (принято, отклонено, отложено), дата, инициатива и кто участвовал.
На этом решении видна вся цепочка. В интервью новая пользовательница говорит, что карта у мужа, а наличными она заплатила бы курьеру. Гипотеза «Оплата при получении для всех новых» поднимает конверсию с 18 до 25%, но отказы при получении доходят до 11% при критерии ниже 4%. Решение: оплата при получении со второго заказа. В разделе «Что отбросили и почему» записаны оба отвергнутых варианта с цифрами. Через полгода на вопрос «почему не для всех» ответ открывается одной ссылкой.
Отложенные решения
У отложенного решения есть задача «вернуться» с датой:
— [ ] Вернуться к баллам партнёров 📅 2027-01-15
В январе она появится на стартовой странице, и к решению вернутся вместе с аргументами, которые были в октябре.
Все решения сводит картотека Решения.base, сгруппированная по статусу. В инициативе встроен вид, который показывает только её решения.
Что ещё есть в системе
-
Входящее. Запрос из чата, жалобу или идею записываешь командой QuickAdd, не открывая нужную заметку. Строка встаёт во «Входящее» с датой и типом, разбирается потом.
-
Встречи. Повестка до, договорённости и поручения после, ссылка на инициативу. Поручения со встречи видны на странице инициативы.
-
Конкуренты. Функции, история цен с датами, жалобы из отзывов. Цифра из отраслевого отчёта цитируется ссылкой на страницу PDF: плагин PDF++ открывает файл сразу на нужном месте.
-
Свои формулировки. Ответ на «почему пока нет баллов партнёров», объяснение продукта, шаблон описания релиза. Выделил удачный ответ — QuickAdd сохранил его в заметку. Шаблон Templater вставляет любую формулировку в текущую заметку из списка.
Что получается
В такой системе каждая доработка продукта — одна страница: стадия, срок, блокер, задачи, цитаты пользователей, гипотезы с итогами, решения и поручения со встреч. Стартовая страница каждое утро показывает задачи и встречи на сегодня, просроченное, блокеры со сроком ожидания и роадмап. А на вопрос «почему мы так решили» ответ находится по ссылкам от решения к гипотезе и от гипотезы к цитате.
Под конкретного человека половина узлов перестраивается: кто‑то ведёт задачи в трекере команды и в Obsidian хранит только обоснования, а у руководителя направления добавляются продакты в подчинении. В канале я собираю такие схемы систем под профессии подписчиков. Раз в несколько недель я публикую там пост, под которым подписчики пишут свою профессию, и присылаю каждому схему в личку.
Больше разборов и кейсов — в моём тг‑канале.
Теги:
- obsidian
- second brain
- PKM
- notion
- продакт
- продакт-менеджер
- продакт-менеджмент
- продуктивность
- второй мозг
- база знаний
Хабы:
- GTD
- Agile
- Софт
- Управление продуктом
- Хранение данных