<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>슈슈님의 블로그(그로스 마케팅)</title>
    <link>https://blogger49705.tistory.com/</link>
    <description>데이터로 증명하는 성장기</description>
    <language>ko</language>
    <pubDate>Tue, 23 Jun 2026 03:58:41 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>shushu26</managingEditor>
    <image>
      <title>슈슈님의 블로그(그로스 마케팅)</title>
      <url>https://tistory1.daumcdn.net/tistory/8319370/attach/18bad250be54439faad866e8b993189e</url>
      <link>https://blogger49705.tistory.com</link>
    </image>
    <item>
      <title>그로스 마케터 채용공고 100개 분석해보니, 기업은 이런 역량을 원했다?</title>
      <link>https://blogger49705.tistory.com/34</link>
      <description>&lt;!-- 원래 있던 이미지 코드 바로 앞뒤에 이것만 붙이세요 --&gt;
&lt;div style=&quot;display: none;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span class=&quot;imageblock&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VDyqA/dJMcacKmkX0/...중략...&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VDyqA/dJMcacKmkX0/...중략...&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VDyqA/dJMcacKmkX0/...중략...&quot; srcset=&quot;https://blog.kakaocdn.net/dn/VDyqA/dJMcacKmkX0/...중략...&quot;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요 카카오 자회사에서 3개월간 마케팅 인턴을 하며&lt;br /&gt;실무의 벽을 뼈저리게 느꼈던 취준생입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;인턴이 끝난 후, &lt;b&gt;그로스 마케터 취업&lt;/b&gt;&lt;span style=&quot;background-color: #fcfcfc; text-align: start;&quot;&gt;을 목표로 커리어 전환을 결심했고&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;제 머릿속엔 오직 한 가지 질문뿐이었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px; color: #000000;&quot;&gt;&quot;기업은 실제로 어떤 역량을 가진 마케터를 채용하고 있을까?&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;원티드, 사람인, 잡코리아를 켜면 SQL, GA4, 데이터 분석, 퍼포먼스 마케팅 등&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;온갖 화려한 키워드가 쏟아집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;background-color: #fcfcfc; text-align: start;&quot;&gt;하지만&amp;nbsp;&lt;/span&gt;그로스 마케터 취업을 준비하는 취준생 입장에서는&lt;span style=&quot;background-color: #fcfcfc; text-align: start;&quot;&gt;&amp;nbsp;&lt;br /&gt;무엇부터, 어디까지 공부해야 하는지 감을 잡기 어렵습니다.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 스타트업 및 IT 기업 중심의 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;43&quot; data-path-to-node=&quot;9&quot;&gt;그로스/퍼포먼스 마케터 채용공고 100개를 직접 분석해 봤습니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결론부터 말씀드리면, 제가 생각했던 것과 기업의 요구사항은 꽤 달랐습니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-path-to-node=&quot;16&quot; data-ke-size=&quot;size23&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;1. 가장 많이 등장한 키워드는 '데이터 분석'&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예상과 달리, 단순히 &quot;광고 집행비 많이 써봤다&quot;는 경험보다 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;34&quot; data-path-to-node=&quot;17&quot;&gt;데이터 분석 역량&lt;/b&gt;을 요구하는 기업이 압도적이었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;주요 업무 요구사항은 다음과 같았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;19&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터 기반의 의사결정 및 가설 검증&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;유저 이탈을 잡는 퍼널(Funnel) 분석&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;A/B 테스트 설계 및 성과 개선&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;핵심 지표(KPI) 관리&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;즉, 돈 써서 광고 돌리는 사람이 아니라,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 데이터를 통해 문제를 발견하고 서비스를 개선할 줄 아는 사람을 찾고 있었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;21&quot; data-ke-size=&quot;size23&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;2. &lt;span style=&quot;background-color: #fcfcfc; text-align: start;&quot;&gt;SQL과 GA4는 이제 우대사항이 아닌 필수 역량&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기술 스택 칸에 약속이라도 한 듯 똑같은 단어가 적혀 있었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;23&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i data-index-in-node=&quot;0&quot; data-path-to-node=&quot;23,0,0&quot;&gt;&amp;ldquo;GA4 활용 경험 및 데이터 이벤트 설계 가능자&amp;rdquo;&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;i data-index-in-node=&quot;0&quot; data-path-to-node=&quot;23,1,0&quot;&gt;&amp;ldquo;SQL 활용 가능자 및 데이터 추출 능력 보유자&amp;rdquo;&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;마케터가 대시보드가 주는 결과만 보는 게 아니라,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &quot;사용자 행동 데이터를 직접 추출하고 뜯어볼 줄 있어야 한다&quot;는 게 시장의 냉정한 기준이었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #fcfcfc; color: #000000; text-align: start;&quot;&gt; 하지만 단순히 SQL과 GA4를 배웠다는 사실보다, 이를 실제 프로젝트에서 어떻게 활용했는지가 더 중요했습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;25&quot; data-ke-size=&quot;size23&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;3. 기업은 '배운 사람'보다 '실행해본 사람'을 원한다&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;26&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;100개의 공고를 읽으며 가장 크게 깨달은 문구들이 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;26&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;27&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개인 사이드 프로젝트 운영 경험 우대&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실제 데이터 기반의 A/B 테스트 및 개선 경험 우대&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;블로그 및 자체 콘텐츠 채널 운영 및 최적화 경험&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결국 얼마나 비싼 강의를 들었는지는 중요하지 않았습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &quot;작은 거라도 네가 직접 가설 세우고 데이터 보면서 실험해 봤어?&quot;를 묻고 있었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;text-align: center;&quot;&gt;저 역시 이 공고들을 보고 충격을 받아서, 단순히 수업만 듣는 걸 멈췄습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt; &lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;지금 보고 계신 제 블로그에 직접 GA4와 GTM을 심고,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; CTA(클릭 유도) 카피를 바꿔가며 A/B 테스트를 진행&lt;/span&gt;하고 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;비록 트래픽은 작지만, 진짜 데이터를 뜯어보며 '실행'하는 마케터가 되기 위해서요.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;34&quot; data-ke-size=&quot;size23&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;4. 그래서, 우리 같은 취준생은 이제 뭘 해야 할까?&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;7&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기업은 '공부만 한 모범생'이 아니라 '직접 일해본 실무자'를 원합니다. &lt;br /&gt;우리가 해야 할 건 딱 4가지입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;7&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;SQL 기초 (데이터 직접 뽑기)&lt;br /&gt;&lt;br /&gt;GA4 실무(유저 행동 추적)&lt;br /&gt;&lt;br /&gt;실제 프로젝트&amp;nbsp;(나만의 데이터 쌓기)&lt;br /&gt;&lt;br /&gt;문제 해결 중심의 포트폴리오&lt;/blockquote&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제는 &lt;b data-index-in-node=&quot;18&quot; data-path-to-node=&quot;9&quot;&gt;진짜 내 프로젝트의 데이터를 만지고 실험할 수 있는 환경&lt;/b&gt;에 &lt;br /&gt;나를 던져야 할 때입니다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실무 데이터 분석부터 포트폴리오 완성까지, &lt;br /&gt;마케터 취준의 시행착오를 절반으로 줄이고 싶다면&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;제가 본문에 녹여낸 커리큘럼을 다시 한번 참고해 보세요!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #e1e1e1; border-radius: 12px; padding: 30px; text-align: center; background-color: #f9f9f9; margin: 20px 0; font-family: 'Pretendard', sans-serif;&quot;&gt;
&lt;h3 style=&quot;margin-top: 0; color: #333; font-size: 1.4em;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;  그로스 마케터가 되기&lt;/span&gt; 위해 필요한 역량은?&lt;/h3&gt;
&lt;p style=&quot;color: #666; font-size: 1em; margin-bottom: 25px;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석부터 마케팅 자동화까지, 현업 중심 실무 역량 강화&lt;/p&gt;
&lt;a style=&quot;background-color: #ff8e00; color: #000000; padding: 12px 30px; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 1.1em; transition: 0.3s; display: inline-block;&quot; href=&quot;https://bootcamp.likelion.net/school/kdt-growth-6th&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; 나에게 맞는 실무 커리큘럼 확인하기 &amp;rarr; &lt;/a&gt;&lt;/div&gt;</description>
      <category>그로스 마케팅/실무 인사이트</category>
      <category>그로스 마케터 취업</category>
      <category>그로스 마케팅 부트캠프</category>
      <category>멋사 그로스 마케팅</category>
      <category>멋쟁이 사자처럼 그로스 마케팅 6기</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/34</guid>
      <comments>https://blogger49705.tistory.com/34#entry34comment</comments>
      <pubDate>Mon, 22 Jun 2026 22:25:52 +0900</pubDate>
    </item>
    <item>
      <title>머신러닝 기초 |  결정트리 모델 생성과 시각화 [멋쟁이사자처럼 부트캠프 그로스마케팅 5기 day 24]</title>
      <link>https://blogger49705.tistory.com/33</link>
      <description>&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;안녕하세요! &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;오늘은 머신러닝 분류(Classification) 알고리즘의 기초이자 강력한 모델인 결정트리(Decision Tree)를 활용해 &lt;br /&gt;독버섯과 식용버섯을 분류하는 프로젝트를 진행해 보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특히 머신러닝 입문자들이 가장 많이 헤매는 '문자형(Categorical) 데이터를 &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어떻게 모델이 이해할 수 있는 숫자형으로 바꾸는가(원-핫 인코딩)'에 초점을 맞추어 &lt;br /&gt;한 줄 한 줄 쉽게 풀어보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;6&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그 전에 &lt;/span&gt;다른 실무 인사이트가 궁금하다면?&lt;/b&gt;&lt;/h3&gt;
&lt;div style=&quot;margin: 20px 0; padding: 0;&quot;&gt;&lt;a style=&quot;display: flex; align-items: center; border: 1px solid #e1e4e6; border-radius: 8px; padding: 15px; text-decoration: none; color: #333; box-shadow: 0 2px 4px rgba(0,0,0,0.05); transition: transform 0.2s, box-shadow 0.2s;&quot; href=&quot;https://blogger49705.tistory.com/32&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
&lt;div style=&quot;width: 80px; height: 80px; background-color: #fdf2e9; border-radius: 6px; flex-shrink: 0; margin-right: 15px; display: flex; align-items: center; justify-content: center;&quot;&gt;&lt;span style=&quot;font-size: 40px; line-height: 1;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;flex-grow: 1; min-width: 0;&quot;&gt;
&lt;div style=&quot;font-size: 13px; color: #ee6123; font-weight: bold; margin-bottom: 4px;&quot;&gt;함께 보면 좋은 글&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; font-weight: 600; line-height: 1.4; margin-bottom: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;&quot;&gt;추천 블로그 글 보러가기&lt;/div&gt;
&lt;div style=&quot;font-size: 12px; color: #868e96; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;&quot;&gt;https://blogger49705.tistory.com/32&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 20px 0; padding: 0;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-path-to-node=&quot;8&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 프로젝트 목표 및 라이브러리 로드&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 프로젝트의 목표는 버섯의 갓 모양, 냄새, 색상 등 다양한 외형적 특성 데이터를 활용해&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 이 버섯이 독버섯(p)인지 식용버섯(e)인지 분류하는 모델을 만드는 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저 분석에 필요한 핵심 라이브러리들을 불러옵니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjR-7eK_ZeVAxUAAAAAHQAAAAAQrg0&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;haskell&quot;&gt;&lt;code&gt;import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 데이터 분리 및 모델링을 위한 사이킷런 패키지
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-path-to-node=&quot;13&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 데이터 수집 및 탐색 (EDA)&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;14&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;준비된 mushroom.csv 데이터를 판다스로 읽어와 데이터의 형태와 기술통계량을 확인해 봅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;14&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjR-7eK_ZeVAxUAAAAAHQAAAAAQrw0&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;data = pd.read_csv(&quot;data/mushroom.csv&quot;)
data.info()
data.describe()
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;data.info()와 data.describe()를 확인해 보면, 이 데이터셋의 모든 컬럼이 숫자가 아닌&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;b data-index-in-node=&quot;60&quot; data-path-to-node=&quot;16&quot;&gt;문자형(Object)&lt;/b&gt; 데이터로 이루어져 있음을 알 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 이것이 바로 이번 포스팅의 핵심 전처리 포인트입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;또한 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Seaborn의 countplot과 hue 옵션을 사용하면 &lt;br /&gt;특정 특성에 따라 독버섯과 식용버섯이 어떻게 분포하는지 한눈에 볼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjR-7eK_ZeVAxUAAAAAHQAAAAAQsA0&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;# 독성 여부(poisonous)의 전체 비율 확인
sns.countplot(data=data, x=&quot;poisonous&quot;);

# 갓 모양(cap-shape)에 따른 독성 여부 비교
sns.countplot(data=data, x=&quot;cap-shape&quot;, hue=&quot;poisonous&quot;);
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;hue=&quot;poisonous&quot;를 지정해 주면 갓 모양별 막대그래프 안에서 식용과 독버섯이 색상별로 분리되어 표현됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;22&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 머신러닝의 핵심: 문제집(X)과 정답지(y) 분리&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;인공지능을 학습시키기 위해 규칙을 찾을 재료인 문제집(X)과 맞춰야 할 정답지(y)로 데이터를 쪼갭니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjR-7eK_ZeVAxUAAAAAHQAAAAAQsQ0&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;livescript&quot;&gt;&lt;code&gt;# cap-shape 컬럼부터 끝까지 모든 특성을 문제집 X로 설정
X = data.loc[:, &quot;cap-shape&quot;:]
# 독성 여부 컬럼만 정답지 y로 설정
y = data[&quot;poisonous&quot;]

