Що таке аналіз кошика покупок?

Маркет-баcкет аналіз у Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Вибір плану книгарні

 

На зображенні план книгарні: розділи художньої літератури й біографій згруповані, а поезії та історії — разом.

 

На зображенні план книгарні: розділи художньої літератури й поезії згруповані, а біографій та історії — разом.

Маркет-баcкет аналіз у Python

Огляд даних транзакцій

TID Транзакція
1 biography, history
2 fiction
3 biography, poetry
4 fiction, history
5 biography
... ...
75000 fiction, poetry

 

  • TID = унікальний ідентифікатор кожної транзакції.

 

  • Транзакція = набір унікальних товарів, куплених разом.
Маркет-баcкет аналіз у Python

Що таке аналіз кошика покупок?

  1. Визначити товари, які часто купують разом.

    • Біографії та історія
    • Художня література та поезія
  2. Побудувати рекомендації на основі цих висновків.

    • Розмістіть біографії та історію поруч.
    • Тримайте художню літературу та історію окремо.
Маркет-баcкет аналіз у Python

Застосування аналізу кошика покупок

  1. Створити рекомендаційний рушій на кшталт Netflix.
  2. Поліпшити рекомендації товарів в інтернет-магазині.
  3. Підвищити перехресні продажі в роздрібній торгівлі.
  4. Оптимізувати управління запасами.
  5. Збільшити додаткові продажі (upsell).
Маркет-баcкет аналіз у Python

Використання аналізу кошика покупок

TID Транзакція
11 fiction, biography
12 fiction, biography
13 history, biography
... ...
19 fiction, biography
20 fiction, biography
... ...
  • Аналіз кошика покупок
    • Побудова правил асоціацій
    • Виявлення товарів, які часто купують разом
  • Правила асоціацій
    • {antecedent} $\rightarrow$ {consequent}
      • {fiction} $\rightarrow$ {biography}
Маркет-баcкет аналіз у Python

Завантаження даних

import pandas as pd

# Load transactions from pandas.
books = pd.read_csv("datasets/bookstore.csv")

# Print the header
print(books.head(2))
TID         Transaction                 
0    biography, history
1               fiction

Для повторення перегляньте Pandas Cheat Sheet.

Маркет-баcкет аналіз у Python

Формування транзакцій

 

# Split transaction strings into lists.
transactions = books['Transaction'].apply(lambda t: t.split(','))

# Convert DataFrame into list of strings.
transactions = list(transactions)
Маркет-баcкет аналіз у Python

Підрахунок наборів товарів

# Print the first transaction.
print(transactions[0])
['biography', 'history']
# Count the number of transactions that contain biography and fiction.
transactions.count(['biography', 'fiction'])
218
Маркет-баcкет аналіз у Python

Створення рекомендації

# Count the number of transactions that contain fiction and poetry.
transactions.count(['fiction', 'poetry'])
5357

На зображенні план книгарні: розділи художньої літератури й поезії згруповані, а біографій та історії — разом.

Маркет-баcкет аналіз у Python

Давайте потренуємось!

Маркет-баcкет аналіз у Python

Preparing Video For Download...