Секторы

Декоративная Косметика

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

4 Бренды
Декоративная Косметика

Культурный Цветовой Авторитет

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

Поиск брендов по местоположению

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

Use arrow keys to pan, plus and minus to zoom. Click markers to view brand details.

© OpenStreetMap contributors · © CARTO

website: feature.properties.website || '', tier: feature.properties.arcStatus || '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 = 'color-cosmetics-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">
Бренд Город Страна Год СайтУровень
End of Directory Listing (Hub-only feature) */}}

Связанные материалы

Тайская красота: поколение кризиса
Отраслевой прожектор
🇹🇭 15 мин чтения

Тайская красота: поколение кризиса

Rohto проверил 500+ компаний в поисках одной. Находка: целое поколение кризисных брендов достигло институциональной зрелости одновременно.

Провалившийся бизнес, ставший инженерным центром SUGAR
Ландшафт
🇮🇳 13 мин чтения

Провалившийся бизнес, ставший инженерным центром SUGAR

Подписной бьюти-бокс провалился. 200 000 клиентских профилей — нет. R&D-преимущество SUGAR Cosmetics выросло на руинах предшественника.

Perfect Diary: 20% рынка красоты Китая
Ландшафт
🇨🇳 8 min

Perfect Diary: 20% рынка красоты Китая

$16 млрд на пике → обвал 98% → стратегический урок. Трафиковый арбитраж строит охват, но не лояльность. Маржу защищает только бренд.