print(X.shape) # (8124, 22) -&amp;gt; 8124개의 데이터와 22개의 특징
print(y.shape) # (8124,) -&amp;gt; 8124개의 정답 리스트
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;26&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;26&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. 문자형 데이터 전처리: 원-핫 인코딩(One-Hot Encoding)&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;27&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;컴퓨터는 '글자'를 계산할 수 없습니다. 오직 '숫자'만 이해하죠.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;27&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 따라서 문자형 특성들을 숫자로 변환해야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;27&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;왜 레이블 인코딩 대신 원-핫 인코딩인가?&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;LabelEncoder()를 쓰면 글자마다 0, 1, 2... 같은 숫자가 부여됩니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;하지만 버섯의 갓 모양에는 우열이 없습니다.&lt;br /&gt;컴퓨터가 2가 0보다 크다고 착각하여 모델이 왜곡될 수 있죠.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;30&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 우리는 데이터 종류만큼 새로운 열을 만들고 해당하는 곳에만 1, 나머지는 0을 채우는&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;30&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 원-핫 인코딩(One-Hot Encoding)을 적용합니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjR-7eK_ZeVAxUAAAAAHQAAAAAQsg0&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;# 판다스의 get_dummies를 활용해 한 번에 원-핫 인코딩 적용
X_one_hot = pd.get_dummies(X, dtype=int)
X_one_hot.head()
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;32&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;32&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;32&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 작업을 거치면 기존에 &lt;b data-index-in-node=&quot;14&quot; data-path-to-node=&quot;32&quot;&gt;22개&lt;/b&gt;였던 X의 컬럼이 컴퓨터가 완벽히 이해할 수 있는 &lt;br /&gt;&lt;b data-index-in-node=&quot;45&quot; data-path-to-node=&quot;32&quot;&gt;117개&lt;/b&gt;의 숫자 컬럼으로 안전하게 확장됩니다. &lt;br /&gt;&lt;i data-index-in-node=&quot;71&quot; data-path-to-node=&quot;32&quot;&gt;(참고: 정답지 y는 모델이 내부적으로 알아서 처리하므로 그대로 두어도 괜찮습니다).&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;32&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;34&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5. 학습용(Train) vs 평가용(Test) 데이터 분리&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;35&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;모델의 정확한 성능 평가를 위해 데이터를 7:3 비율로 분리합니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjR-7eK_ZeVAxUAAAAAHQAAAAAQsw0&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;livescript&quot;&gt;&lt;code&gt;X_train, X_test, y_train, y_test = train_test_split(
    X_one_hot, y,  
    test_size=0.3,       # 30%를 평가용으로 분리
    random_state=99,     # 난수 고정
    stratify=y           # 원본 데이터의 정답 비율을 유지하며 분리
)

print(X_train.shape) # (5686, 117) -&amp;gt; 학습용 문제집
print(X_test.shape)  # (2438, 117) -&amp;gt; 시험용 문제집
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h3 data-path-to-node=&quot;38&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-path-to-node=&quot;38&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;6. 결정트리 모델 생성, 학습 및 평가&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;39&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이제 모델을 생성하고 학습을 진행합니다. 이때 너무 깊게 나무가 자라나면 학습 데이터에만 과대적합(Overfitting)될 수 있으므로 하이퍼파라미터로 제동을 걸어줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjR-7eK_ZeVAxUAAAAAHQAAAAAQtA0&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;# 과대적합 제어를 위한 하이퍼파라미터 설정
tree_model = DecisionTreeClassifier(
    max_depth=3,            # 나무의 최대 깊이를 3단계로 제한
    max_leaf_nodes=5,       # 최종 정답 방의 개수를 최대 5개로 제한
    min_samples_leaf=50     # 하나의 방에 최소 50개 이상의 데이터가 있어야 인정
)

# 모델 학습
tree_model.fit(X_train, y_train)

# 정확도(Accuracy) 결과 확인
print(&quot;학습 데이터 정확도:&quot;, tree_model.score(X_train, y_train)) # 약 96.9%
print(&quot;평가 데이터 정확도:&quot;, tree_model.score(X_test, y_test))   # 약 96.8%
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;41&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;41&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;학습 데이터와 평가 데이터의 점수가 둘 다 96% 대를 기록하며, &lt;br /&gt;과대적합 없이 안정적으로 새로운 버섯 데이터도 분류할 수 있는 훌륭한 &lt;b data-index-in-node=&quot;76&quot; data-path-to-node=&quot;41&quot;&gt;일반화 모델&lt;/b&gt;이 완성되었습니다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;41&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;43&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;7. 하이라이트: 결정트리 시각화 파일 추출 (Graphviz)&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;44&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결정트리 모델의 가장 큰 장점은 &quot;인공지능이 왜 이런 판단을 내렸는지 눈으로 직접 화이트박스 모델을 볼 수 있다&quot;는 점입니다. 내부 로직을 시각화하기 위해 tree.dot 파일을 생성해 보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjR-7eK_ZeVAxUAAAAAHQAAAAAQtQ0&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;import graphviz
from sklearn.tree import export_graphviz

export_graphviz(
    tree_model,
    out_file=&quot;data/tree.dot&quot;,
    class_names=[&quot;식용&quot;, &quot;독&quot;],
    feature_names=X_one_hot.columns, # 숫자 대신 실제 컬럼명 표기
    impurity=True,                  # 지니 불순도 출력
    filled=True                     # 클래스 비율에 따라 색상 채우기
)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;46&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;46&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;46&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이렇게 생성된 .dot 파일을 Graphviz 뷰어나 주피터 내에서 시각화하면, &lt;br /&gt;모델이 가장 먼저 어떤 특성(예: 특정 냄새나 서식지 등)을 기준으로 독버섯을 쪼개 나갔는지 그 알고리즘의 지도를 직관적으로 확인할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;46&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-path-to-node=&quot;46&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;</description>
      <category>그로스 마케팅/학습 기록</category>
      <category>그로스 마케터</category>
      <category>그로스 마케팅 부트캠프</category>
      <category>그로스 케팅</category>
      <category>멋쟁이 사자처럼 후기</category>
      <category>부트캠</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/33</guid>
      <comments>https://blogger49705.tistory.com/33#entry33comment</comments>
      <pubDate>Sun, 21 Jun 2026 23:17:45 +0900</pubDate>
    </item>
    <item>
      <title>GA4, SQLD 독학하다가 멘붕 온 그로스 마케터 취준생이 하는 착각 3가지</title>
      <link>https://blogger49705.tistory.com/32</link>
      <description>&lt;!-- 원래 있던 이미지 코드 바로 앞뒤에 이것만 붙이세요 --&gt;
&lt;div style=&quot;display: none;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span class=&quot;imageblock&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VDyqA/dJMcacKmkX0/...중략...&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VDyqA/dJMcacKmkX0/...중략...&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VDyqA/dJMcacKmkX0/...중략...&quot; srcset=&quot;https://blog.kakaocdn.net/dn/VDyqA/dJMcacKmkX0/...중략...&quot;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그로스 마케터 취업을 준비하면서 이런 고민을 해본 적 있나요?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그로스 마케터가 되려면 SQL은 어느 정도까지 공부해야 할까?&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GA4는 필수일까?&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;마케팅 포트폴리오는 어떻게 만들어야 할까?&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실무 경험이 없는데 취업이 가능할까?&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실제로 많은 그로스 마케팅 취업 준비생들이 비슷한 고민을 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;저 역시 여러 그로스 마케터 채용공고를 분석하고&lt;br /&gt;현업 사례를 찾아보면서 준비하는 과정에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;많은 사람들이&lt;br /&gt;같은 지점에서 막히고 있다는 것을 발견했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;오늘은 그로스 마케터 취업 준비생들이 가장 많이 하는 착각 3가지를 이야기해보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 광고만 배우면 그로스 마케터가 될 수 있다?&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;911&quot; data-origin-height=&quot;508&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Fok1S/dJMcaaMuTE1/XqeJUwT2WI28tseETqRnIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Fok1S/dJMcaaMuTE1/XqeJUwT2WI28tseETqRnIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Fok1S/dJMcaaMuTE1/XqeJUwT2WI28tseETqRnIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFok1S%2FdJMcaaMuTE1%2FXqeJUwT2WI28tseETqRnIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;519&quot; height=&quot;289&quot; data-origin-width=&quot;911&quot; data-origin-height=&quot;508&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #fcfcfc; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #fcfcfc; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #fcfcfc; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;많은 사람들이 그로스 마케팅을 광고 운영이라고 생각해서&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #fcfcfc; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;메타 광고, 검색광고, 광고 소재 제작부터 공부하기 시작합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #fcfcfc; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #fcfcfc; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;하지만 실제 그로스 마케터 채용공고를 살펴보면 기업이 원하는 역량은 조금 다릅니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기업은 단순히 광고를 집행하는 사람이 아니라,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #fcfcfc; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;데이터를 분석하고,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;문제를 발견하고,&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가설을 세우고&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실험을 통해 성과를 개선할 수 있는 사람&quot;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;을 찾고 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 최근 채용공고에서는&lt;br /&gt;SQL, GA4, 데이터 분석 역량이 광고 운영 경험만큼 중요하게 등장합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;광고는 실행 도구일 뿐, 그로스 마케팅의 핵심은 데이터를 활용해 성장을 만드는 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 강의만 들으면 실무 역량이 생긴다?&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;좋은 강의를 찾는 데 많은 시간을 쓰는 취업 준비생들이 많지만,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SQL은 직접 쿼리를 작성해봐야 이해되고,&lt;br /&gt;GA4도 직접 이벤트를 설정해봐야 구조가 보입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실제로 기업이 평가하는 것은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;무엇을 배웠는가&quot;보다&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;무엇을 직접 해봤는가&quot;에 가깝습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그래서 그로스 마케터 취업 준비 과정에서는 강의 수강량보다 실습 경험이 훨씬 중요합니다.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 포트폴리오만 있으면 취업할 수 있다?&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;많은 취업 준비생들이 포트폴리오 제작 자체에 집중하지만,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기업은 결과물보다 문제 해결 과정을 더 중요하게 평가합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예를 들어&lt;br /&gt;&quot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;왜 그 문제를 선택했는지 ,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어떤 데이터를 활용했는지,&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어떤 가설을 세웠는지&quot;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;를 설명할 수 있어야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #fcfcfc; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결국 같은 포트폴리오라도&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단순 결과 정리&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실제 문제 해결 과정에 따라 평가가 완전히 달라질 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;최근 기업들은&lt;br /&gt;단순 수강 이력보다 실제 데이터를 분석하고&lt;br /&gt;실험을 진행해본 경험을 중요하게 평가하고 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이런 고민을 하고 있다면&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;SQL을 어디까지 공부해야 할지 모르겠다&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GA4를 실무에서 어떻게 활용하는지 궁금하다&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터 분석 포트폴리오를 만들고 싶다&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #000000;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그로스 마케터 취업을 준비 중인데 실무 경험이 부족하다&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그렇다면 실제 데이터를 다루고 실습 프로젝트를 경험할 수 있는&lt;br /&gt;커리큘럼을 먼저 확인해보는 것도 도움이 될것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #222222; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-path-to-node=&quot;27,0&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-path-to-node=&quot;27,0&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;27,0&quot;&gt;  데이터로 증명하는 그로스 마케터가 되고 싶다면?&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #e1e1e1; border-radius: 12px; padding: 30px; text-align: center; background-color: #f9f9f9; margin: 20px 0; font-family: 'Pretendard', sans-serif;&quot;&gt;
&lt;h3 style=&quot;margin-top: 0; color: #333; font-size: 1.4em;&quot; data-ke-size=&quot;size23&quot;&gt;  그로스 마케터가 되기 위해 필요한 역량은?&lt;/h3&gt;
&lt;p style=&quot;color: #666; font-size: 1em; margin-bottom: 25px;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석부터 마케팅 자동화까지, 현업 중심 실무 역량 강화&lt;/p&gt;
&lt;a style=&quot;background-color: #ff8e00; color: #000000; padding: 12px 30px; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 1.1em; transition: 0.3s; display: inline-block;&quot; href=&quot;https://bootcamp.likelion.net/school/kdt-growth-6th&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; 나에게 맞는 실무 커리큘럼 확인하기 &amp;rarr; &lt;/a&gt;&lt;/div&gt;</description>
      <category>그로스 마케팅/실무 인사이트</category>
      <category>SQL독학</category>
      <category>그로스 마케터 취업</category>
      <category>그로스 마케팅 부트캠프</category>
      <category>마케팅 포트폴리오</category>
      <category>멋사 그로스마케팅</category>
      <category>멋쟁이 사자처럼 그로스 마케팅 6기</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/32</guid>
      <comments>https://blogger49705.tistory.com/32#entry32comment</comments>
      <pubDate>Sun, 21 Jun 2026 21:07:30 +0900</pubDate>
    </item>
    <item>
      <title>머신러닝 기초 | 학습 종류 분류 회귀 및 7단계 과정 핵심 요약 [멋쟁이사자처럼 부트캠프 그로스마케팅 5기 day 23]</title>
      <link>https://blogger49705.tistory.com/28</link>
      <description>&lt;p id=&quot;p-rc_0921385a2689c363-611&quot; data-path-to-node=&quot;3,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;3,0,0&quot;&gt;오늘은 데이터 기반 마케팅을 할 때 절대 빼놓을 수 없는 &lt;br /&gt;&lt;b data-index-in-node=&quot;32&quot; data-path-to-node=&quot;3,0,0&quot;&gt;머신러닝 기초 이론과 핵심 프로세스&lt;/b&gt;에 대해 알아보았습니다&lt;/span&gt;&lt;span data-path-to-node=&quot;3,0,1&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;3,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_0921385a2689c363-612&quot; data-path-to-node=&quot;3,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;3,1,0&quot;&gt;사실 마케터가 기계학습 알고리즘을 이해해야 하는 이유는&lt;br /&gt;이미 우리가 마주하는 실무의 많은 영역들이 머신러닝을 기반으로 작동하고 있으며,&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;3,1&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_0921385a2689c363-613&quot; data-path-to-node=&quot;3,2&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;3,2,0&quot;&gt;당장 실무에서는 고객 이탈(Churn) 예측이나 광고 클릭률(CTR) 예측,&lt;br /&gt;그리고 고객 생애 가치(CLV) 점수화나 리뷰 감성 분석이 자주 쓰입니다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;3,2&quot; data-ke-size=&quot;size16&quot;&gt;결국 데이터를 읽는 마케터가 되기 위해 오늘 배운 핵심 개념과 실무 적용 포인트를 깔끔하게 정리해 보았습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-path-to-node=&quot;5&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;1. 인공지능 / 머신러닝 / 딥러닝 개념 관계&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,0,0,0&quot;&gt;인공지능 (AI):&lt;/b&gt; 인간이 가지는 지적 능력을 컴퓨터를 통해 구현하는 가장 넓은 개념의 기술&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,1,0,0&quot;&gt;머신러닝 (기계학습):&lt;/b&gt; 컴퓨터가 데이터를 통해 스스로 학습하고 규칙을 도출하여 미래를 예측하는 기술&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,2,0,0&quot;&gt;딥러닝 (Deep Learning):&lt;/b&gt; 인간의 뉴런과 유사한 인공신경망 방식으로 정보를 처리하는 머신러닝의 하위 기술&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-path-to-node=&quot;6&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 머신러닝 학습 종류별 특징&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,0,0,0&quot;&gt;지도 학습 (Supervised Learning):&lt;/b&gt; &lt;br /&gt;: 문제와 정답(Label, Class)을 모두 제공하여 모델을 학습시키는 방식&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,0,1,0,0,0&quot;&gt;- 분류 (Classification):&lt;/b&gt; 미리 정의된 범주형 정답 중 하나를 예측하는 형태 (이진분류 및 다중분류)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,0,1,1,0,0&quot;&gt;- 회귀 (Regression):&lt;/b&gt; 연속적인 숫자(실수)를 예측하는 형태 (예: 점포 수, 직원 등을 기반으로 매출액 예측)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;7,1,0,0&quot;&gt;비지도 학습 (Unsupervised Learning):&lt;/b&gt; &lt;br /&gt;정답 없이 데이터 자체의 숨겨진 패턴과 구조를 스스로 파악하는 방식&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터를 특성별로 묶는 군집(Clustering)과 복잡도를 줄이는 &lt;b data-index-in-node=&quot;38&quot; data-path-to-node=&quot;7,1,1,0,0,0&quot;&gt;차원축소&lt;/b&gt; 등이 대표적&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;강화 학습 (Reinforcement Learning)&lt;/b&gt;: 완전한 정답 대신 상과 벌이라는 보상을 통해 최적의 행동 정책을 학습하는 방식&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-path-to-node=&quot;9&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3. 머신러닝 학습과정 7단계&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-path-to-node=&quot;10&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,0,0,0&quot;&gt;문제 정의:&lt;/b&gt; 비즈니스 목적 파악 및 해결할 문제에 맞는 학습 종류(지도/비지도/강화)와 세부 모델 선정&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,1,0,0&quot;&gt;데이터 수집:&lt;/b&gt; 엑셀, DB, 웹 크롤링(유튜브, SNS, 블로그 등), IoT 센서 등을 활용한 데이터 확보&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,2,0,0&quot;&gt;데이터 전처리:&lt;/b&gt; 결측치&amp;middot;이상치 처리 및 데이터 범위 조정을 위한 스케일링, 문자형의 수치화(인코딩) 작업&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,3,0,0&quot;&gt;탐색적 데이터 분석 (EDA):&lt;/b&gt; 기술 통계량, 상관계수 분석 및 다양한 시각화를 통한 데이터 특징 파악&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,4,0,0&quot;&gt;모델 선택:&lt;/b&gt; 목적에 적합한 알고리즘 선택 및 성능 최적화를 위한 하이퍼파라미터 튜닝&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10,5,0&quot;&gt;모델 학습:&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp;- 전체 데이터를 학습용(Train)과 평가용(Test)으로 분리 (7:3 혹은 7.5:2.5 비율)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp;- model.fit(X_train, y_train) 코드로 학습 데이터의 문제와 정답 패턴을 학습&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp;-&amp;nbsp; model.predict(X_test) 코드로 평가 데이터의 문제만을 입력하여 정답 예측 수행&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-path-to-node=&quot;12&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. 분류 모델 평가지표 정의 및 계산법&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;정확도&lt;/b&gt; &amp;rarr; 전체 기준을 바탕으로 모델이 제대로 예측한 비율&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;정확도만으로는 모델의 성능을 평가할 수 없음&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;erlang&quot;&gt;&lt;code&gt;  why? &amp;rarr; 데이터가 불균형 분포일 떄 가장 빈도가 높은 값으로 예측을 하기 때문에 측정이 완벽하게 될 수 없다.
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;재현율&lt;/b&gt; &amp;rarr; 실제 값에서 모델이 에측한 비율&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;실제 값 : 1 2 2 1 2

