본문 바로가기
Python

[파이썬] 네이버 애널리틱스 키워드별 유입 엑셀 파일 가공 그래프 시각화

by 퍼포먼스마케팅코더 2022. 8. 8.
반응형

이번 거는 네이버 애널리틱스 많이 사용하시죠? 네이버 애널리틱스를 보시면 스마트 스토어 이용 많이 하시지 않습니까? 네이버 애널리틱스 안에서 키워드별로 스마트 스토어에 어느 정도 유입하느냐 이런 걸 볼 수가 있어요. 

파이썬 네이버 애널리틱스 키워드별 유입 엑셀 파일 가공 그래프 시각화

이번 거는 밑에 파이선 코딩으로 만들어 놓은 게 있긴 한데 뭐냐 날에 유입 기준으로 상위 10개 키워드를 가져옵니다. 어제 날짜 기준으로 해서 가지고 와요 그게 가지고 오는데 추위가 궁금하지 않습니까? 그래서 그거를 한 최근 6개월 기준으로 해서 그래프적으로 유입이 어느 정도 키워드가 유입이 어느 정도 되는가를 일자별로 그래프로 이렇게 시각화를 보여주는 거예요. 엄청 단순한 내용입니다. 네이버 애널리틱스로 근데 안 좋은 점이 네이버 애널리틱스 같은 경우에는 해보셔서 아시겠지만 이걸 수동으로 raw데이터를 다 입력을 해놔야 돼요. 

파이썬 네이버 애널리틱스 키워드별 유입 엑셀 파일 가공 그래프 시각화

이것도 안타깝게도 네이버가 이거 api를 제공을 해주면 좋겠는데 제공 안 해줘서 데이터는 어쩔 수 없이 이걸 수동으로 집어넣긴 해야 됩니다. 부분은 감안을 해야겠지만 수동으로 아무리 집어넣는다 하더라도 부분만 집어넣고 로데이터가 쌓이잖아요. 계속 쌓이면은 그때서부터는 제가 실시간으로 그거를 계속 봐서 어느 정도인지 그거를 파악을 할 수 있기 때문에 이런 거는 중요하다고 생각을 하고 있습니다. 예를 들자면 저희가 신규 상품을 내놨어요. 신규 상품을 내놨었는데 어느 한 순간에 키워드가 갑자기 뜨는 그런 키워드가 나오지 않습니까 키워드가 줄어들고 있는 유입이 어떠한 상품 상세 페이지 안으로 키워드 검색을 쳐서 유입이 늘어나고 있느냐 줄어들고 있느냐 이거를 빨리빨리 판단을 해야 되는 게 중요해요. 

파이썬 네이버 애널리틱스 키워드별 유입 엑셀 파일 가공 그래프 시각화

만약에 어떤 키워드에 따라서 들어오는 유입이 커지고 있다. 그게 있다면 그에 따른 마케팅 전략을 바로 세울 수가 있거든요. 그렇게 돼서 유입을 더 늘려서 광고를 해야 되는지 아니면 협찬 이런 것도 할 수 있는 거고요 어 이거는 스마트 스토어 내부적으로 seo적인 최적화 검색 엔진 최적화죠. 이런 것들도 쓰이는 방법이 많기 때문에 유용한 코딩이라고 할 수 있습니다. 제가 만들어 놓은 거는 이게 아까 말씀드린 게 그게 전부 다예요. 코딩을 복잡하게 짜놓긴 했는데 파이썬 코딩이 복잡하게 돼 있을 거예요. 이거에 대한 원본 로데이터는 제가 나중에 추가적으로 이거 업로드를 해놓겠습니다. 이 코딩을 돌리면 저 같이 이렇게 해서 나오긴 하는데 밑에 코딩을 참고만 해주시고 그 맞춤 형식으로 여러분 입맛에 맞게끔 따로 코딩을 만들어놔서 하셔도 무관합니다. 그것만 이해하시고 사용하시면 될 것 같아요.

import os
import sys
import urllib.request
import json
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from datetime import datetime, timedelta
import warnings

dt_datetime = datetime.now()
format = '%Y-%m-%d'
today_date = datetime.strftime(dt_datetime,format) #오늘날짜
yesterday = dt_datetime - timedelta(days=1)
yesterday_date = datetime.strftime(yesterday,format) #90일전 날짜
#yesterday_date

warnings.filterwarnings('ignore')
naver_analytics_keyword = pd.read_excel('C:/Users/tera/Desktop/업무/naver_analytics_keyword.xlsx', engine='openpyxl')

# 필터링 

naver_analytics_keyword = naver_analytics_keyword.replace('유입수유입수유입수유입수유입수', 0)  #필터링
naver_analytics_keyword = naver_analytics_keyword.replace('유입수', 0)  #필터링

naver_analytics_keyword['유입수'] = naver_analytics_keyword['유입수'].astype('int') 
naver_analytics_keyword.dtypes

