Куда ушли деньги и кто пришёл на них
Облачные сервисы сквозной аналитики берут деньги за объём событий и требуют выгрузить в чужую базу всё поведение своих клиентов. Дашборды общего назначения нарисуют что угодно, но модель атрибуции в них собирают руками, каждый раз заново.
Grain знает про рекламу и про людей одновременно. Расход из кабинетов, события продукта и атрибуция между ними — на одном экране, который собирается из панелей под свою привычку. Двенадцать миллионов событий отвечают быстрее десятой доли секунды, потому что под капотом колоночный DuckDB, а не строчная база.
Что внутри
Атрибуция тремя моделями
Первый контакт, последний, линейная — с окном в 30 дней. Считается оконными функциями на лету: смена модели пересчитывает весь период заново.
Рабочий стол панелей
Панели переставляются, растягиваются и запоминаются. После растягивания панель перерисовывается на сервере, чтобы график получил настоящую ширину, а не растянутый SVG.
Цифра со сравнением
Каждый показатель несёт изменение к прошлому периоду знаком, стрелкой и цветом. У расхода и CAC рост — плохо, у выручки — хорошо, и экран это знает.
От канала до человека
Канал → кампания → список людей → путь одного: все его контакты с рекламой и все события на одной ленте времени.
Свои графики
Линии, полосы, воронка и тепловая карта когорт нарисованы своим SVG на сервере — без библиотеки графиков и без фронтенд-фреймворка.
Двенадцать миллионов строк
Встроенный DuckDB: агрегаты за 26–109 мс, генерация демо-склада за пять секунд прямо в SQL. Импорт CSV и Parquet — один INSERT ... SELECT.