Секторы
Молочные Продукты Молочные бренды, производящие молоко, йогурт, масло, мороженое и другие молочные продукты в коммерческом масштабе. Эти основатели выстроили логистику холодовой цепи и лояльность к бренду на рынках, где транснациональные молочные компании агрессивно конкурируют за полочное пространство.
0 Бренды
Поделиться
Чемпионы Холодовой Цепи Местные молочные бренды, выдерживающие конкуренцию с транснациональными корпорациями, демонстрируют исключительную операционную дисциплину. Основатели, освоившие холодовую цепь, контроль качества и дистрибуцию в условиях сложной инфраструктуры, создают бизнесы с глубоким доверием потребителей и защищёнными рыночными позициями.
Поиск брендов по местоположению Интерактивная карта с брендами стран Глобального Юга. Используйте поиск по близости, просматривайте региональные кластеры и находите ближайшие бренды.
Интерактивная карта временно недоступна в вашем регионе. Мы работаем над решением, совместимым с Китаем.
Уровень
Очистить
Все бренды Устойчивые С профилем В каталоге Market
Очистить
Все рынки Абхазия Аргентина Армения Азербайджан Бахрейн Бангладеш Бразилия Камбоджа Чили Китай Колумбия Кот-д'Ивуар Куба Египет Эфиопия Грузия Гана Индия Индонезия Иран Иордания Казахстан Кения Киргизия Лаос Ливан Малайзия Мексика Монголия Марокко Мозамбик Мьянма Непал Нигерия Северная Корея Пакистан Палестина Перу Филиппины Россия Саудовская Аравия Сенегал Сербия Сингапур Южная Африка Шри-Ланка Тайвань Танзания Таиланд Тунис Турция Объединённые Арабские Эмираты Узбекистан Вьетнам Attribute
Очистить
All Attributes Искусное мастерство Награждённый Проверенный кризисом Формирующийся голос Под руководством основателя Собственность основателя Исторический бренд Наследственная династия Премиум-позиционирование Региональный символ Второе поколение Вертикально интегрированный Сигналы
ПРЕМИУМ
Готов к экспорту Готовность к масштабированию Готовность к преемственности
Разблокируйте эксклюзивный премиум-доступ для фильтрации по Сигналам Роста
website: feature.properties.website || '',
tier: feature.properties.contentTier || 'basic'
}));
this.loading = false;
// Update hero brand count
const heroCount = document.getElementById('hero-brand-count');
if (heroCount) {
const brandWord = this.brands.length === 1 ? 'бренд' : 'Бренды';
heroCount.innerHTML = this.brands.length + ' ' + brandWord;
}
console.log('Loaded ' + this.brands.length + ' brands for ' + taxonomyType + ': ' + termSlug);
} catch (error) {
console.error('Error loading brand data:', error);
this.brands = [];
this.loading = false;
}
// Initialize filters from URL parameters
const params = new URLSearchParams(window.location.search);
if (params.has('search')) this.search = params.get('search');
if (params.has('country')) this.country = params.get('country');
if (params.has('tier')) this.brandTier = params.get('tier');
if (params.has('website')) this.hasWebsite = params.get('website') === 'true';
// Watch for filter changes and update URL (debounced for search)
let searchTimeout;
this.$watch('search', () => {
clearTimeout(searchTimeout);
searchTimeout = setTimeout(() => this.updateURL(), 300);
});
this.$watch('country', () => this.updateURL());
this.$watch('brandTier', () => this.updateURL());
this.$watch('hasWebsite', () => this.updateURL());
},
updateURL() {
const params = new URLSearchParams();
if (this.search) params.set('search', this.search);
if (this.country) params.set('country', this.country);
if (this.brandTier) params.set('tier', this.brandTier);
if (this.hasWebsite) params.set('website', 'true');
const newURL = params.toString()
? window.location.pathname + '?' + params.toString()
: window.location.pathname;
window.history.pushState({}, '', newURL);
},
get activeFilterCount() {
let count = 0;
if (this.search) count++;
if (this.country) count++;
if (this.brandTier) count++;
if (this.hasWebsite) count++;
return count;
},
get filteredBrands() {
return this.brands.filter(brand => {
const matchesSearch = !this.search || brand.name.toLowerCase().includes(this.search.toLowerCase());
const matchesCountry = !this.country || brand.countryCode === this.country;
const matchesTier = !this.brandTier || brand.tier === this.brandTier;
const matchesWebsite = !this.hasWebsite || brand.website;
return matchesSearch && matchesCountry && matchesTier && matchesWebsite;
});
},
get sortedBrands() {
return [...this.filteredBrands].sort((a, b) => {
let aVal, bVal;
if (this.sortBy === 'founded') {
aVal = a.founded || 0;
bVal = b.founded || 0;
} else if (this.sortBy === 'tier') {
const tierOrder = { 'complete': 3, 'partial': 2, 'basic': 1 };
aVal = tierOrder[a.tier] || 0;
bVal = tierOrder[b.tier] || 0;
} else if (this.sortBy === 'country') {
aVal = a.country || '';
bVal = b.country || '';
} else if (this.sortBy === 'city') {
aVal = a.city || '';
bVal = b.city || '';
} else {
aVal = a.name || '';
bVal = b.name || '';
}
if (this.sortDirection === 'asc') {
return aVal > bVal ? 1 : aVal < bVal ? -1 : 0;
} else {
return aVal < bVal ? 1 : aVal > bVal ? -1 : 0;
}
});
},
get visibleCount() {
return this.filteredBrands.length;
},
get uniqueCountries() {
return [...new Set(this.brands.map(b => b.countryCode).filter(c => c))].sort();
},
getCountryName(code) {
const countryNames = {
'ru': 'Россия',
'cn': 'Китай',
'mn': 'Монголия',
'et': 'Эфиопия',
'in': 'Индия'
};
return countryNames[code] || code.toUpperCase();
},
clearAllFilters() {
this.search = '';
this.country = '';
this.brandTier = '';
this.hasWebsite = false;
},
removeFilter(filterName) {
if (filterName === 'search') this.search = '';
else if (filterName === 'country') this.country = '';
else if (filterName === 'tier') this.brandTier = '';
else if (filterName === 'website') this.hasWebsite = false;
},
sortTable(column) {
if (this.sortBy === column) {
this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';
} else {
this.sortBy = column;
this.sortDirection = (column === 'founded') ? 'desc' : 'asc';
}
},
downloadCSV() {
const headers = ['Brand', 'City', 'Country', 'Founded', 'Website', 'Tier'];
let csv = headers.join(',') + '\n';
this.sortedBrands.forEach(brand => {
const rowData = [
this.escapeCSV(brand.name),
this.escapeCSV(brand.city || '—'),
this.escapeCSV(brand.country || '—'),
this.escapeCSV(brand.founded ? String(brand.founded) : '—'),
this.escapeCSV(brand.website || '—'),
this.escapeCSV(brand.tier)
];
csv += rowData.join(',') + '\n';
});
const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });
const link = document.createElement('a');
const url = URL.createObjectURL(blob);
const today = new Date().toISOString().split('T')[0];
let filename = 'dairy-directory-' + today;
if (this.activeFilterCount > 0) {
filename += '-filtered';
}
filename += '.csv';
link.setAttribute('href', url);
link.setAttribute('download', filename);
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
},
escapeCSV(str) {
if (!str) return '';
const comma = String.fromCharCode(44);
const quote = String.fromCharCode(34);
const newline = String.fromCharCode(10);
if (str.includes(comma) || str.includes(quote) || str.includes(newline)) {
return quote + str.replace(new RegExp(quote, 'g'), quote + quote) + quote;
}
return str;
}
}" class="directory-table-container">
Поиск:
Страна:
Уровень:
С веб-сайтом
Очистить все фильтры
Загрузка...
Страна
Все страны
Уровень бренда
Все бренды Устойчивые С профилем В каталоге
С веб-сайтом
Бренд
Город
Страна
Год
Сайт Уровень
Загрузка... No brands found matching your criteria. Перейти
— Устойчивые
С профилем
В каталоге
End of Directory Listing (Hub-only feature)
*/}}Связанные материалы 🇰🇬
4 июня 2026
13 мин чтения
Четыре переворота отфильтровали базарное поколение до самых стойких. Когорте 1991 года сегодня 55–70 лет. Ни один инвестор их не нашёл.
🇮🇳
26 марта 2026
10 мин чтения
Поколение основателей создало потребительский бренд-экосистему Индии из обломков системы лицензий. Они уходят одновременно — и никто не систематизировал то, что они построили.
🇰🇿
26 марта 2026
12 мин чтения
Основатели советских заводов 50–72 лет, закалённые четырьмя национальными кризисами, входят в окно преемственности — без планов и без покупателей.
🇵🇸
26 марта 2026
10 мин чтения
Самое закалённое кризисами поколение основателей — через оккупацию и блокаду — входит в окно преемственности без планов и без партнёров.
25 марта 2026
11 мин чтения
За спиной олигархов поколение аграрных основателей строило подлинные бренды в секторах, слишком мелких для захвата. Они уходят без планов преемственности.
25 марта 2026
11 мин чтения
Поколение основателей-политиков, строивших империи на покровительстве, утратило защиту в 2018 году. За всю историю страны — одна сделка PE.
Скоро
Премиум функция: Экспорт CSV Экспорт CSV доступен для наших премиум-членов! Эта функция позволяет экспортировать отфильтрованные результаты поиска для офлайн-анализа, презентаций или интеграции с вашими инструментами. Премиум-членство включает неограниченный экспорт CSV во всех каталогах.
Закрыть