모델 예측 값 : 2 2 2 2 1 
 
&amp;rarr; 이 경우 (실제 값과 맞은 모델 예측 값 개수 / 실제 값 개수= 2 / 3 (0.66&amp;hellip;))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;정밀도&lt;/b&gt; &amp;rarr; 예측한 값에서 실제 값 비율&lt;/span&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;실제 값 : 1 2 2 1 2

모델 예측 값 : 2 2 2 2 1                    

&amp;rarr; 이 경우 (실제 맞은 값 개수 / 모델 예측 값 총 개수 = 2 / 4 (0.5))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,0,0,0&quot;&gt;F1 Score:&lt;/b&gt; 재현율과 정밀도의 불균형을 보완하기 위해 두 지표를 균형 있게 고려한 조화 평균값&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-path-to-node=&quot;20&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5. KNN (K-최근접 이웃) 모델 특징&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,0,0,0&quot;&gt;기본 원리:&lt;/b&gt; &lt;br /&gt;새로운 데이터 예측 시 가장 가까운 이웃 K개를 기반으로 다수결 예측을 수행하는 알고리즘&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;메인 예측 모델보다는 전체적인 데이터를 가볍게 파악하기 위한 용도로 활용&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,1,0&quot;&gt;주요 매개변수:&lt;/b&gt; &lt;br /&gt;사용자가 직접 이웃의 개수를 지정하는 KNeighborsClassifier(n_neighbors=k)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;21,3,0,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;21,3,0,0&quot;&gt;핵심 특징:&lt;/b&gt; &lt;br /&gt;거리 측정 방식으로 유클리드 거리 공식을 사용하며, 단위를 맞추기 위한 &lt;b data-index-in-node=&quot;47&quot; data-path-to-node=&quot;21,3,0,0&quot;&gt;스케일 조정 전처리&lt;/b&gt;가 필수적임&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>그로스 마케팅/학습 기록</category>
      <category>그로스 마케팅</category>
      <category>마케팅</category>
      <category>머신러닝</category>
      <category>멋쟁이 사자처럼 후기</category>
      <category>부트캠프</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/28</guid>
      <comments>https://blogger49705.tistory.com/28#entry28comment</comments>
      <pubDate>Wed, 17 Jun 2026 22:03:44 +0900</pubDate>
    </item>
    <item>
      <title>통계학 실전 완벽 정리 | 그로스 마케터가 알아야 할 AARRR 퍼널 분석 [멋쟁이사자처럼 그로스 마케팅 5기 day 22]</title>
      <link>https://blogger49705.tistory.com/27</link>
      <description>&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;많은 마케터들이&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &quot;유입은 많은데 왜 매출이 안 나지?&quot;, &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;새로 바꾼 결제 화면이 정말 효과가 있나?&quot;라는 고민을 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번 포스팅에서는 실제 커머스 마케팅 데이터(Market_data.csv)를 활용한 파이썬 실습 코드를 바탕으로,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 서비스의 성장을 이끄는 두 가지 핵심 무기를 완벽하게 정리해 드립니다.&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-path-to-node=&quot;6&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,0&quot;&gt;AARRR 퍼널 분석&lt;/b&gt;으로 유저 이탈의 탈출구(병목 구간) 찾기&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;독립표본 t-검정(T-Test)으로 신규 결제 UI의 실제 성과 검증하기&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-path-to-node=&quot;8&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실습 준비: 데이터 로드 및 마케팅 지표 정의&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;분석에 사용된 데이터는 유입 채널, 광고비, 첫 구매액, 프로모션 전/후 체류시간, 추천 횟수, 누적 총 매출 등 마케팅 핵심 지표를 담은 &lt;b data-index-in-node=&quot;78&quot; data-path-to-node=&quot;9&quot;&gt;3,000명의 고객 행동 데이터&lt;/b&gt;입니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwi42ZWW6oaVAxUAAAAAHQAAAAAQxgc&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;haskell&quot;&gt;&lt;code&gt;import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats

# 한글 폰트 및 시각화 설정
plt.rcParams['font.family'] = 'Malgun Gothic'
plt.rcParams['axes.unicode_minus'] = False

# 데이터 로드
df = pd.read_csv(&quot;data/Market_data.csv&quot;, encoding=&quot;euc-kr&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;12&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터 분석을 시작하기 전, 그로스 팀이 합의한 &lt;b data-index-in-node=&quot;27&quot; data-path-to-node=&quot;12&quot;&gt;AARRR 단계별 활성화 조건&lt;/b&gt;은 다음과 같이 명확하게 정의되어 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;12&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;522&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S7ThN/dJMcacDvMLL/sf1aHnEOKoZvK6gfSlJIP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S7ThN/dJMcacDvMLL/sf1aHnEOKoZvK6gfSlJIP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S7ThN/dJMcacDvMLL/sf1aHnEOKoZvK6gfSlJIP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS7ThN%2FdJMcacDvMLL%2Fsf1aHnEOKoZvK6gfSlJIP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;482&quot; height=&quot;522&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;522&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Acquired (획득)&lt;/b&gt;: 1단계 - 우리 서비스에 방문했는가?&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Activated (활성화)&lt;/b&gt;: 2단계 - 첫 구매액이 2만 원 이상인가?&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Retained (유지)&lt;/b&gt;:&amp;nbsp;3단계 - 프로모션 이후&amp;nbsp;앱 체류시간이 18분 이상인가? (충성고객 판단)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Referred (추천)&lt;/b&gt;:&amp;nbsp;4단계 - 주변에 1명 이상 추천(친구 초대)을 했는가?&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Revenue_Generated (수익)&lt;/b&gt;: 5단계 - 누적 총 매출이 8만 원을 넘는 고객인가? (VIP 판단)&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-path-to-node=&quot;15&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실습 1. AARRR 퍼널 분석 (Funnel Analysis)&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;첫 번째 실습은 유저의 라이프사이클을 추적하는 &lt;b data-index-in-node=&quot;26&quot; data-path-to-node=&quot;17&quot;&gt;AARRR 퍼널 분석이며,&lt;/b&gt;&lt;br /&gt;유입된 유저들이 최종 VIP 단계까지 가면서 어디서 가장 많이 이탈하는지 파악하는 작업입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1) 퍼널별 전환 유저 수 계산 코드&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;19&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;:&amp;nbsp; &amp;nbsp;각 퍼널 단계 컬럼의 합계를 구하여, 최종 단계로 갈수록 얼마나 많은 유저가 남는지 계산합니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwi42ZWW6oaVAxUAAAAAHQAAAAAQxwc&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;# 각 퍼널 단계별 전환 유저 수 계산
funnel_stages = ['Acquired', 'Activated', 'Retained', 'Referred', 'Revenue_Generated']
funnel_counts = df[funnel_stages].sum()

