ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] CMS DATA Filtering
    카테고리 없음 2020. 3. 29. 16:27

    인턴 과정에서 앱 업데이트에 대한 효과검증을 하게 되었다.

    CMS 고객 관리 데이터를 가지고 이리저리 만져볼 필요가 있어 Pandas 라이브러리를 활용하여 일을 진행했다.

    성수기에 데이터량이 폭발적으로 늘어날 것을 대비하여, 로직을 짜놓으면 대량의 데이터에 대하여 수치의 정확도나 속도에서 효과적이기 때문에 만들어보았다.

    코드는 프로그래밍 언어를 모르더라도 작성할 수 있도록, 텍스트 위주로 진행되게끔 input() 입력함수를 활용하였고 추가적으로 try-except 예외처리를 두어, 정해진 조건에서만 프로그램이 작동할 수 있도록 만들었다.

     

    해당 코드의 내용은 다음과 같다. 정리된 엑셀 시트에서 결측값을 제거하고 특정한 데이터를 라벨링하여 묶는 과정을 담고 있고 정해진 조건내에서 사용자 수를 파악하는 것이다. 고객인 모바일 웹, 앱 , PC 데스크톱을 이용하여, 어느 날짜에 주문했는지를 효과적으로 뽑아낼 수 있다. 

     

    1번에서는 총 데이터 파일에서 원하는 열만 선택해서 가져오는 과정이다.

    다음과 같이 try-except문을 사용하면, 사용자가 정확한 이름을 입력하지 못했을때, "컬럼 이름을 제대로 입력해주세요." 와 같은 오류문구를 출력하고 다음 단계로 진행되는 것을 막아 예외 상황들을 제한할 수 있다. 

     

    입금하지 않은 고객은 실 구매자가 아니기 때문에 데이터에서 제거하였다.

     

     

    실 구매 데이터를 보다보면, 이벤트의 사용이 편향되어 있는 경우가 많다. 따라서 모든 혜택에 대해서 각각 구하기 보다 비율이 낮은 혜택은 기타로 묶어 진행하여 메인과 서브 이벤트의 사용자를 구분하여 파악해보았다.

     

    다음 과정은 열의 조건에 따라 사용자 수의 합계를 세보는 것이다. 어떤 기기에서 어떤 혜택을 사용하여 구매가 이루어 졌는지 파악하기 위함이다. 효과적으로 작동하고 있는 기기를 파악하며, 쿠폰이 실구매에서 적절히 사용되었는지 파악할 수 있다. groupby 함수를 이용하면, 괄호안을 key 고유값으로 데이터를 묶어준다. 주의할게 있다면, 해당 함수는 집계함수 이기 때문에, 수치 형태의 자료가 있어야한다. 따라서, 현재 데이터는 텍스트로만 이루어져있어 '사용자 수' 라는 카운트를 임의로 생성하여 함계를 구했다.

    마지막은 다시 지금까지 만든 DATAFRAME 파일을 로컬 PC에 CSV파일 형태로 내보내는 코드이다. data_to_csv파일을 이용하면, 현재의 데이터를 CSV 파일로 뽑아볼 수 있다. 

     

    댓글

Life goes on.