> Самоэволюционирующая система хранения и связывания ASO-данных.
> Каждый новый цикл данных автоматически обогащает все слои.
---
Проблема текущей архитектуры
Сейчас в хранилище 4 несвязанных слоя данных:
| Слой | Путь | Статус | Проблема |
|---|---|---|---|
| **ASo_from_lena/** | 09-Apps/Masha Pizzeria/ASo_from_lena/ | 36 папок Excel/Word | Сырые файлы, не читаемы в Obsidian |
| **raw_data/** | 09-Apps/Masha Pizzeria/raw_data/ | 572 MD файла | 1:1 конверсия, нет структуры, нет связей |
| **extraction/de/** | 09-Apps/Masha Pizzeria/extraction/de/ | 56 MD файлов | Структурированные, но только DE язык |
| **de/DE/** (v4) | 09-Apps/Masha Pizzeria/de/DE/ | 8 placeholder файлов | Пустые шаблоны, не связаны с данными |
Главные проблемы:
- Данные из extraction/ не перетекают в v4 store_data файлы (ios.md, gp.md)
- Knowledge base (01-08) не ссылается на реальные данные приложений
- Нет механизма эволюции — каждая новая итерация ASO не обновляет предыдущие слои
- aso_core.md и aso_log.md пустые, хотя в extraction/ уже есть 28 итераций данных
---
Архитектура v5: Evolution Engine
Принцип: Data Flows Up
┌─────────────────────────────────────────────────────────────────┐
│ KNOWLEDGE BASE (01-08) │
│ Глоссарий ASO → ссылки на реальные примеры из app data │
│ "Keyword Relevance" → [[Masha Pizzeria DE — итерация где │
│ изменили keywords и получили +30% visibility]] │
└──────────────────────────┬──────────────────────────────────────┘
│ references ↑↓
┌──────────────────────────▼──────────────────────────────────────┐
│ APP CARD + STORE DATA (v4) │
│ de/DE/ios.md → ТЕКУЩЕЕ состояние метаданных, рангов, метрик │
│ de/DE/aso_log.md → хронология ВСЕХ изменений │
│ de/aso_core.md → актуальное семантическое ядро │
└──────────────────────────┬──────────────────────────────────────┘
│ populated from ↑
┌──────────────────────────▼──────────────────────────────────────┐
│ EXTRACTION (structured) │
│ extraction/de/app_store/01..28 → исторические снимки │
│ extraction/de/google_play/01..28 → по стору отдельно │
│ Каждый файл = один момент времени с полными данными │
└──────────────────────────┬──────────────────────────────────────┘
│ parsed from ↑
┌──────────────────────────▼──────────────────────────────────────┐
│ RAW DATA (archive) │
│ raw_data/01..36/ → 572 MD файлов, все листы Excel │
│ Архив: не редактируется, только читается │
└──────────────────────────┬──────────────────────────────────────┘
│ converted from ↑
┌──────────────────────────▼──────────────────────────────────────┐
│ SOURCE (original files) │
│ ASo_from_lena/ → Excel/Word оригиналы │
│ Хранятся как есть, не трогаются │
└─────────────────────────────────────────────────────────────────┘
Слой 1: SOURCE → RAW_DATA (✅ готово)
Конвертер: convert_all_to_md.py
Статус: 536 файлов → 572 MD, 0 ошибок
Правило: Запускается один раз при добавлении новых итераций. Не теряет ни одного символа.
Слой 2: RAW_DATA → EXTRACTION (🔧 DE готов, нужны другие языки)
Конвертер: extract_de_history.py
Статус: DE — 28 итераций × 2 стора = 56 файлов
Структура файла:
type: aso_extraction
app: masha-pizzeria
store: app_store | google_play
language: de
country: DE
iteration: 1-28
date: "YYYY-MM"
iteration_type: iteration | rank | amazon | custom_store
source_folder: "1. Июль-Август 2020"
prev_iteration: "[[01_2020-08_app_store]]" # ← НОВОЕ: навигация
next_iteration: "[[03_2020-11_app_store]]" # ← НОВОЕ: навигация
Что нужно добавить:
- prev/next ссылки между итерациями (хронологическая цепочка)
- Секция
## Delta— что изменилось по сравнению с предыдущей итерацией - extraction/ для других языков: EN, RU, ES, FR, IT, PT-BR, TR, ...
Слой 3: EXTRACTION → STORE DATA (v4) — 🆕 ключевой мост
Это главный недостающий элемент. Extraction содержит исторические снимки, а v4 store_data (ios.md, gp.md) должен содержать ТЕКУЩЕЕ состояние + ссылки на историю.
Механизм заполнения de/DE/ios.md:
---
type: store_data
app: masha-pizzeria
store: ios
store_locale: "de-DE"
language: "de"
country: "DE"
status: active # ← из placeholder → active
last_iteration: 36 # ← номер последней итерации
last_iteration_date: "2026-02"
date_updated: 2026-04-08
---
Секция Metadata → берётся из последней extraction итерации:
## Metadata
| Field | Value | Last Changed | Iteration |
|---|---|---|---|
| **Title** | Mascha und der Bär Pizzeria! | 2024-01 | [[25_2024-01_app_store]] |
| **Subtitle** | Koch und Backen Spiele: Pizza! | 2023-08 | [[19_2023-08_app_store]] |
| **Keywords** | kinder,für,toca,kitchen,... | 2024-05 | [[28_2024-05_app_store]] |
Секция Keywords Tracking → агрегация из ВСЕХ extraction итераций:
## Keywords Tracking
| Keyword | Current Rank | Best Rank | Worst Rank | First Seen | Iterations |
|---|---|---|---|---|---|
| mädchen spiele | 5 | 3 | 45 | 2020-08 | 28 |
| kinder spiele | 12 | 8 | - | 2020-08 | 28 |
Секция Change History → автоматически из extraction delta:
## Change History
| Date | Field | Before | After | Iteration | Impact |
|---|---|---|---|---|---|
| 2024-05 | Keywords | kinder,für,toca,... | kinder,für,toca,backen,... | [[28]] | +3 new keywords |
| 2024-01 | Title | Mascha Pizzeria! | Mascha und der Bär Pizzeria! | [[25]] | Brand keyword added |
Слой 4: STORE DATA → ASO_CORE (семантическое ядро языка)
de/aso_core.md — агрегация по ВСЕМ итерациям:
## Core Keywords
| # | Keyword | Priority | Best Rank | Volume | In Title | In Keywords | Iterations Used | First Used | Status |
|---|---|---|---|---|---|---|---|---|---|
| 1 | kinder spiele | S | 8 | 545 | ✓ | ✓ | 28/28 | 2020-08 | active |
| 2 | backen spiele | S | 12 | 23 | ✓ | ✗ | 25/28 | 2020-08 | active |
| 3 | pizza spiele | K | 559 | 27 | ✗ | ✓ | 20/28 | 2020-08 | deprecated |
## Keyword Clusters
| Cluster | Keywords | Avg Rank | Strategy |
|---|---|---|---|
| brand | mascha und der bär, masha bear | 3 | Protect — always in Title |
| cooking | kochen, backen, koch spiele, backen spiele | 15-50 | Grow — move to Subtitle |
| kids | kinder spiele, kinderspiele, mädchen spiele | 5-12 | Maintain — high volume |
| pizza | pizza, pizza spiele, pizzaiolo | 100+ | Experiment — test in Keywords |
Слой 5: ASO_CORE + ASO_LOG → KNOWLEDGE BASE (01-08)
Двусторонняя связь:
В глоссарных терминах (01 - Core ASO, 02 - Keywords & Metadata, etc.) добавляется секция ## Real Examples:
## Real Examples
### [[Masha Pizzeria]] — DE market
- **Keyword Field strategy**: 16 keywords, comma-separated, no spaces after commas
→ See [[de/aso_core|DE Semantic Core]] for full keyword history
- **Title optimization**: Brand keyword "Mascha und der Bär" in title since [[25_2024-01_app_store|iteration 25]]
→ Jumped from rank 8 to rank 3 for "Mascha und der Bär"
- **Subtitle A/B test**: Changed from generic to keyword-rich in [[10_2021-11_app_store|iteration 10]]
В APP_CARD.md добавляется связь с glossary:
## ASO Strategy Links
| Concept | Applied | Result | See Term |
|---|---|---|---|
| [[Keyword Relevance]] | Title contains brand + category keywords | Rank 3 for brand | [[Keyword Relevance#Real Examples]] |
| [[Download Velocity]] | Seasonal push in Dec-Jan | +40% installs | [[Download Velocity#Real Examples]] |
---
Эволюционный цикл
Что происходит при добавлении новой итерации (#37):
1. Лена кладёт Excel в ASo_from_lena/37_.../
↓
2. convert_all_to_md.py → raw_data/37_.../ (новые MD файлы)
↓
3. extract_XX_history.py → extraction/XX/app_store/37_YYYY-MM.md
extraction/XX/google_play/37_YYYY-MM.md
↓ AUTO-DELTA
4. Скрипт сравнивает итерацию 37 с 36:
- Что изменилось в Title/Subtitle/Keywords?
- Какие ключевые слова выросли/упали в ранге?
- Новые ключевые слова в Traffic?
→ Записывает ## Delta секцию в extraction файл
↓
5. Обновляет de/DE/ios.md:
- Metadata → текущие значения из итерации 37
- Keywords Tracking → новые ранги
- Change History → новая строка
↓
6. Обновляет de/aso_core.md:
- Core Keywords → обновлённые ранги и статусы
- Keyword Clusters → пересчёт средних рангов
↓
7. Обновляет de/DE/aso_log.md:
- Новая строка с типом изменения, гипотезой, результатом
↓
8. Если изменение значимое (новый кейс для glossary):
- Добавляет пример в соответствующий термин Knowledge Base
---
Файловая структура v5
obsidian/
├── _templates/
│ ├── Term Template.md # глоссарий (есть)
│ ├── Store Data Template.md # 🆕 шаблон для ios.md/gp.md
│ ├── Extraction Template.md # 🆕 шаблон для extraction файлов
│ ├── ASO Core Template.md # 🆕 шаблон для aso_core.md
│ └── ASO Log Template.md # 🆕 шаблон для aso_log.md
│
├── 00 - MOC/
│ ├── ASO Universe.md # мастер-навигация (есть)
│ ├── Core ASO Concepts MOC.md # (есть)
│ ├── Keywords & Metadata MOC.md # (есть)
│ ├── Visual Assets & Creative MOC.md # (есть)
│ ├── Ratings & Reviews MOC.md # (есть)
│ ├── Analytics & Metrics MOC.md # 🆕 нужно создать
│ ├── Store Infrastructure MOC.md # 🆕 нужно создать
│ ├── Growth & UA MOC.md # 🆕 нужно создать
│ ├── Localization & Advanced MOC.md # 🆕 нужно создать
│ └── Apps MOC.md # 🆕 навигация по приложениям
│
├── 01 - Core ASO/ # 31 терминов (есть)
├── 02 - Keywords & Metadata/ # 25 терминов (есть)
├── 03 - Visual Assets & Creative/ # 12 терминов (есть)
├── 04 - Ratings & Reviews/ # 10 терминов (есть)
├── 05 - Analytics & Metrics/ # 12 терминов (есть)
├── 06 - Store Infrastructure/ # 13 терминов (есть)
├── 07 - Growth & UA/ # 🆕 0 терминов → нужно ~12
├── 08 - Localization & Advanced/ # 🆕 0 терминов → нужно ~10
│
└── 09 - Apps/
└── Masha Pizzeria/
├── APP_CARD.md # карточка приложения (есть)
├── competitors.md # конкуренты (есть)
│
├── ASo_from_lena/ # SOURCE: оригиналы (36 папок)
│ └── [не трогаем]
│
├── raw_data/ # ARCHIVE: 1:1 конверсия (572 MD)
│ ├── _index.md
│ └── 01..36_folders/
│
├── extraction/ # HISTORY: структурированные снимки
│ ├── _index.md # мастер-индекс всех языков
│ ├── de/ # ✅ 56 файлов готово
│ │ ├── _index.md
│ │ ├── app_store/01..28
│ │ └── google_play/01..28
│ ├── en/ # 🆕 нужно создать
│ ├── ru/ # 🆕 нужно создать
│ ├── es/ # 🆕
│ ├── fr/ # 🆕
│ ├── it/ # 🆕
│ ├── pt-br/ # 🆕
│ └── tr/ # 🆕
│
├── de/ # CURRENT STATE: v4 структура
│ ├── _overview.md # обзор языка (есть)
│ ├── aso_core.md # 🔧 → заполнить из extraction
│ └── DE/ # страна
│ ├── ios.md # 🔧 → заполнить из extraction
│ ├── gp.md # 🔧 → заполнить из extraction
│ ├── amazon.md # placeholder
│ ├── aso_log.md # 🔧 → заполнить из extraction
│ ├── ua.md # placeholder
│ ├── ad_revenue.md # placeholder
│ ├── revenue.md # placeholder
│ └── reviews.md # placeholder
│
├── en/ ... ru/ ... es/ ... # другие языки (placeholder)
│
└── _dashboards/ # 🆕 Dataview дашборды
├── keyword_evolution.md # график эволюции ключей
├── iteration_timeline.md # таймлайн всех итераций
├── language_coverage.md # матрица покрытия языков
└── metadata_changes.md # лог всех изменений
---
Dataview Queries для навигации
В _dashboards/iteration_timeline.md:
TABLE iteration, date, iteration_type, store
FROM "09 - Apps/Masha Pizzeria/extraction"
WHERE type = "aso_extraction" AND language = "de"
SORT iteration ASC
В de/DE/ios.md — история метаданных:
TABLE date, title, subtitle, keywords_count
FROM "09 - Apps/Masha Pizzeria/extraction/de/app_store"
WHERE type = "aso_extraction"
SORT iteration ASC
В de/aso_core.md — все ключевые слова через все итерации:
TABLE iteration, date, keyword_count
FROM "09 - Apps/Masha Pizzeria/extraction/de"
WHERE type = "aso_extraction"
SORT iteration ASC
В Knowledge Base термине:
LIST
FROM "09 - Apps" AND [[Keyword Relevance]]
WHERE type = "aso_extraction" OR type = "store_data"
---
Приоритеты реализации
Phase 1: Мост extraction → v4 (DE) 🎯 сейчас
- Скрипт
populate_v4_from_extraction.py— заполняет de/DE/ios.md, gp.md, aso_log.md из 28 extraction файлов - Скрипт
populate_aso_core.py— агрегирует все ключевые слова в de/aso_core.md - Добавить prev/next и ## Delta в extraction файлы
Phase 2: Другие языки
- Расширить extract_XX_history.py на EN, RU, ES, FR, IT, PT-BR, TR
- Заполнить v4 store_data для каждого языка
Phase 3: Knowledge Base ↔ App Data
- Добавить ## Real Examples в глоссарные термины
- Создать недостающие термины для 07 - Growth & UA и 08 - Localization
- Создать MOC для секций 05-08
Phase 4: Dashboards & Automation
- Создать Dataview дашборды
- Скрипт автоматизации нового цикла (одна команда для всего pipeline)
---
Ключевые YAML поля для Dataview
Все файлы в системе используют единую схему YAML для связывания:
| Поле | Где используется | Пример |
|---|---|---|
| `type` | везде | app_card, store_data, aso_extraction, aso_core, aso_log, moc, term |
| `app` | 09-Apps | masha-pizzeria |
| `store` | store_data, extraction | ios, gp, amazon |
| `language` | store_data, extraction, aso_core | de, en, ru |
| `country` | store_data, extraction | DE, US, RU |
| `iteration` | extraction | 1-36 |
| `date` | extraction | "2020-08" |
| `iteration_type` | extraction | iteration, rank, amazon, custom_store |
| `category` | glossary (01-08) | core-aso, keywords, visual-assets |
| `impact_level` | glossary | critical, high, medium, low |
| platform | glossary | ios, android, universal |