print(funnel_counts)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2) 그로스 마케터의 인사이트 (Insight)&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,0,0&quot;&gt;병목(Bottleneck) 진단:&lt;/b&gt; &lt;br /&gt;각 단계별 유저 수의 감소 폭을 확인하면, 유저가 어디서 전환되지 않고 이탈했는지 직관적으로 드러납니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,1,0&quot;&gt;마케팅 액션:&lt;br /&gt;&lt;/b&gt; 만약 Activated(첫 구매 2만 원) 단계에서 이탈이 크다면 첫 구매 허들을 낮추는 프로모션이 필요하고, Retained(체류시간 18분) 단계가 무너졌다면 프로모션 리워드 설계나 푸시 알림 타이밍을 다시 점검해야 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;24&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실습 2. 결제 페이지 UI A/B 테스트 검증&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;26&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번에 새로 기획한 신규 결제 화면(UI_B)이 기존의 기존 화면(UI_A)보다 &lt;br /&gt;유저들의 '첫 구매액(First_Purchase)'을 늘리는 데 진짜 기여했는지 데이터로 검증해 보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;26&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1) 시각화로 두 그룹의 차이 확인 (Boxplot)&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;:&amp;nbsp; &amp;nbsp;통계 검정을 돌리기 전, Seaborn의 boxplot을 활용해 시각적으로 데이터 분포를 먼저 비교합니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwi42ZWW6oaVAxUAAAAAHQAAAAAQyAc&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;# UI 그룹별 첫 구매액 분포 시각화
plt.figure(figsize=(10, 6))
sns.boxplot(x='UI_Group', y='First_Purchase', data=df, palette='Set2')
plt.title('결제 페이지 UI 그룹별 첫 구매액 비교')
plt.xlabel('UI 그룹')
plt.ylabel('첫 구매액 (원)')
plt.show()
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;31&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;31&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;31&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2) 통계적 검정 (독립표본 t-검정)&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;32&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단순히 그래프상으로 평균이 높아 보인다고 해서 성과가 좋다고 결론 내릴 수는 없습니다.&lt;br /&gt;그것이 '우연'이 아님을 증명하기 위해 &lt;b data-index-in-node=&quot;71&quot; data-path-to-node=&quot;32&quot;&gt;T-Test&lt;/b&gt;를 수행합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;32&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwi42ZWW6oaVAxUAAAAAHQAAAAAQyQc&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;# 두 UI 그룹의 데이터 분리
group_A = df[df['UI_Group'] == 'UI_A(기존)']['First_Purchase']
group_B = df[df['UI_Group'] == 'UI_B(신규)']['First_Purchase']

# 독립표본 t-검정 수행 (웰치의 t-검정 적용)
t_stat, p_value = stats.ttest_ind(group_B, group_A, equal_var=False)

print(f&quot;T-statistic (검정통계량): {t_stat:.4f}&quot;)
print(f&quot;P-value (유의확률): {p_value:.4f}&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3) 그로스 마케터의 인사이트 (Insight)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;35,0,0&quot;&gt;P-value 분석:&lt;/b&gt; &lt;br /&gt;계산된 p-value가 유의수준 &lt;b data-index-in-node=&quot;30&quot; data-path-to-node=&quot;35,0,0&quot;&gt;0.05보다 작다면&lt;/b&gt;, 신규 UI_B가 유저들의 첫 구매액을 높이는 데 '통계적으로 유의미한 효과'를 냈다고 확신할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;35,1,0&quot;&gt;비즈니스 의사결정:&lt;/b&gt; &lt;br /&gt;통계적 유의성이 확보되었다면 기존 UI_A 버전을 가동 중단하고, 신규 결제 화면(UI_B)을 전체 유저에게 100% 롤아웃(Roll-out)하는 근거가 됩니다. 반대로 차이가 없다면 과감히 드롭하고 새로운 가설을 세워야 예산 낭비를 막을 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>그로스 마케팅/학습 기록</category>
      <category>그로스 마케팅</category>
      <category>마케터</category>
      <category>멋쟁이 사자처럼 후기</category>
      <category>부트캠프</category>
      <category>상관분석</category>
      <category>아노바</category>
      <category>통계학</category>
      <category>파이썬</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/27</guid>
      <comments>https://blogger49705.tistory.com/27#entry27comment</comments>
      <pubDate>Mon, 15 Jun 2026 00:24:59 +0900</pubDate>
    </item>
    <item>
      <title>통계학 실전 완벽 정리 | 그로스 마케터가 알아야 할 ANOVA와 상관분석 [멋쟁이사자처럼 그로스 마케팅 5기 day 21]</title>
      <link>https://blogger49705.tistory.com/26</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 마케터라면 누구나 한 번쯤 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&quot;이번에 새로 도입한 B안이랑 C안 중에서 뭐가 진짜 효율이 좋은 거지?&quot;,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &quot;광고비를 늘리면 매출이 정말 정비례해서 오를까?&quot;라는 고민에 빠지게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;2,0&quot;&gt; &lt;b&gt;그로스마케터의 핵심은&lt;/b&gt; &lt;b data-index-in-node=&quot;12&quot; data-path-to-node=&quot;2,0&quot;&gt;&amp;lsquo;느낌&amp;rsquo;이 아닌 데이터 분석에 의한 &amp;lsquo;통계적 증거&amp;rsquo;로 움직이는 것&lt;/b&gt;입니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;2,0&quot;&gt;오늘은 파이썬(Python)을 활용해 A/B/C 세 가지 광고 캠페인의 100일간 일별 광고비와 매출 데이터를 분석하고, &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ANOVA(분산분석)와 &lt;b data-index-in-node=&quot;123&quot; data-path-to-node=&quot;2,0&quot;&gt;상관분석&lt;/b&gt;을 통해 최적의 의사결정을 내리는 실습 과정을 공유합니다. &lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-path-to-node=&quot;15&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;실습 1. ANOVA (일원분산분석) &lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_dc0ea8c8dce0bf1c-255&quot; data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그로스마케팅 실험을 진행하다 보면 3개 이상의 캠페인 성과를 한 번에 비교해야 할 때가 많습니다.&lt;br /&gt;ANOVA는 &lt;b data-index-in-node=&quot;9&quot; data-path-to-node=&quot;11,2&quot;&gt;3개 이상 집단의 분산에 대한 평균 차이를 분석&lt;/b&gt;하는 통계 기법입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;12&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,0,0&quot;&gt;귀무가설(H0):&lt;/b&gt; 모든 마케팅 캠페인(A, B, C안)의 평균 매출은 같다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,1,0&quot;&gt;대립가설(H1):&lt;/b&gt; 적어도 한 쌍 이상의 캠페인 간에는 평균 매출의 차이가 있다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_dc0ea8c8dce0bf1c-256&quot; data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;파이썬의 scipy.stats 라이브러리를 활용해 일원분산분석(f_oneway)을 아주 간단하게 실행할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;# 그룹 a, b, c의 평균 차이를 구하는 아노바 분석 후 유의확률을 p_val_f에 저장
_, p_val_f = stats.f_oneway(group_a, group_b, group_c)