naver_analytics_keyword_today = naver_analytics_keyword.loc[naver_analytics_keyword['날짜']== yesterday_date]  #어제
naver_analytics_keyword_total = pd.pivot_table(naver_analytics_keyword, index='검색어', values='유입수', aggfunc='sum') #전체

naver_analytics_keyword_today.sort_values(by='유입수', ascending=False).head(10) #상위 10개 유입수 기준


naver_analytics_keyword_today_rank1 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==1][['검색어']].max()  #맥스로 해줘야됨
keyword_rank1 = naver_analytics_keyword_today_rank1['검색어']

naver_analytics_keyword_today_rank2 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==2][['검색어']].max()  #맥스로 해줘야됨
keyword_rank2 = naver_analytics_keyword_today_rank2['검색어']

naver_analytics_keyword_today_rank3 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==3][['검색어']].max()  #맥스로 해줘야됨
keyword_rank3 = naver_analytics_keyword_today_rank3['검색어']

naver_analytics_keyword_today_rank4 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==4][['검색어']].max()  #맥스로 해줘야됨
keyword_rank4 = naver_analytics_keyword_today_rank4['검색어']

naver_analytics_keyword_today_rank5 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==5][['검색어']].max()  #맥스로 해줘야됨
keyword_rank5 = naver_analytics_keyword_today_rank5['검색어']

naver_analytics_keyword_today_rank6 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==6][['검색어']].max()  #맥스로 해줘야됨
keyword_rank6 = naver_analytics_keyword_today_rank6['검색어']

naver_analytics_keyword_today_rank7 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==7][['검색어']].max()  #맥스로 해줘야됨
keyword_rank7 = naver_analytics_keyword_today_rank7['검색어']

naver_analytics_keyword_today_rank8 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==8][['검색어']].max()  #맥스로 해줘야됨
keyword_rank8 = naver_analytics_keyword_today_rank8['검색어']

naver_analytics_keyword_today_rank9 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==9][['검색어']].max()  #맥스로 해줘야됨
keyword_rank9 = naver_analytics_keyword_today_rank9['검색어']

naver_analytics_keyword_today_rank10 =  naver_analytics_keyword_today.loc[naver_analytics_keyword_today['순위']==10][['검색어']].max()  #맥스로 해줘야됨
keyword_rank10 = naver_analytics_keyword_today_rank10['검색어']

keyword_1 = keyword_rank1
keyword_2 = keyword_rank2
keyword_3 = keyword_rank3
keyword_4 = keyword_rank4
keyword_5 = keyword_rank5
keyword_6 = keyword_rank6
keyword_7 = keyword_rank7
keyword_8 = keyword_rank8
keyword_9 = keyword_rank9
keyword_10 = keyword_rank10

keyword_summary_1 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_1]
keyword_summary_2 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_2]
keyword_summary_3 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_3]
keyword_summary_4 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_4]
keyword_summary_5 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_5]
keyword_summary_6 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_6]
keyword_summary_7 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_7]
keyword_summary_8 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_8]
keyword_summary_9 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_9]
keyword_summary_10 = naver_analytics_keyword.loc[naver_analytics_keyword['검색어']==keyword_10]

import matplotlib.pyplot as plt
%matplotlib inline
plt.plot(list(keyword_summary_1.날짜), keyword_summary_1["유입수"], label='rank1')  #랭킹1
plt.plot(list(keyword_summary_2.날짜), keyword_summary_2["유입수"], label='rank2')  #랭킹2
plt.plot(list(keyword_summary_3.날짜), keyword_summary_3["유입수"], label='rank3')  #랭킹3
plt.plot(list(keyword_summary_4.날짜), keyword_summary_4["유입수"], label='rank4')  #랭킹4
plt.plot(list(keyword_summary_5.날짜), keyword_summary_5["유입수"], label='rank5')  #랭킹5

plt.legend()

print("1위 :" + str(keyword_1) )
print("2위 :" + str(keyword_2) )
print("3위 :" + str(keyword_3) )
print("4위 :" + str(keyword_4) )
print("5위 :" + str(keyword_5) )


import matplotlib.pyplot as plt
%matplotlib inline
plt.plot(list(keyword_summary_6.날짜), keyword_summary_6["유입수"], label='rank6')  #랭킹6
plt.plot(list(keyword_summary_7.날짜), keyword_summary_7["유입수"], label='rank7')  #랭킹7
plt.plot(list(keyword_summary_8.날짜), keyword_summary_8["유입수"], label='rank8')  #랭킹8
plt.plot(list(keyword_summary_9.날짜), keyword_summary_9["유입수"], label='rank9')  #랭킹9
plt.plot(list(keyword_summary_10.날짜), keyword_summary_10["유입수"], label='rank10')  #랭킹10

plt.legend()

print("6위 :" + str(keyword_6) )
print("7위 :" + str(keyword_7) )
print("8위 :" + str(keyword_8) )
print("9위 :" + str(keyword_9) )
print("10위 :" + str(keyword_10) )

 

반응형

댓글