Chanel — символ вечной элегантности, чья история насчитывает более века. Данный проект анализирует этот феномен не только как культурную икону, но и как бизнес-структуру, используя количественные данные — от характеристик ароматов до финансовых показателей, чтобы выявить закономерности.
Между легендарным флаконом №5 и сухими цифрами финансовых отчетов существует прямая связь. Этот проект исследует феномен Chanel, переводя язык его культовых ароматов, черно-белой эстетики и стратегии ценообразования на язык Python, графиков и метрик, чтобы понять, как империя роскоши сталкивается с вызовами современного рынка и меняющимися предпочтениями потребителей.
Импорт библиотек
Импортируем библиотеки
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns
Стиль в духе Chanel
plt.style.use('seaborn-v0_8-whitegrid') plt.rcParams['figure.figsize'] = (12, 6) CHANEL_BLACK = '#000000' CHANEL_GOLD = '#C5A028'
Создание Датасет
Ароматы Chanel perfume_data = { 'Name': ['Chanel №5', 'Coco Mademoiselle', 'Chanel Chance', 'Gabrielle', 'Allure'], 'Year': [1921, 2001, 2003, 2017, 1999], 'Rating': [4.2, 4.5, 4.3, 4.4, 4.1], 'Votes': [18500, 24200, 12800, 8900, 6700], 'Price_USD': [180, 150, 120, 165, 140] } df_perfumes = pd.DataFrame(perfume_data)
Финансы Chanel (2019-2024) financial_data = { 'Year': [2019, 2020, 2021, 2022, 2023, 2024], 'Revenue_Billion_USD': [12.3, 10.1, 15.6, 17.2, 19.7, 18.7], 'YoY_Growth': [8.5, -17.9, 54.5, 10.3, 14.5, -5.3] } df_finance = pd.DataFrame(financial_data)
Конкуренты 2024 competitor_data = { 'Brand': ['Chanel', 'LVMH', 'Hermès'], 'YoY_Growth': [-5.3, 1.0, 14.7] } df_competitors = pd.DataFrame(competitor_data)
print("Датасеты готовы:") print(f"Ароматы: {len(df_perfumes)} записей") print(f"Финансы: {len(df_finance)} записей") print(f"Конкуренты: {len(df_competitors)} записей")
Общие данные в таблице pandas
df_perfumes = pd.DataFrame(perfume_data) df_finance = pd.DataFrame(financial_data) df_competitors = pd.DataFrame(competitor_data) df_regions = pd.DataFrame(regional_data)
print(df_perfumes) print(df_finance) print(df_competitors) print(df_regions)
ГРАФИК № 1 Динамика выручки Chanel
График демонстрирует V-образное восстановление после падения 2020 года (ковидный спад) и последующий устойчивый рост до 2023 года. Однако в 2024 году выручка снизилась на 5.3% — это первое падение за четыре года, что указывает на исчерпание эффекта от агрессивной ценовой политики и охлаждение спроса, особенно в Азиатско-Тихоокеанском регионе.
ГРАФИК № 2 Сравнение темпов роста Chanel с конкурентами
competitor_data = { 'Brand': ['Chanel', 'LVMH', 'Hermès'], 'YoY_Growth': [-5.3, 1.0, 14.7] } df_competitors = pd.DataFrame(competitor_data)
CHANEL_BLACK = '#000000' CHANEL_GREY = '#4A4A4A'
plt.figure(figsize=(10, 6)) colors = [CHANEL_BLACK if b == 'Chanel' else CHANEL_GREY for b in df_competitors['Brand']] bars = plt.bar(df_competitors['Brand'], df_competitors['YoY_Growth'], color=colors)
plt.axhline(y=0, color='black', linestyle='-', linewidth=1)
plt.title('Темпы роста выручки люксовых брендов в 2024 году, %', fontweight='bold') plt.ylabel('Годовой прирост, %')
for bar in bars: height = bar.get_height() plt.text(bar.get_x() + bar.get_width()/2., height + 0.5, f'{height}%', ha='center')
plt.show()
На фоне роста Hermès (+14.7%) и стагнации LVMH (+1%), Chanel показывает отрицательную динамику (-5.3%). Это подтверждает, что бренд теряет рыночную долю, уступая конкурентам, которые успешнее адаптировались к изменению потребительских предпочтений и экономической ситуации.
ГРАФИК № 3 Региональная структура продаж Chanel:
regional_data = { 'Region': ['Азия', 'Европа', 'Америка'], 'Share_Percent': [52, 28, 20] } df_regions = pd.DataFrame(regional_data)
plt.figure(figsize=(8, 8)) plt.pie(df_regions['Share_Percent'], labels=df_regions['Region'], autopct='%1.0f%%', colors=['black', '
4A4A4A', '
C5A028'], startangle=90, wedgeprops={'edgecolor': 'white', 'linewidth': 2}) plt.title('Региональная структура продаж Chanel, 2024 г.', fontweight='bold') plt.show()52% выручки — Азия. Высокая зависимость от одного региона. Охлаждение рынка Китая → главная причина падения продаж.
ГРАФИК № 4 Топ-5 самых популярных ароматов Chanel
perfume_data = { 'Name': ['Chanel №5', 'Coco Mademoiselle', 'Chanel Chance', 'Gabrielle', 'Allure'], 'Year': [1921, 2001, 2003, 2017, 1999], 'Rating': [4.2, 4.5, 4.3, 4.4, 4.1], 'Votes': [18500, 24200, 12800, 8900, 6700], 'Price_USD': [180, 150, 120, 165, 140] } df_perfumes = pd.DataFrame(perfume_data)
df_sorted = df_perfumes.sort_values('Votes', ascending=True)
CHANEL_BLACK = '#000000' CHANEL_GOLD = '#C5A028'
plt.figure(figsize=(10, 6)) bars = plt.barh(df_sorted['Name'], df_sorted['Votes'], color=CHANEL_GOLD, edgecolor=CHANEL_BLACK, linewidth=1)
plt.title('Топ-5 самых популярных ароматов Chanel\n(по количеству голосов на Fragrantica)', fontweight='bold', fontsize=14) plt.xlabel('Количество голосов', fontsize=12) plt.ylabel('Аромат', fontsize=12)
for bar in bars: width = bar.get_width() plt.text(width + 200, bar.get_y() + bar.get_height()/2, f'{int(width):,}', ha='left', va='center', fontsize=10, fontweight='bold')
for i, (idx, row) in enumerate(df_sorted.iterrows()): plt.text(500, i, f'⭐ {row["Rating"]}', va='center', fontsize=10, color=CHANEL_BLACK)
plt.tight_layout() plt.show()
Coco Mademoiselle — абсолютный лидер по популярности (24 200 голосов) с самым высоким рейтингом 4.5. Chanel №5, несмотря на культовый статус, уступает по голосам и рейтингу (4.2). Gabrielle (2017) — самый молодой аромат в топе, показывает высокий рейтинг 4.4, что говорит об успешном попадании в современные вкусы.
ИТОГИ ПРОЕКТА
Данные:
Ароматы Chanel (название, год, рейтинг, голоса, цена) — из Fragrantica
Финансы Chanel 2019-2024 — из отчетов и новостей
Конкуренты (LVMH, Hermès) — из отраслевых обзоров
Ценность: Chanel — культовый бренд, впервые за 4 года показавший падение продаж (-5,3%) на фоне роста конкурентов.
Графики:
Линейный — динамика выручки
Столбчатый — сравнение с конкурентами
Круговой — региональная структура
Горизонтальный бар-чарт — топ ароматов
Этапы работы
Обработка:
python import pandas as pd import matplotlib.pyplot as plt
financial_data = {'Year': [2019,2020,2021,2022,2023,2024], 'Revenue_Billion_USD': [12.3,10.1,15.6,17.2,19.7,18.7]} df = pd.DataFrame(financial_data) plt.plot(df['Year'], df['Revenue_Billion_USD'])
Нейросети: ChatGPT/DeepSeek — для структуры кода и выводов.
Стиль: Chanel aesthetic — черный (
000000), золотой (
C5A028), серый (#4A4A4A), строгие линии.Статистика: описательная статистика, сравнительный анализ, агрегация данных.
Общее заключение