print(f&quot;▶ 유의확률(p-value): {p_val_f:.4f}&quot;)
print(f&quot;A안 평균 매출: {group_a.mean():,.0f}원&quot;)
print(f&quot;B안 평균 매출: {group_b.mean():,.0f}원&quot;)
print(f&quot;C안 평균 매출: {group_c.mean():,.0f}원&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;15&quot;&gt;분석 결과 출력&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;▶ 유의확률(p-value): 0.0000&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;A안 평균 매출: 4,530,056원&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;B안 평균 매출: 4,702,016원&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;C안 평균 매출: 5,056,951원&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;17,0,0,0&quot;&gt;결과 해석:&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; 유의확률(p-value)이 0.05 미만(0.0000)으로 나타났습니다&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;.&lt;br /&gt;즉, 세 그룹 중 적어도 한 쌍 이상은 &lt;/span&gt;&lt;b data-index-in-node=&quot;24&quot; data-path-to-node=&quot;17,0,0,2&quot;&gt;통계적으로 확실히 유의미하게 다른 평균 매출 수치&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;를 보인다고 결론을 내릴 수 있습니다&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;19&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;- 어떤 안이 얼마나 차이가 날까? 사후분석 (Tukey HSD)&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_dc0ea8c8dce0bf1c-258&quot; data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;하지만 ANOVA 분석만으로는 'A, B, C 중 &lt;br /&gt;정확히 어떤 그룹끼리 차이가 나는지' 알 수 없습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;마케터로서 명확한 의사결정을 내리기 위해 다중 검정의 리스크를 보정한 &lt;br /&gt;Tukey의 사후분석(Post-hoc 완료)을 함께 진행해 줘야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_dc0ea8c8dce0bf1c-259&quot; data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;파이썬 statsmodels 패키지의 pairwise_tukeyhsd 함수를 사용해 한눈에 볼 수 있는 요약 표를 만들어 보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjkwZKqjYaVAxUAAAAAHQAAAAAQkxM&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;nix&quot;&gt;&lt;code&gt;from statsmodels.stats.multicomp import pairwise_tukeyhsd

# ANOVA 적용 후 어떤 그룹이 얼마만큼 차이가 나는지 상세 확인
tukey_result = pairwise_tukeyhsd(
    endog=df[&quot;Revenue&quot;],   # 결과 데이터 (매출액)
    groups=df[&quot;Group&quot;],    # 구분할 기준 (A/B/C안)
    alpha=0.05             # 다중검정을 포함한 오차 허용 기준선 (5%)
)

tukey_result.summary()
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사후분석 결과 표 요약&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;결론: C안을 적극채택하는 것이 좋음&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-path-to-node=&quot;24&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;group1&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;group2&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;meandiff (평균차이)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;p-adj (보정 p-value)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;reject (차이 여부)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,1,0,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,1,0,0&quot;&gt;A_안(기존)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,1,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,1,1,0&quot;&gt;B_안(신규1)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,1,2,0&quot;&gt;171,960.0&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,1,3,0&quot;&gt;0.0533&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,1,4,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,1,4,0&quot;&gt;False&lt;/b&gt; (차이 크지 않음)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,2,0,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,2,0,0&quot;&gt;A_안(기존)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,2,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,2,1,0&quot;&gt;C_안(신규2)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,2,2,0&quot;&gt;526,895.0&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,2,3,0&quot;&gt;0.0000&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,2,4,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,2,4,0&quot;&gt;True&lt;/b&gt; (확실히 차이남)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,3,0,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,3,0,0&quot;&gt;B_안(신규1)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,3,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,3,1,0&quot;&gt;C_안(신규2)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,3,2,0&quot;&gt;354,935.0&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,3,3,0&quot;&gt;0.0000&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span style=&quot;color: #000000;&quot; data-path-to-node=&quot;24,3,4,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,3,4,0&quot;&gt;True&lt;/b&gt; (확실히 차이남)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-path-to-node=&quot;15&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;실습 2. 상관분석&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;앞서 ANOVA를 통해 &lt;b data-index-in-node=&quot;13&quot; data-path-to-node=&quot;5&quot;&gt;&amp;lsquo;C안(신규2)&amp;rsquo;&lt;/b&gt; 캠페인이 평균적으로 가장 높은 매출을 올린다는 것을 검증했습니다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 하지만 그로스마케터라면 여기서 한 발짝 더 나아가야 합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: center;&quot;&gt; &quot;C안이 평균 매출은 높은데... 과연 광고비를 추가로 투입했을 때도 가장 폭발적으로 성장할까?&quot; &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;7&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 의문을 해결하기 위해 마케팅의 핵심 지표인 일별 광고비(Ad_Spend)와 매출액(Revenue)의 관계를 파악하는 &lt;b data-index-in-node=&quot;67&quot; data-path-to-node=&quot;7&quot;&gt;상관분석&lt;/b&gt;을 진행해 보겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;7&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;파이썬 scipy.stats 라이브러리의 pearsonr 함수를 사용하면 두 변수 간의 관계의 강도(상관계수r)와 통계적 유의미함(p-value)을 단 두 줄로 뽑아낼 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwjkwZKqjYaVAxUAAAAAHQAAAAAQyRM&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;python&quot;&gt;&lt;code&gt;# 광고비와 매출액 간의 피어슨 상관계수 산출
corr, p_val_corr = stats.pearsonr(df[&quot;Ad_Spend&quot;], df[&quot;Revenue&quot;])

print(f&quot;▶ 유의확률(p-value): {p_val_corr:.4f}&quot;)
print(f&quot;전체 데이터 상관계수(r): {corr:.4f}&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10&quot;&gt;분석 결과 해석 (전체 데이터 기준)&lt;/b&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10&quot;&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: left;&quot; data-path-to-node=&quot;11,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR'; color: #000000;&quot;&gt;▶ 유의확률(p-value): 0.0000&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: left;&quot; data-path-to-node=&quot;11,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;전체 데이터 상관계수(r): 0.3688&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: left;&quot; data-path-to-node=&quot;11,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결과 해석: 유의확률(p-value)이 0.05 미만(0.0000)이므로 이 상관관계는 우연이 아닙니다. 상관계수 r 값이 0.3688로 나타난 것은 광고비와 매출 간에 &amp;lsquo;유의미한 약한 양의 상관관계&amp;rsquo;가 성립한다는 뜻입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666; text-align: left;&quot; data-path-to-node=&quot;11,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;결론 시각화&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;# 시각화

# fig:도화지 전체, axes:분리된 도화지 방들 , plt.subplots(1, 2, ...) 도화지의 화면을 가로로 2개의 방으로 쪼개 ,  figsize=(14,6) 가로 14, 세로 
fig, axes = plt.subplots(1,2, figsize=(14,6))

# [좌측 그래프]: 전체 광고비와 매출의 상관관계(추세선 포함)
# regplot(Regresstion Plot): 산점도 위에 추세선(회귀선)을 자동으로 그려주는 함수
# data=df, x=&quot;Ad_Spend&quot;, y=&quot;Revenue&quot;: 엑셀 표(df)에서 가로축(X)은 광고비, 세로축(Y)은 매출로 설정합니다.

#ax=axes[0]: 방금 쪼갠 도화지 중 0번째 방(왼쪽 방)에 이 그래프를 그리라고 지정하는 것입니다.

# scatter_kws={...}: 그려지는 점들의 스타일입니다. 색상은 회색(&quot;gray&quot;), 투명도는 50%(&quot;alpha&quot;: 0.5)로 주어 점들이 너무 튀지 않게 조절 
#line_kws={...}: 추세선(선)의 스타일입니다. 눈에 잘 띄도록 빨간색(&quot;red&quot;), 두께는 2(&quot;linewidth&quot;: 2)로 설정
sns.regplot(
    data=df,
    x=&quot;Ad_Spend&quot;,
    y= &quot;Revenue&quot;,
    ax=axes[0],
    scatter_kws={&quot;alpha&quot;: 0.5, &quot;color&quot;:&quot;gray&quot;},   #표시되는 점(데이터)들의 세부사항 설정
    line_kws={&quot;color&quot;: &quot;red&quot;, &quot;linewidth&quot;: 2}   #추세선의 세부사항 설정
    
)

axes[0].set_title(&quot;전체 광고비와 매출 상관관계 (with 추세선)&quot;, fontsize=14)
axes[0].set_xlabel(&quot;일일 광고비 (원)&quot;)
axes[0].set_ylabel(&quot;일일 매출(원)&quot;)

#[우측 그래프]: 각 마케팅 그룹별 광고비와 매출 산점도 및 추세선
# scatterplot: 산점도 그래프
# hue=&quot;Group&quot;: ★매우 중요★ 그룹별로 점의 색상을 다르게 칠해라라는 뜻입니다
# alpha=0.8, s=60: 점들의 투명도는 80%로 살짝 주고, 점의 크기(s, size)는 60으로 보기 좋게 키웠습니다.

sns.scatterplot(
    data=df,
    x=&quot;Ad_Spend&quot;,
    y= &quot;Revenue&quot;,
    ax=axes[1],
    hue=&quot;Group&quot;,
    palette=&quot;Set2&quot;,
    alpha=0.8,               # 점들의 투명도
    s=60,                    # 점 크기
)

# 각 그룹별로 추세선을 따로따로 그려서 그래프에 추가하기
groups=df[&quot;Group&quot;].unique()   #3개안들의 유니크 값
colors = sns.color_palette(&quot;Set2&quot;, len(groups))   #산점도와 동일한 색상표(set2)와  GROUP 개수 사용

for idx, group in enumerate(groups) :
    subset = df[df[&quot;Group&quot;]==group]           #각 그룹의 불리언 인덱싱
                                              # =참 거짓을 판별하는 조건문 
    sns.regplot(                              # 변수 = 데이터프레임[데이터프레임['기준컬럼'] 조건연산자 기준값]
        data=subset,
        x=&quot;Ad_Spend&quot;,
        y= &quot;Revenue&quot;,
        ax=axes[1],
        scatter=False,
        color=colors[idx],
        line_kws={&quot;linewidth&quot;:2}
    )

axes[1].set_title(&quot;마케팅 그룹별 상관관계 및 광고비 효율(기울기) 비교&quot;, fontsize=14)
axes[1].set_xlabel(&quot;일일 광고비 (원)&quot;)
axes[1].set_ylabel(&quot;일일 매출(원)&quot;)

plt.tight_layout()
plt.show()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1022&quot; data-origin-height=&quot;496&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m3Ko0/dJMcahEJrJl/zvZZk0YDHwl029fBUgkOSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m3Ko0/dJMcahEJrJl/zvZZk0YDHwl029fBUgkOSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m3Ko0/dJMcahEJrJl/zvZZk0YDHwl029fBUgkOSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm3Ko0%2FdJMcahEJrJl%2FzvZZk0YDHwl029fBUgkOSK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1022&quot; height=&quot;496&quot; data-origin-width=&quot;1022&quot; data-origin-height=&quot;496&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>그로스 마케팅/학습 기록</category>
      <category>그로스 마케팅</category>
      <category>마케터</category>
      <category>멋쟁이 사자처럼 후기</category>
      <category>부트캠프</category>
      <category>상관분석</category>
      <category>아노바</category>
      <category>통계학</category>
      <category>파이썬</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/26</guid>
      <comments>https://blogger49705.tistory.com/26#entry26comment</comments>
      <pubDate>Sun, 14 Jun 2026 22:07:40 +0900</pubDate>
    </item>
    <item>
      <title>통계학 기초 완벽 정리 | 그로스 마케터가 알아야 할 평균&amp;middot;표준편차&amp;middot;이상치 분석 [멋쟁이사자처럼 그로스 마케팅 5기 day 20]</title>
      <link>https://blogger49705.tistory.com/25</link>
      <description>&lt;p data-path-to-node=&quot;3&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;3&quot;&gt;&quot;A/B 테스트 성공했는데, 왜 매출은 제자리일까?&quot;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;3&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;많은 그로스 마케터가 소수의 고액 결제자 데이터에 속아 '평균의 함정'에 빠지곤 합니다. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단지 평균값 하나만 믿고 예산을 증액했다가 마케팅 비용만 낭비하는 이유가 바로 여기에 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;데이터 왜곡 없는 정확한 의사결정을 위해 지금 마케터에게 필요한 것은 단 하나, 바로 통계학 기초 체력인데요,&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 실무에 직결되는 평균&amp;middot;중앙값&amp;middot;최빈값 활용법부터 표준편차, 이상치 탐지(IQR, Z-Score)까지 핵심만&amp;nbsp; 압축하여 소개하겠습니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-path-to-node=&quot;0&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;01. 통계학과 마케팅의 만남: 데이터 기반 의사결정&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 1: 통계학 (Statistics)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-929&quot; data-path-to-node=&quot;2,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;2,0,1,0&quot;&gt;뜻:&lt;/b&gt; 대량의 데이터를 분석하여 불확실한 미래를 예측하는 학문. 과학적인 추론과 합리적인 의사결정 지원 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-930&quot; data-path-to-node=&quot;2,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;2,1,1,0&quot;&gt;필요성:&lt;/b&gt; 직감이나 감에 의존한 결정을 피하고, 객관적인 증거를 기반으로 리스크 최소화 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-931&quot; data-path-to-node=&quot;2,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;2,2,1,0&quot;&gt;주의점:&lt;/b&gt; 단순히 숫자를 쌓는 것이 목적이 아니라 진짜 신호와 단순한 잡음(노이즈)을 구별해야 함&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;3&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 2: 마케터에게 통계가 필요한 이유&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;4&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-932&quot; data-path-to-node=&quot;4,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,0,1,0&quot;&gt;뜻:&lt;/b&gt; 데이터 기반 의사결정, 실험 설계 및 검증, 예산 효율화, 리스크 관리를 가능하게 하는 실무 무기 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-933&quot; data-path-to-node=&quot;4,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,1,1,0&quot;&gt;필요성:&lt;/b&gt; A/B 테스트 시 샘플 크기나 유의수준을 고려해 결과의 신뢰도를 확보하고 마케팅 ROI 극대화 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-934&quot; data-path-to-node=&quot;4,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;4,2,1,0&quot;&gt;주의점:&lt;/b&gt; 통계를 모르면 허위 신호를 성과로 착각하여 잘못된 의사결정을 내리거나 예산 낭비&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;5&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 3: 기술 통계 vs 추론 통계&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;6,0,2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-936&quot; data-path-to-node=&quot;6,0,2,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,2,0,1,0&quot;&gt;기술 통계:&lt;/b&gt; 수집된 데이터를 요약하고 시각화하여 현재 상황을 정확하게 진단 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-937&quot; data-path-to-node=&quot;6,0,2,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,2,1,1,0&quot;&gt;추론 통계:&lt;/b&gt; 표본 데이터로 모집단을 추정하고 가설을 검정하여 미래를 확률적으로 예측 &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;6&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-935&quot; data-path-to-node=&quot;6,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,1,0&quot;&gt;뜻:&lt;/b&gt; 통계학을 구성하는 두 가지 핵심 영역 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-938&quot; data-path-to-node=&quot;6,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,1,1,0&quot;&gt;필요성:&lt;/b&gt; 현재의 현상을 명확히 파악한 뒤, 이를 바탕으로 미래의 마케팅 성과 예측 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-939&quot; data-path-to-node=&quot;6,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,2,1,0&quot;&gt;주의점:&lt;/b&gt; 분석 단계는 반드시 기술 통계에서 추론 통계 순으로 진행해야 함&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;7&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 4: 데이터의 종류 (범주형 vs 수치형)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;8,0,2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-941&quot; data-path-to-node=&quot;8,0,2,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,0,2,0,1,0&quot;&gt;범주형:&lt;/b&gt; 성별, 유입 채널 등 정성적 특성을 나타내며 그룹 분류가 가능한 데이터 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-942&quot; data-path-to-node=&quot;8,0,2,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,0,2,1,1,0&quot;&gt;수치형:&lt;/b&gt; 방문자 수, 체류 시간, 클릭률, 매출액 등 정량적 측정이 가능한 데이터 &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;8&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-940&quot; data-path-to-node=&quot;8,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,0,1,0&quot;&gt;뜻:&lt;/b&gt; 마케팅 데이터가 가진 성격에 따른 분류 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-943&quot; data-path-to-node=&quot;8,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,1,1,0&quot;&gt;필요성:&lt;/b&gt; 데이터 성격에 따라 적용해야 하는 통계 분석 기법과 관리 지표의 차이 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-944&quot; data-path-to-node=&quot;8,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8,2,1,0&quot;&gt;주의점:&lt;/b&gt; 범주형은 무엇인지를 설명하고 수치형은 얼마나를 설명함. 고객 분류에는 범주형을, ROI 계산이나 예측 모델링에는 수치형 데이터 활용&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;10&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;02. 기술 통계: 현재 상황 진단&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 5: 대푯값 (평균, 중앙값, 최빈값)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;12,0,2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-946&quot; data-path-to-node=&quot;12,0,2,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,0,2,0,1,0&quot;&gt;평균:&lt;/b&gt; 모든 데이터의 합계를 개수로 나눈 값 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-947&quot; data-path-to-node=&quot;12,0,2,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,0,2,1,1,0&quot;&gt;중앙값:&lt;/b&gt; 데이터를 크기 순서로 정렬했을 때 가장 한가운데 위치한 값 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-948&quot; data-path-to-node=&quot;12,0,2,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,0,2,2,1,0&quot;&gt;최빈값:&lt;/b&gt; 데이터에서 가장 자주 등장하는 빈도수가 높은 값 &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;12&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-945&quot; data-path-to-node=&quot;12,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,0,1,0&quot;&gt;뜻:&lt;/b&gt; 데이터 전체의 분포 특성을 대표하는 하나의 중심값 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-949&quot; data-path-to-node=&quot;12,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,1,1,0&quot;&gt;필요성:&lt;/b&gt; 수많은 로우 데이터를 한눈에 파악할 수 있는 요약 지표 활용 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-950&quot; data-path-to-node=&quot;12,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;12,2,1,0&quot;&gt;주의점:&lt;/b&gt; 소수의 극단값에 의해 평균이 왜곡되는 '평균의 함정' 경계. 평균과 최빈값의 차이가 크다면 대중적인 마케팅 전략은 최빈값 기준 수립&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;13&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 6: 로그(Log) 변환&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;14&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-951&quot; data-path-to-node=&quot;14,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14,0,1,0&quot;&gt;뜻:&lt;/b&gt; 소수의 극단값 때문에 꼬리가 오른쪽으로 길게 늘어진 데이터를 정규화하여 통계적 분포를 드러나게 만드는 변환 기법 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-952&quot; data-path-to-node=&quot;14,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14,1,1,0&quot;&gt;필요성:&lt;/b&gt; 소수의 VVIP 유저 때문에 일반 고객의 분포가 보이지 않을 때, 극단값을 당겨 숨겨진 특성 분석 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-953&quot; data-path-to-node=&quot;14,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;14,2,1,0&quot;&gt;주의점:&lt;/b&gt; 데이터를 왜곡하는 것이 아니라 수치 스케일을 압축하여 정규분포 가정이 정상적으로 작동하도록 돕는 정규화 과정&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 7: 산포도 (분산과 표준편차)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;16,0,2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-955&quot; data-path-to-node=&quot;16,0,2,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,0,2,0,1,0&quot;&gt;분산:&lt;/b&gt; 각 데이터 값이 평균에서 얼마나 떨어져 있는지를 제곱하여 평균낸 값 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-956&quot; data-path-to-node=&quot;16,0,2,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,0,2,1,1,0&quot;&gt;표준편차:&lt;/b&gt; 분산의 제곱근으로 데이터의 실제 변동 범위를 원래 단위로 표기 &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;16&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-954&quot; data-path-to-node=&quot;16,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,0,1,0&quot;&gt;뜻:&lt;/b&gt; 데이터가 평균으로부터 얼마나 넓게 퍼져 있는지 변동성을 측정하는 핵심 지표 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-957&quot; data-path-to-node=&quot;16,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,1,1,0&quot;&gt;필요성:&lt;/b&gt; 분산이나 표준편차가 클수록 변동성을 넓게 보고 안정성을 낮게 판단하므로 비즈니스의 리스크 파악 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-958&quot; data-path-to-node=&quot;16,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,2,1,0&quot;&gt;주의점:&lt;/b&gt; 분산은 계산 과정에서 제곱하기 때문에 단위의 왜곡 발생. 실무에서 실제 변동 범위를 직관적으로 해석할 때는 표준편차 확인&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 8: 왜도 (Skewness)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;18,0,2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-960&quot; data-path-to-node=&quot;18,0,2,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,0,2,0,1,0&quot;&gt;양의 왜도 (+):&lt;/b&gt; 오른쪽으로 꼬리가 길게 늘어진 분포로, 평균이 중앙값보다 큼 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-961&quot; data-path-to-node=&quot;18,0,2,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,0,2,1,1,0&quot;&gt;음의 왜도 (-):&lt;/b&gt; 왼쪽으로 꼬리가 길게 늘어진 분포로, 평균이 중앙값보다 작음 &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;18&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-959&quot; data-path-to-node=&quot;18,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,0,1,0&quot;&gt;뜻:&lt;/b&gt; 데이터 분포의 비대칭 정도를 나타내는 지표 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-962&quot; data-path-to-node=&quot;18,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,1,1,0&quot;&gt;필요성:&lt;/b&gt; 데이터의 비대칭성을 확인하여 평균값이 과대 혹은 과소평가 되었는지를 판별 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-963&quot; data-path-to-node=&quot;18,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,2,1,0&quot;&gt;주의점:&lt;/b&gt; 왜도가 큰 경우 평균값 하나만 확인하면 데이터 왜곡 발생. 반드시 평균과 중앙값, 최빈값을 함께 보며 의사결정 진행&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;19&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 9: 첨도 (Kurtosis)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;20,0,2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-965&quot; data-path-to-node=&quot;20,0,2,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,0,2,0,1,0&quot;&gt;고첨도:&lt;/b&gt; 데이터가 평균 주변에 몰려있으면서 동시에 두터운 꼬리 형성 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-966&quot; data-path-to-node=&quot;20,0,2,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,0,2,1,1,0&quot;&gt;저첨도:&lt;/b&gt; 데이터가 평균 주변에 분산되어 있으며 얇은 꼬리 형성 &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;20&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-964&quot; data-path-to-node=&quot;20,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,0,1,0&quot;&gt;뜻:&lt;/b&gt; 데이터가 평균 주변에 얼마나 몰려있는지, 꼬리가 두터운지 측정하는 지표 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-967&quot; data-path-to-node=&quot;20,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,1,1,0&quot;&gt;필요성:&lt;/b&gt; 트래픽 품질 리스크와 성과 예측 가능성 판단 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-968&quot; data-path-to-node=&quot;20,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,2,1,0&quot;&gt;주의점:&lt;/b&gt; 고첨도 분포는 데이터가 평균 주변에 모여 있어 안정적으로 보일 수 있으나, 극단적인 이상치 발생 위험성 존재&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 10: 분포 시각화 (히스토그램과 박스플롯)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;22,0,2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-970&quot; data-path-to-node=&quot;22,0,2,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,0,2,0,1,0&quot;&gt;히스토그램:&lt;/b&gt; 데이터의 구간별 빈도수를 표시하여 전체적인 분포 형태 확인 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-971&quot; data-path-to-node=&quot;22,0,2,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,0,2,1,1,0&quot;&gt;박스플롯:&lt;/b&gt; 사분위수(Q1, Q2 중앙값, Q3)와 최솟값, 최댓값 및 이상치 탐지 &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;22&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-969&quot; data-path-to-node=&quot;22,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,0,1,0&quot;&gt;뜻:&lt;/b&gt; 수치형 데이터의 분포 형태와 이상치를 확인하기 위한 시각화 도구 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-972&quot; data-path-to-node=&quot;22,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,1,1,0&quot;&gt;필요성:&lt;/b&gt; 숫자 지표만으로는 파악하기 힘든 데이터의 실제 생김새를 확인하고 이상치 탐지 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-973&quot; data-path-to-node=&quot;22,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,2,1,0&quot;&gt;주의점:&lt;/b&gt; 요약 통계량을 뽑기 전 히스토그램으로 분포 형태를 확인하고 박스플롯으로 이상치 교차 검증 필수&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;24&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-path-to-node=&quot;24&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;03. 이상치 처리 및 추론 통계의 기초&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 11: 이상치 (Outlier)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;26&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-974&quot; data-path-to-node=&quot;26,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,0,1,0&quot;&gt;뜻:&lt;/b&gt; 데이터의 전반적인 패턴에서 현저하게 벗어난 관측치 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-975&quot; data-path-to-node=&quot;26,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,1,1,0&quot;&gt;필요성:&lt;/b&gt; 이상치를 방치하면 평균과 표준편차가 왜곡되며, KPI와 분석 결과 왜곡으로 잘못된 의사결정 초래 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-976&quot; data-path-to-node=&quot;26,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;26,2,1,0&quot;&gt;주의점:&lt;/b&gt; 무조건적인 제거가 정답은 아님. 오류나 봇 트래픽은 &lt;b data-index-in-node=&quot;11&quot; data-path-to-node=&quot;26,2,1,4&quot;&gt;제거&lt;/b&gt;하거나 &lt;b data-index-in-node=&quot;17&quot; data-path-to-node=&quot;26,2,1,4&quot;&gt;대체&lt;/b&gt;해야 하지만, 대량 구매 VIP 고객 데이터는 중요한 시그널이므로 &lt;b data-index-in-node=&quot;56&quot; data-path-to-node=&quot;26,2,1,4&quot;&gt;분리&lt;/b&gt;하여 별도 분석&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;27&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;개념 12: 이상치 탐지 기법 (IQR vs Z-Score)&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;28,0,2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-978&quot; data-path-to-node=&quot;28,0,2,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,0,2,0,1,0&quot;&gt;IQR 방법:&lt;/b&gt; 사분위수 범위를 이용하며, $[Q1 - 1.5 \times IQR, Q3 + 1.5 \times IQR]$ 범위를 벗어나는 값을 이상치로 판별 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-979&quot; data-path-to-node=&quot;28,0,2,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,0,2,1,1,0&quot;&gt;Z-Score 방법:&lt;/b&gt; 평균과 표준편차를 이용하여 평균으로부터 3표준편차 이상 떨어진 값 판별 &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;28&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-977&quot; data-path-to-node=&quot;28,0,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,0,1,0&quot;&gt;뜻:&lt;/b&gt; 통계적 기준에 근거하여 극단값을 식별하는 두 가지 방법 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-980&quot; data-path-to-node=&quot;28,1,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,1,1,0&quot;&gt;필요성:&lt;/b&gt; 객관적이고 일관된 통계적 경계선을 그어 노이즈 식별 &lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_9da4e95ec4db4b24-981&quot; data-path-to-node=&quot;28,2,1&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,2,1,0&quot;&gt;주의점:&lt;/b&gt; Z-Score 방법은 극단값 자체에 의해 평균과 표준편차가 왜곡될 수 있음. 비정규 분포가 많은 마케팅 실무 데이터에는 극단값에 덜 민감한 IQR 방법 적합&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-path-to-node=&quot;27,0&quot; data-index-in-node=&quot;0&quot;&gt;  데이터로 증명하는 그로스 마케터가 되고 싶다면?&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #e1e1e1; border-radius: 12px; padding: 30px; text-align: center; background-color: #f9f9f9; margin: 20px 0; font-family: 'Pretendard', sans-serif;&quot;&gt;
&lt;h3 style=&quot;margin-top: 0; color: #333; font-size: 1.4em;&quot; data-ke-size=&quot;size23&quot;&gt;  내 성장의 기회, 멋쟁이사자처럼&lt;/h3&gt;
&lt;p style=&quot;color: #666; font-size: 1em; margin-bottom: 25px;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석부터 마케팅 자동화까지, 현업 중심 실무 역량 강화&lt;/p&gt;
&lt;a style=&quot;background-color: #ff8e00; color: white; padding: 12px 30px; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 1.1em; transition: 0.3s; display: inline-block;&quot; href=&quot;https://bootcamp.likelion.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; 나에게 맞는 실무 커리큘럼 확인하기 &amp;rarr; &lt;/a&gt;&lt;/div&gt;</description>
      <category>그로스 마케팅/학습 기록</category>
      <category>그로스 마케팅</category>
      <category>마케터</category>
      <category>멋쟁이 사자처럼 후기</category>
      <category>부트캠프</category>
      <category>통계학</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/25</guid>
      <comments>https://blogger49705.tistory.com/25#entry25comment</comments>
      <pubDate>Thu, 11 Jun 2026 22:11:04 +0900</pubDate>
    </item>
    <item>
      <title>웹 크롤링이란? | 마케터를 위한 Python 웹 크롤링 기초 #5 [멋쟁이사자처럼 부트캠프 그로스 마케팅 5기 day 19]</title>
      <link>https://blogger49705.tistory.com/24</link>
      <description>&lt;p data-path-to-node=&quot;17,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;단순히 코딩 문법을 익히는 것을 넘어, &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;수집한 데이터를 어떻게 마케팅 액션과 성과로 연결할 것인가를 고민하는 것이 &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그로스 마케터의 진짜 역량일 것입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;총 5편에 걸친 웹 크롤링 시리즈의 마지막 장인 오늘은,&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; requests, BeautifulSoup, Selenium을 활용해 정적&amp;middot;동적 페이지를 넘나들며 &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실무 데이터를 자동화하는 최종 실습을 진행했습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17,1&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 멋쟁이사자처럼 그로스 마케팅 부트캠프에서 보낸 19일간의 여정 중, &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;17,1&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가장 짜릿했던 '데이터 수집 자동화'의 마침표를 지금 공유합니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-path-to-node=&quot;15&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;실습 1. 구글 이미지 무한 스크롤 및 자동 다운로드 (Selenium)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;마케팅 리서치를 하다 보면 경쟁사의 배너 이미지나 레퍼런스 이미지를 수백 장씩 수집해야 할 때가 있습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;일일이 우클릭해서 저장하는 리소스를 줄이기 위해,&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;88&quot; data-path-to-node=&quot;16&quot;&gt;'스크롤 3번 자동 다운로드'&lt;/b&gt; 코드를 구현했습니다.&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwiho4bgpPmUAxUAAAAAHQAAAAAQhAk&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;import time
from selenium import webdriver as wb
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from urllib.request import urlretrieve
from tqdm import tqdm

# 1. 브라우저 실행 및 페이지 이동
driver = wb.Chrome()
driver.maximize_window()
time.sleep(2)
driver.get(&quot;https://search.naver.com/search.naver?...&quot;)
time.sleep(2)
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;18&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,0,0&quot;&gt;wb.Chrome()&lt;/b&gt;: 크롬 브라우저를 자동으로 제어할 수 있는 가상 창을 실행합니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,1,0&quot;&gt;maximize_window()&lt;/b&gt;: 화면이 작으면 웹 요소를 찾지 못하는 오류가 발생할 수 있어 창을 최대화합니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18,2,0&quot;&gt;time.sleep(2)&lt;/b&gt;: 페이지가 완전히 로딩될 때까지 컴퓨터에 2초간의 여유를 줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwiho4bgpPmUAxUAAAAAHQAAAAAQhQk&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;ada&quot;&gt;&lt;code&gt;# 2. 예외 처리와 자동 스크롤 (try 내부)
try :
    for _ in range(3) :
        body = driver.find_element(By.TAG_NAME, &quot;body&quot;)
        body.send_keys(Keys.END)
        time.sleep(2)
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;20&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,0,0&quot;&gt;try :&lt;/b&gt;: &quot;일단 이 작업을 에러 없이 실행해봐!&quot;라는 뜻으로, 예기치 못한 오류로 프로그램이 튕기는 것을 방지합니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20,1,0&quot;&gt;Keys.END&lt;/b&gt;: 웹페이지 바탕(&amp;lt;body&amp;gt;)을 선택해 키보드의 END 키를 누릅니다. 화면을 아래로 쓱 내리는 효과(스크롤 다운)를 주어 숨겨진 이미지를 추가로 로딩합니다. (3번 반복)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwiho4bgpPmUAxUAAAAAHQAAAAAQhgk&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;nix&quot;&gt;&lt;code&gt;# 3. 이미지 태그 수집 및 필터링
    imgs_sel = driver.find_elements(By.CSS_SELECTOR, &quot;img._fe_image_tab_content_thumbnail_image&quot;)
    imgs_src_list = [i.get_attribute(&quot;src&quot;) for i in imgs_sel]
    imgs_src_list_new = [i for i in imgs_src_list if i[:5]==&quot;https&quot;]
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;22&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,0,0&quot;&gt;find_elements()&lt;/b&gt;: 네이버 이미지 중 썸네일에 해당하는 클래스명을 가진 모든 요소를 싹 긁어모읍니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22,1,0&quot;&gt;if i[:5]==&quot;https&quot;&lt;/b&gt;: 수집된 주소 중 https로 시작하는 진짜 정상 이미지 링크만 골라내는 &lt;b data-index-in-node=&quot;59&quot; data-path-to-node=&quot;22,1,0&quot;&gt;데이터 정제 작업&lt;/b&gt;입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwiho4bgpPmUAxUAAAAAHQAAAAAQhwk&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;less&quot;&gt;&lt;code&gt;# 4. 이미지 다운로드 및 마무리 / 5. 에러 대처
    for idx, img in tqdm(enumerate(imgs_src_list_new)) :
        urlretrieve(img, &quot;이미지/&quot; + str(idx+1) + &quot;.jpg&quot;)
        time.sleep(0.5)

    print(&quot;크롤링 완료!&quot;)
    driver.quit()
except Exception as e :
    print(&quot;에러명 :&quot;, e)
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;24&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,0,0&quot;&gt;tqdm&lt;/b&gt;: 다운로드 진행 상황을 시각적인 진행 바(Progress Bar)로 보여줍니다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24,1,0&quot;&gt;urlretrieve()&lt;/b&gt;: 지정한 '이미지' 폴더에 1.jpg, 2.jpg 형태로 자동 저장합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-path-to-node=&quot;25&quot; data-ke-style=&quot;style2&quot;&gt;
&lt;p data-path-to-node=&quot;25,0&quot; data-ke-size=&quot;size16&quot;&gt;  마케터's Growth Tip (Selenium 활용기) 이미지 검색 엔진은 스크롤을 내려야 새로운 데이터가 로딩되는 '동적 페이지'가 많습니다. 마케터가 트렌드 분석을 위해 수백 장의 시각 자료를 리서치할 때, 이 스크롤 제어 코드를 활용하면 단 10초 만에 모든 이미지를 자산화할 수 있습니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 data-path-to-node=&quot;27&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-path-to-node=&quot;27&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;실습 2. 서울시 데이터 광장 1~5page 대량 정보 수집 (POST 방식 &amp;amp; Pandas)&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;정적 페이지를 넘어, 눈에 보이지 않는 서버 데이터 요청 방식인&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;36&quot; data-path-to-node=&quot;28&quot;&gt;POST 문을 활용해 1페이지부터 5페이지까지의 대량 데이터를 수집&lt;/b&gt;하고,&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;이를 마케터들이 가장 사랑하는 표 형태(&lt;b data-index-in-node=&quot;99&quot; data-path-to-node=&quot;28&quot;&gt;데이터프레임&lt;/b&gt;)로 시각화했습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;28&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwiho4bgpPmUAxUAAAAAHQAAAAAQiAk&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;haskell&quot;&gt;&lt;code&gt;import pandas as pd
import requests as req
from bs4 import BeautifulSoup as bs
from tqdm import tqdm

url = &quot;https://data.seoul.go.kr/dataList/datasetList.do&quot;

# 데이터를 담을 빈 바구니 생성
titles_list, categories_list, dates_list, departements_list = [], [], [], []

# 1~5페이지 반복 데이터 수집
for i in tqdm(range(1, 6)) :
    payload = {&quot;pageIndex&quot;: i} 
    res_seoul = req.post(url, data=payload, headers=U_A) 
    soup = bs(res_seoul.text, &quot;lxml&quot;) 
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;30&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;30,0,0&quot;&gt;payload = {&quot;pageIndex&quot;: i}&lt;/b&gt;: URL 주소가 변하지 않는 POST 방식 웹사이트에서 페이지를 전환하기 위해 핵심 파라미터(pageIndex)를 넘겨주는 마케터의 핵심 기술입니다&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwiho4bgpPmUAxUAAAAAHQAAAAAQiQk&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;    # 원하는 데이터 요소 선택 및 가공
    title = soup.select(&quot;a.goView &amp;gt; strong&quot;)                  
    category = soup.select(&quot;dl.type-b em:nth-child(2)&quot;)       
    date = soup.select(&quot;dd.list-statistics-info2 &amp;gt; span:nth-child(1)&quot;)       
    department = soup.select(&quot;dd.list-statistics-info2 &amp;gt; span:nth-child(3)&quot;) 

    for i in range(len(title)) :
        titles_list.append(title[i].text)
        categories_list.append(category[i].text)
        dates_list.append(date[i].text.strip()[-10:]) # 뒤에서 10자리 (날짜만)
        departements_list.append(department[i].text.strip()[19:]) # 불필요 문구 제거
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;32&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;32,0,0&quot;&gt;문자열 슬라이싱 기법 ([-10:], [19:])&lt;/b&gt;: 크롤링 가공의 꽃입니다. 수집된 텍스트 중 불필요한 공백이나 제공부서 : 같은 앞 문구를 잘라내고 공공데이터의 '순수 부서명'과 '날짜'만 남기는 전처리 과정입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwiho4bgpPmUAxUAAAAAHQAAAAAQigk&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;# 데이터프레임(표)으로 변환 후 출력
seoul_dic = {&quot;타이틀&quot;:titles_list, &quot;분야&quot;:categories_list, &quot;수정일자&quot;:dates_list, &quot;제공부서&quot;:departements_list}
seoul_df = pd.DataFrame(seoul_dic, index=range(1, len(titles_list)+1))
seoul_df.index.name = &quot;No.&quot;

seoul_df&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;마무리&lt;/b&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size16&quot;&gt;5편의 시리즈를 통해 파이썬 기초부터 동적 크롤링,&lt;/p&gt;
&lt;p data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size16&quot;&gt;그리고 데이터프레임 시각화까지 마쳤습니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size16&quot;&gt;비전공자 마케터였던 제가 19일 만에 스스로 데이터를 수집하고 정제할 수 있게 된 것은,&lt;/p&gt;
&lt;p data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size16&quot;&gt;이론에 치우치지 않고 '진짜 마케터에게 필요한 데이터 역량'*&lt;i data-index-in-node=&quot;141&quot; data-path-to-node=&quot;38,0&quot;&gt;을 쥐어준&lt;/i&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i data-index-in-node=&quot;141&quot; data-path-to-node=&quot;38,0&quot;&gt; &lt;b data-index-in-node=&quot;147&quot; data-path-to-node=&quot;38,0&quot;&gt;멋쟁이사자처럼 그로스 마케팅 부트캠프&lt;/b&gt; 덕분이었습니다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size16&quot;&gt;데이터 기반의 진짜 '그로스'를 만들어내고 싶다면 제가 몰입하고 있는 이 여정에 함께 참여해 보세요!  &lt;/p&gt;
&lt;p data-path-to-node=&quot;38,0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;27,0&quot;&gt;  데이터로 증명하는 그로스 마케터가 되고 싶다면?&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-path-to-node=&quot;38,1&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #e1e1e1; border-radius: 12px; padding: 30px; text-align: center; background-color: #f9f9f9; margin: 20px 0; font-family: 'Pretendard', sans-serif;&quot;&gt;
&lt;h3 style=&quot;margin-top: 0; color: #333; font-size: 1.4em;&quot; data-ke-size=&quot;size23&quot;&gt;  내 성장의 기회, 멋쟁이사자처럼&lt;/h3&gt;
&lt;p style=&quot;color: #666; font-size: 1em; margin-bottom: 25px;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석부터 마케팅 자동화까지, 현업 중심 실무 역량 강화&lt;/p&gt;
&lt;a style=&quot;background-color: #ff8e00; color: white; padding: 12px 30px; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 1.1em; transition: 0.3s; display: inline-block;&quot; href=&quot;https://bootcamp.likelion.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; 나에게 맞는 실무 커리큘럼 확인하기 &amp;rarr; &lt;/a&gt;&lt;/div&gt;</description>
      <category>그로스 마케팅/학습 기록</category>
      <category>그로스 마케팅</category>
      <category>마케터</category>
      <category>멋사 부트캠프</category>
      <category>멋쟁이 사자처럼 후기</category>
      <category>웹 크롤링</category>
      <category>파이썬</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/24</guid>
      <comments>https://blogger49705.tistory.com/24#entry24comment</comments>
      <pubDate>Tue, 9 Jun 2026 17:23:18 +0900</pubDate>
    </item>
    <item>
      <title>웹 크롤링이란? | 마케터를 위한 Python 웹 크롤링 기초 #4 [멋쟁이사자처럼 부트캠프 그로스 마케팅 5기 day 18]</title>
      <link>https://blogger49705.tistory.com/23</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이번&amp;nbsp;강의에서는&amp;nbsp;셀레니움&amp;nbsp;기반&amp;nbsp;동적&amp;nbsp;크롤링을&amp;nbsp;두&amp;nbsp;사이트에&amp;nbsp;적용하며,&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;요소&amp;nbsp;선택&amp;nbsp;전략과&amp;nbsp;자동화&amp;nbsp;흐름을&amp;nbsp;완성하는&amp;nbsp;방법을&amp;nbsp;다뤘습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;셀레니움 동적 크롤링이란?&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 사용자의 조작(스크롤, 버튼 클릭, 로그인 등)이나 브라우저 내부의 비동기 통신(Ajax/JavaScript)을 통해 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;94&quot; data-path-to-node=&quot;0&quot;&gt;실시간으로 데이터가 변하고 나타나는 웹 페이지를 수집하는 기술&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 동적 크롤링이 작동하는 단계&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;3&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 브라우저 객체 생성 (WebDriver 초기화)&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;4&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;컴퓨터 메모리에 파이썬 코드로 제어 가능한 가상 크롬 브라우저 프로세스를 구동함.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;화면 해상도나 반응형 웹 UI 변화에 따른 데이터 누락을 방지하기 위해 창 크기를 최대화&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;from selenium import webdriver as wb
driver = wb.Chrome()
driver.maximize_window()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;6&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 동적 제어 및 이벤트 발생&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;7&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;driver.get() 메서드로 목적지 URL에 접속한 후 웹 로딩을 대기함.&lt;/li&gt;
&lt;li&gt;클릭(.click()), 키 입력(.send_keys()), 스크롤 다운 등의 액션을 수행하여 숨겨진 JavaScript 데이터를 화면 DOM(Document Object Model)에 강제로 노출시킴.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwizvoLP1feUAxUAAAAAHQAAAAAQqwM&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;driver.get(&quot;URL&quot;)
btn = driver.find_element(By.CSS_SELECTOR, &quot;선택자&quot;)
btn.click()&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-path-to-node=&quot;9&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. HTML DOM 요소 타겟팅 (Element 검색)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;10&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;화면에 렌더링된 HTML 문서 내에서 수집 타겟의 정확한 위치를 CSS 선택자 기반으로 탐색함.&lt;/li&gt;
&lt;li&gt;단건 수집은 find_element(), 다건 목록 수집은 find_elements() 메서드를 명확히 구분하여 리스트 객체로 반환받음.&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwizvoLP1feUAxUAAAAAHQAAAAAQrAM&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;ini&quot;&gt;&lt;code&gt;# 다건 데이터(상품 목록 등)를 리스트 형태로 타겟팅
items = driver.find_elements(By.CSS_SELECTOR, &quot;div.container &amp;gt; ul.list&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;실습1. 파이썬 예외 처리 문법 (try-except)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,0,0&quot;&gt;정의&lt;/b&gt;: 코드가 정상적으로 작동할 때(try)와 예외적 에러가 발생할 때(except)를 분리하여 프로그램의 흐름을 제어하는 파이썬의 필수 문법&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,1,0&quot;&gt;실습 적용 배경&lt;/b&gt;: 동적 웹 페이지는 데이터의 양이 가변적이며, '더보기' 버튼이 몇 번이나 존재할지 예측이 불가능&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;6,2,0&quot;&gt;기술적 원리&lt;/b&gt;: while True 무한 루프를 통해 버튼을 계속 클릭하다가, 마지막 페이지에서 버튼을 찾지 못해 에러(NoSuchElementException)가 발생하는 시점을 '수집 완료 신호'로 처리함. 프로그램이 멈추는 대신 except 구문으로 우회시켜 안전하게 하단 데이터 수집 코드로 연결하는 것이 본 실습의 핵심 목표&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# 1. 브라우저 실행 및 한솥도시락 메뉴 페이지 접속
driver = wb.Chrome()
driver.get(&quot;https://www.hsd.co.kr/menu/menu_list&quot;)
driver.maximize_window()  # 반응형 웹 UI 고정을 위한 창 최대화
time.sleep(2)

# 2. [실습 핵심] 예외 처리를 활용한 '더보기' 버튼 무한 클릭
try:
    while True:
        # 페이지 하단의 더보기 버튼 지정
        btn = driver.find_element(By.CSS_SELECTOR, &quot;a.c_05&quot;)
        btn.click()
        
        # 데이터 로딩 시간 확보 및 디도스 차단 방지용 대기
        time.sleep(2)
except Exception:
    # 더 이상 누를 버튼이 없으면 에러를 발생시키고 안전하게 루프 탈출
    print(&quot;더보기 버튼이 더이상 없네요 ㅠ_ㅠ 그래도 코드는 에러없이 이어서 동작합니다!&quot;)

# 3. 모든 데이터가 확장된 후 HTML 요소 수집 (타겟팅)
titles = driver.find_elements(By.CSS_SELECTOR, &quot;h4.h.fz_03&quot;)              # 메뉴명 태그
prices = driver.find_elements(By.CSS_SELECTOR, &quot;div.item-price &amp;gt; strong&quot;)  # 정교화된 가격 태그

titles_list, prices_list = [], []

# 4. 반복문과 tqdm을 활용한 순수 텍스트 추출 및 정제
for i in tqdm(range(len(titles))):
    titles_list.append(titles[i].text)
    prices_list.append(prices[i].text + &quot;원&quot;)

print(&quot;크롤링 완료!!!&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;실습2. 뉴발란스 상위4개의 품목들의 정보 수집&lt;/b&gt;&lt;/h3&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;for i in tqdm(range(4)) :
    imgs = driver.find_elements(By.CSS_SELECTOR, &quot;div.pro_thumbNail img.img_goods&quot;)
    imgs[i].click()
    time.sleep(3)

    items = driver.find_element(By.CSS_SELECTOR, &quot;#displayName&quot;)
   score = driver.find_element(By.CSS_SELECTOR, &quot;div.crema_product_reviews_score__container&quot;)
    size = driver.find_elements(By.CSS_SELECTOR, &quot;#optSizeSection &amp;gt; ul.items &amp;gt; li &amp;gt; input&quot;)
    
    enabled_size, disabled_size = [], []
    
    for j in size :
        input_id = j.get_attribute(&quot;id&quot;)
    
        # label 태그의 for 속성에 접근
        label = driver.find_element(By.CSS_SELECTOR, f'label[for=&quot;{input_id}&quot;]')
        label_text = label.text.strip()   # 사이즈에 대한 텍스트만 추출
    
        # disabled가 없다면 None이므로 아래 조건문에서 False가 됨
        is_disabled = j.get_attribute(&quot;disabled&quot;)
    
        if is_disabled :
            disabled_size.append(label_text)
        else :
            enabled_size.append(label_text)
    
    foot_width = driver.find_element(By.CSS_SELECTOR, &quot;#optWidthSection &amp;gt; ul.items &amp;gt; li &amp;gt; label&quot;)
    cnt_reviews = driver.find_element(By.CSS_SELECTOR, &quot;a.crema-product-reviews-count.crema-applied&quot;)

    print(title.text + &quot; - &quot; + mean_rating.text + &quot; - &quot; + foot_width.text + &quot; - &quot; + cnt_reviews.text[1:-1]+&quot;개&quot;)
    print(&quot;구매가능 사이즈 :&quot;, enabled_size)

    driver.back()
    time.sleep(3)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-path-to-node=&quot;27,0&quot; data-index-in-node=&quot;0&quot;&gt;  데이터로 증명하는 그로스 마케터가 되고 싶다면?&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #e1e1e1; border-radius: 12px; padding: 30px; text-align: center; background-color: #f9f9f9; margin: 20px 0; font-family: 'Pretendard', sans-serif;&quot;&gt;
&lt;h3 style=&quot;margin-top: 0; color: #333; font-size: 1.4em;&quot; data-ke-size=&quot;size23&quot;&gt;  내 성장의 기회, 멋쟁이사자처럼&lt;/h3&gt;
&lt;p style=&quot;color: #666; font-size: 1em; margin-bottom: 25px;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석부터 마케팅 자동화까지, 현업 중심 실무 역량 강화&lt;/p&gt;
&lt;a style=&quot;background-color: #ff8e00; color: white; padding: 12px 30px; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 1.1em; transition: 0.3s; display: inline-block;&quot; href=&quot;https://bootcamp.likelion.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; 나에게 맞는 실무 커리큘럼 확인하기 &amp;rarr; &lt;/a&gt;&lt;/div&gt;</description>
      <category>그로스 마케팅/학습 기록</category>
      <category>그로스 마케팅</category>
      <category>동적 크롤링</category>
      <category>마케팅</category>
      <category>멋쟁이 사자처럼 후기</category>
      <category>부트캠프</category>
      <category>웹 크롤링</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/23</guid>
      <comments>https://blogger49705.tistory.com/23#entry23comment</comments>
      <pubDate>Mon, 8 Jun 2026 22:40:20 +0900</pubDate>
    </item>
    <item>
      <title>웹 크롤링이란? | 마케터를 위한 Python 웹 크롤링 기초 #3 [멋쟁이사자처럼 부트캠프 그로스 마케팅 5기 day 17]</title>
      <link>https://blogger49705.tistory.com/22</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 지난 시간 데이터프레임화와 크롤링 응용 실습에 이어, &lt;br /&gt;이번에는 한 단계 더 나아가 보았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 네이버 블로그 데이터를 직접 수집해 함수(Function)로 자동화하고, &lt;br /&gt;Selenium을 활용해 동적 페이지까지 제어해 본 것인데요.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 단순히 데이터를 긁어오는 수준을 넘어, 실제 마케팅 실무에 즉시 투입할 수 있는 &lt;br /&gt;크롤링 파이프라인의 기초를 탄탄히 경험할 수 있었던 시간이었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-path-to-node=&quot;14&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실습 1. Requests &amp;amp; BeautifulSoup으로 정적 데이터 수집하기&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_ad5cba889af84a60-69&quot; data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;첫 번째 실습에서는 네이버 검색 결과에 노출되는 블로그 목록 데이터를 수집해 보았습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 특정 키워드를 검색했을 때 나오는 &lt;b data-index-in-node=&quot;21&quot; data-path-to-node=&quot;15,2&quot;&gt;블로그 제목, 블로거명, 게시일&lt;/b&gt; 정보를 자동으로 긁어와 구조화하는 작업입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;p-rc_ad5cba889af84a60-70&quot; data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;먼저 requests 라이브러리를 사용해 웹페이지에 접속하고 HTML 데이터를 요청합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;16&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwizprKdivWUAxUAAAAAHQAAAAAQxAs&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;haskell&quot;&gt;&lt;code&gt;import pandas as pd
import requests as req
from bs4 import BeautifulSoup as bs

# 서비스 차단 방지를 위한 User-Agent 설정
U_A = {
    &quot;User-Agent&quot;: &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36&quot;
}

keyword = &quot;현대자동차&quot;
url = f&quot;https://search.naver.com/search.naver?ssc=tab.blog.all&amp;amp;sm=tab_jum&amp;amp;query={keyword}&quot;

# 1. 페이지 데이터 요청
res = req.get(url, headers=U_A)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_ad5cba889af84a60-71&quot; data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;요청이 정상적으로 완료(Response [200])되면 서버는 HTML 문서를 반환합니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 문서를 BeautifulSoup을 통해 파싱하여 파이썬이 이해할 수 있는 구조로 분석합니다&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwizprKdivWUAxUAAAAAHQAAAAAQxgs&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;ini&quot;&gt;&lt;code&gt;# 2. BeautifulSoup으로 HTML 구조 분석
soup = bs(res.text, &quot;lxml&quot;)

# 3. CSS 선택자를 이용하여 원하는 데이터 영역만 select
title = soup.select(&quot;span.sds-comps-text.sds-comps-text-ellipsis.sds-comps-text-ellipsis-1.sds-comps-text-type-headline1.sds-comps-text-weight-sm&quot;)
bloger = soup.select(&quot;a.fender-ui_228e3bd1.fender-ui_475445f0 &amp;gt; span.sds-comps-text.sds-comps-text-ellipsis.sds-comps-text-ellipsis-1&quot;)
posted = soup.select(&quot;span.sds-comps-text.sds-comps-text-type-body2.sds-comps-text-weight-sm.sds-comps-profile-info-subtext&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_ad5cba889af84a60-72&quot; data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;추출한 데이터는 리스트에 차곡차곡 담아 마케터에게 가장 친숙한 엑셀 형태의 탭 데이터인 Pandas 데이터프레임(DataFrame)으로 변환해 줍니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwizprKdivWUAxUAAAAAHQAAAAAQyAs&quot; data-hveid=&quot;0&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;armasm&quot;&gt;&lt;code&gt;title_list, bloger_list, posted_list = [], [], []

for i in range(len(title)):
    title_list.append(title[i].text.strip())
    bloger_list.append(bloger[i].text.strip())
    posted_list.append(posted[i].text.strip())

# 데이터프레임 구축
blog_dic = {&quot;타이틀&quot;: title_list, &quot;블로거&quot;: bloger_list, &quot;게시일&quot;: posted_list}
blog_df = pd.DataFrame(blog_dic, index=range(1, len(title_list) + 1))
blog_df.index.name = &quot;No.&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실무 생산성을 높이는 팁: '함수화(Function)'&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p id=&quot;p-rc_ad5cba889af84a60-73&quot; data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;특정 키워드 하나만 긁어오고 끝내면 크롤링의 매력이 떨어집니다. 코드를 함수(Function)로 묶어두면, 아래와 같이 키워드만 쏙쏙 바꿔가며 무한히 재사용할 수 있습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;23&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwizprKdivWUAxUAAAAAHQAAAAAQygs&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;erlang&quot;&gt;&lt;code&gt;# 함수로 정의해두면 한 줄로 크롤링 끝!
blog_list_crawling(&quot;트럼프&quot;)
blog_list_crawling(&quot;AI&quot;)
blog_list_crawling(&quot;그로스마케팅&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_ad5cba889af84a60-74&quot; data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;매일 아침 출근해서 정기적으로 시장 콘텐츠 트렌드를 모니터링해야 하는 마케터에게는&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 눈이 번쩍 뜨일 만한 효율성 리테이닝 팁이었습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;25&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&lt;span&gt;Requests의 한계와 Selenium의 필요성&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;하지만 모든 웹사이트가 이렇게 쉽게 데이터를 제공하는 것은 아닙니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;최근 많은 서비스는 사용자의 행동에 따라 데이터를 불러오는 동적 페이지 구조를 사용합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예를 들어&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-spread=&quot;false&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;무한 스크롤&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실시간 검색 결과&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;로그인 후 확인 가능한 페이지&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;버튼 클릭 후 노출되는 데이터&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;등은 단순 HTML 요청만으로 수집하기 어렵습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #0d0d0d; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-path-to-node=&quot;14&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;실습 2. &lt;/span&gt;&lt;span&gt;Selenium으로 브라우저 직접 제어하기&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_ad5cba889af84a60-80&quot; data-path-to-node=&quot;32&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Selenium을 활용하면 실제 사람이 브라우저를 켜고 마우스를 움직이는 듯한 모든 행동을 코드로 완벽하게 모방할 수 있습니다&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;32&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ved=&quot;0CAAQhtANahgKEwizprKdivWUAxUAAAAAHQAAAAAQ0gs&quot; data-hveid=&quot;0&quot;&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;from selenium import webdriver as wb
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

driver = wb.Chrome()
driver.get(&quot;https://www.naver.com&quot;)

# 검색창을 찾아 원하는 키워드 입력하기
search = driver.find_element(By.CSS_SELECTOR, &quot;#query&quot;)
search.send_keys(&quot;쿼카&quot;)

# 엔터 키를 누르거나 돋보기 버튼 직접 클릭하기
search.send_keys(Keys.ENTER) 
# 또는 btn.click() 사용 가능

# 페이지 맨 밑으로 스크롤 끝까지 내리기 (무한 스크롤 뚫기)
body = driver.find_element(By.TAG_NAME, &quot;body&quot;)
body.send_keys(Keys.END)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;36&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;37&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;37&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;오늘 배운 기술을 기반으로 제가 실무에 바로 적용해보고 싶은 시나리오는 역시&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;37&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; '그로스 마케터 역량 트렌드 분석'입니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;38&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;원티드(Wanted)나 사람인에 등록된 '그로스 마케터' 채용공고 수백 건을 &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;38&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;크롤링으로 한 번에 수집한 뒤 텍스트 분석을 진행해 보는 것입니다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;38&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;39&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;39,0,0&quot;&gt;SQL&lt;/b&gt; 단어가 언급된 공고의 비율은 몇 %인가?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;39,1,0&quot;&gt;GA4&lt;/b&gt; 활용 역량을 필수 조건으로 건 기업은 얼마나 되는가?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #000000;&quot;&gt;CRM 마케팅 툴( Braze, Solapi 등) 중 어떤 솔루션 우대 성향이 높은가?&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;40&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이러한 정량적인 통계 지표를 손에 쥐게 된다면, &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;40&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;막연한 추측이 아니라 &lt;b data-index-in-node=&quot;39&quot; data-path-to-node=&quot;40&quot;&gt;진짜 시장 데이터에 기반한 커리어 로드맵&lt;/b&gt;을 설계할 수 있게 됩니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;40&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;경쟁사 채널 분석이나 업계 모니터링 역시 훨씬 더 과학적인 접근이 가능해지겠죠.&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;40&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-path-to-node=&quot;44&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;27,0&quot;&gt;  데이터로 증명하는 그로스 마케터가 되고 싶다면?&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #e1e1e1; border-radius: 12px; padding: 30px; text-align: center; background-color: #f9f9f9; margin: 20px 0; font-family: 'Pretendard', sans-serif;&quot;&gt;
&lt;h3 style=&quot;margin-top: 0; color: #333; font-size: 1.4em;&quot; data-ke-size=&quot;size23&quot;&gt;  내 성장의 기회, 멋쟁이사자처럼&lt;/h3&gt;
&lt;p style=&quot;color: #666; font-size: 1em; margin-bottom: 25px;&quot; data-ke-size=&quot;size16&quot;&gt;데이터 분석부터 마케팅 자동화까지, 현업 중심 실무 역량 강화&lt;/p&gt;
&lt;a style=&quot;background-color: #ff8e00; color: white; padding: 12px 30px; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 1.1em; transition: 0.3s; display: inline-block;&quot; href=&quot;https://bootcamp.likelion.net/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt; 나에게 맞는 실무 커리큘럼 확인하기 &amp;rarr; &lt;/a&gt;&lt;/div&gt;</description>
      <category>그로스 마케팅/학습 기록</category>
      <category>그로스 마케팅</category>
      <category>마케팅</category>
      <category>멋쟁이 사자처럼 부트캠프</category>
      <category>부트캠프</category>
      <category>웹 크롤링</category>
      <category>파이썬</category>
      <author>shushu26</author>
      <guid isPermaLink="true">https://blogger49705.tistory.com/22</guid>
      <comments>https://blogger49705.tistory.com/22#entry22comment</comments>
      <pubDate>Sun, 7 Jun 2026 23:02:03 +0900</pubDate>
    </item>
  </channel>
</rss>