비즈니스 모델 설계하기

비즈니스 모델이란

비즈니스 모델이란 기업이 수익을 내며 생존해 나가기 위한 목적으로 사업을 수행하는 방식을 의미하며 기업이 가치사슬상에서 어느 위치에 속하는가를 명시함으로써 매출을 발생시킬 수 있는 방법을 보여줄 수가 있다.
비즈니스 모델에는 사업 참여자들 사이의 역할 및 관계(기업의 고객들과 협력사들과 공급사들 간의 역할 및 관계), 제품과 정보와 자금의 주요 흐름, 그리고 참여자들에게 제공되는 주요 효익의 내용이 담겨야 한다.
비즈니스 모델이란 압축적이고 상세한 내용을 담을 필요가 없으며, 만약 문서 형태로 작성이 된다면 대표와 직원들이 머리로 기억할 수 있을 정도로 충분히 작은 개념으로 존재해야 한다.
이는 한 페이지면 족하며, 여러 마디의 말보다는 하나의 그림으로 표현되는 것이 적합할 것이다.

비즈니스 모델

비즈니스 모델은 가치명제, 제품/서비스, 자원 시스템, 수익 모델 의 네 가지 구성요소로 이루어진다.

가치명제(Value Proposition)

가치명제란 타겟 고객군과 주요 경쟁기업이 누구인지, 그리고 회사 제품이 경쟁사 제품과 어떤 점이 고유하게 다른지와 그 근거를 보여주는 요약문이다.

가치 명제 선택을 위해 가장 먼저 해야 할 일은 타겟 고객계층 을 선택하는 것 인데, 여기서 핵심적인 두가지는 바로 시장 매력도시장 내 경쟁력 이다.

먼저 시장의 매력도 란 시장의 규모 및 성장률을 분석하고, 아직 충족되지 못한 고객의 니즈가 있는지를 파악하며, 만약 시장에 경쟁자가 있는지 또 그 경쟁사의 역량이 출중한지 혹은 그렇지 않은지에 관한 문제를 고려하여 측정할 수 있다. 기업의 시장 내 경쟁능력 은 고객 가치를 뒷받침할 만한 기업의 비즈니스 핵심능력이 경쟁사에 비해 얼마나 우수한지를 고려함으로써 평가할 수 있다.

다음은 주요 고객 가치 를 선택하는 것이다.
일반적으로 오프라인 마케팅 에서는 한 두 개의 핵심 고객가치를 제공하는 데 주력해야 한다.
예를 들어 ‘볼보 자동차’는 ‘안전’이라는 가치를 내세우고 있으며, ‘사우스웨스트 항공사’는 ‘편의성과 저가’의 가치를 내걸고 있다.
만약 위 두 회사가 이러한 고유한 가치를 어필하는 대신에 상충되는 두 가치 예를 들면 ‘최고급 저가 항공’ 등의 가치를 내세우게 되면 두 가지 모두를 충족시키기가 어려워 결국 두 부문에서 중간에 머무르게 되어 훌륭한 비즈니스가 될 수 없을 것이다.

다음은 독특한 차별적 능력 을 선택하는 것이다.
이것은 하나 혹은 여러개의 고객가치를 경쟁사보다 훨씬 더 탁월하게 제공할 수 있는 방법의 개발인데, 이는 기업의 외부 보다는 기업 내부 및 협력사 관련 요인들과 관련이 깊다.
회사가 정말 할 수 잘 하는 분야 그리고 약한 분야를 정확히 파악하고 기업의 핵심 능력 이 무엇이며 이것을 어떻게 활용할 것인지를 고민해야 한다.
여기서 가장 중요한 점은 핵심능력이 가치명제를 구성하는 주요 고객가치와 직접적으로 연관이 되어있는지의 여부이다. 주요 고객가치를 제공하는 데 기여를 하지 못하는 핵심 능력은 쓸모가 없다

수익 모델

수익 모델이란 기업이 비즈니스를 통해 수입을 발생시키고, 이윤을 내며, 또 투자자본에 대해 높은 수익을 낼 수 있는 방법을 뜻하며 다음과 같은 종류의 수익모델이 존재한다.

광고 수익모델
트래픽이 많은 특정 사이트에서 배너 등 광고를 게재하거나 사이트 후원업체 지정을 통해 광고수입을 발생시킬 수 있는 모델

판매 수익모델
웹사이트에 온라인 카탈로그를 구축하고 주문을 온라인으로 받아 판매
ex) 아마존 닷컴, 롯데 닷컴, 인터파크몰

거래 수수료 수익모델
고객-판매자 간의 거래를 촉진시키는 대가로 수수료 부과
ex) 이베이

온라인 구독료 수익모델
온라인 컨텐츠를 구매한 고객으로부터 받는 구독료

제휴관계 수익모델
트래픽이 많이 몰리는 사이트를 방문한 고객들이 제휴관계에 있는 제3자 업체 사이트에서 구매하도록 유인하고 소개 수수료를 받는 모델로 일반적으로 매출이 실제로 발생한 경우에 한해서만 거래금액의 일정 퍼센티지에 해당하는 수수료를 받게 된다.

이비즈니스 모델의 분류 틀

이비즈니스 모델의 분류


python 다운로드

파이썬을 다운로드 한다.
다운로드 하기

여기서 유의할 점은 아직 tensorflow는 python 3.5까지 밖에 지원하지 않는다는 점이다.
그리고 반드시! 64bit 버전을 설치해야 한다.

python 환경변수 추가 하기

시스템 환경변수에 python을 추가한다.
시스템속성-환경변수의
path에 python 설치경로를 추가한다.

또, PYTHONPATH란 이름으로 python의 lib 폴더 디렉토리를 환경변수로 추가한다.

환경변수 이미지

pip 사용을 위해 환경변수 추가하기

시스템속성-환경변수의 path에
에서 python의 script폴더를 추가해준다.

pip 설치하기

파이썬의 다양한 라이브러리를 이용하기 위한 패키지 매니저인 pip을 설치한다.

1
sudo apt-get install python3-pip

GPIO의 활용

General Purpose Input Output 단자를 활용하기 위한 패키지를 설치한다.

1
sudo apt-get install python-rpi.gpio python3-rpi.gpio

통신을 위한 requests 라이브러리

1
pip3 install requests

python-picamera

파이썬 카메라 설치
sudo apt-get install python-picamera

파이 카메라 기본 활용 코드

1
2
3
4
5
6
7
8
import time
import picamera

with picamera.PiCamera() as camera:
camera.start_preview()
time.sleep(5)
camera.capture('/home/pi/Desktop/image.jpg')
camera.stop_preview()

파이 카메라의 활용 링크

pytesseract

설치

1
2
3
4
5
6
7
8
9
pip install --upgrade pip

pip install wheel

sudo apt-get install python-opencv

Sudp apt install tesseract-ocr

Pip install pytesseract

webbrowser

웹 브라우저 열기

1
2
import webbrowser
webbrowser.open("http://www.naver.com")

time

os

파일 시스템의 파일 목록 받아오기

1
os.listdir()

파일 시스템의 이름 바꾸기

1
os.rename(src,destination)

turtle

개요

윈도우에서 그림을 그리는 라이브러리

example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import turtle
der draw_square():
window=turtle.Screen()
window.bgcolor("red")

brad=turtle.Turtle()
brad.shape("turtle");
brad.color("yellow");
brad.speed(2)

brad.forward(100)
brad.right(90)
brad.forward(100)
brad.right(90)
brad.forward(100)
brad.right(90)
brad.forward(100)
brad.right(90)

window.exitonclick()
draw_square()

class

기본 구조

상속

1
2
3
4
5
6
7
8
9
10
class Parent():
def __init__(self, last_name, eye_color):
print("Parent Constructor called");
self.last_name=last_name
self.eye_color=eye_color

class Child(Parent):
def __init__(self, last_name, eye_color):
Parent.__init__(self,last_name,eye_color)
self.number_of_toys=number_of_toys

explicit programming 의 한계와 인공지능의 대두

흔히 말하는 explicit programming 이란 사람이 생각한 다양한 방법들을 단순히 프로그램으로 옮기는 작업이다.
예를 들어 주식 시장의 주식을 판매를 할것인가의 하는 문제를 프로그램 적으로 해결을 할 때에, 국가의 GDP가 높아지면 주식의 판매하는 것이 바람직하다는 가정을 토대로 프로그램을 만들 수 있다. 이러한 판단이 옳을 수도 있지만 주식시장이라는 거대한 복합체를 판단하기에는 너무나 많은 다양한 변수들이 존재하기 때문에 이것을 프로그램화 시키는 것은 불가능한 수준에 가까웠다.
즉, 흔한 일상 생활에도 상당히 복잡한 상황들이 많이 발생하고 이것을 논리를 기반으로 한 프로그램으로 만들기 어려운 문제가 발생하게 되었고, 과학자들은 사람들이 정보를 학습할때 입력과 결과의 합, 즉 경험을 통해 학습을 진행하는 것을 모티브로 컴퓨터돠 수많은 입력과 출력의 쌍으로 어떤 상황에 대한 판단능력을 기를 수 있고, 또 보다 지능적인 프로그램을 만들 수 있지 않을 까 하는 생각을 하게 되었고, 그것이 인공 지능의 시초이다.

인공지능을 위해서는 다양한 입력과 결과를 토대로 학습을 진행하여야 하는데, 데이터의 종류를 알고 학습을 하는가 혹은 모르고 학습을 하는가에 따라 supervised learning 과 unsupervised learning으로 나누어 지게 된다.

supervised learning

데이터가 무엇인지 가르쳐 주고 학습을 진행한다. 즉 labeled data를 가지고 학습을 하는 학습방법이며 결과값의 범위에 따라 다음과 같은 종류가 있다.

  1. regression
    예를들어 시험 성적의 값을 알고 싶은 경우 예를 들어 범위가 매우 넓은 경우

  2. binary classification
    결과가 둘중 하나인 경우

  1. multi-label classification

결과가 몇가지 케이스가 있는 경우

unsupervised learning

un-labeled data를 가지고 학습한다.
그룹핑이나 클러스터링을 주로 한다.

tensorflow 설치

1
pip install upgrade tensorflow

예제

1
2
3
4
5
6
7
8
9
10
11
12
import tensorflow as tf



hello = tf.constant('Hello, TensorFlow!')
//여기서 constant는 하나의 노드, 오퍼레이션을 의미한다
//예를 들어 print(hello)를 출력하면 이상한 값이 나온다.

sess = tf.Session()


print sess.run(hello) //실행을 시키는 부분이다.

placeholder

1
2
3
4
5
6
7
8
9
10
//a와 b의 자료형을 지정해 주어 뒤에서 사용할 수 있게 한다.
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)

add = tf.add(a,b)
mul = tf.mul(a,b)

with tf.Session() ass sess:
print "Addition with variables: %i" % sess.run(add, feed_dict={a: 2, b:3}) //a와 b에 값을 넘겨줄 수 있다.
print "Multiplication with variables: %i" % sess.run(mul, feed_dict={a: 2, b:3}) //a와 b에 값을 넘겨줄 수 있다.

data flow graph

edge와 node 로 구성된 data flow graph는 다음과 같은 의미를 가진다.

node는 수학적 계산을 하는 operation의 의미를 가지며 edge는 데이터가 흘러들어감을 보여주는 연결선이다.
이러한 데이터는 data array와 같은 형태를 가지는데 이를 다른 말로는 tensor 라는 말로도 부른다.
tensorflow란 말은 이러한 데이터의 흐름을 의미한다.

이러한 node들은 꼭 동일한 cpu 혹은 gpu안에 존재하지 않아도 되고 분산되어 존재하면서 병렬연산이 가능하기에 매우 강력하다.
많은 컴퓨터들을 컴퓨터 자원을 통합해서 계산이 가능해진 것이다

data flow graph


hmr 이란?

Hot Module Replacement의 약자로 모듈의 변경사항을 실시간으로 어플리케이션에 반영한다.

angular에 environment 추가하기

environment.hmr.ts 파일 만들기

1
2
3
4
export const environment = {
production: false,
hmr: true
};

src/environments/environment.prod.ts 수정하기

1
2
3
4
export const environment = {
production: true,
hmr: false
};

src/environments/environment.ts 수정하기

1
2
3
4
export const environment = {
production: false,
hmr: false
};

angular-cli.json 수정하기

1
2
3
4
5
6
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"hmr": "environments/environment.hmr.ts",
"prod": "environments/environment.prod.ts"
},

package.json 수정하기

1
2
3
4
5
6
7
8
"scripts": {
"start": "ng serve",
"hmr": "ng serve --hmr -e=hmr",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test",
"pree2e": "webdriver-manager update",
"e2e": "protractor"
}

npm run hmr 명령어를 통해 environment를 적용할 수 있다.

hmr 모듈 import 하기

1
npm install --save-dev @angularclass/hmr

src/hmr.ts 생성하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { NgModuleRef, ApplicationRef } from '@angular/core';
import { createNewHosts } from '@angularclass/hmr';

export const hmrBootstrap = (module: any, bootstrap: () => Promise<NgModuleRef<any>>) => {
let ngModule: NgModuleRef<any>;
module.hot.accept();
bootstrap().then(mod => ngModule = mod);
module.hot.dispose(() => {
const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef);
const elements = appRef.components.map(c => c.location.nativeElement);
const makeVisible = createNewHosts(elements);
ngModule.destroy();
makeVisible();
});
};

src/main.ts 수정하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

import { hmrBootstrap } from './hmr';

if (environment.production) {
enableProdMode();
}

const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);

if (environment.hmr) {
if (module[ 'hot' ]) {
hmrBootstrap(module, bootstrap);
} else {
console.error('HMR is not enabled for webpack-dev-server!');
console.log('Are you using the --hmr flag for ng serve?');
}
} else {
bootstrap();
}

새로운 환경 반영하기

1
npm run hmr

출처


마케팅의 기본

온라인 마케팅은 무엇이며 무엇을 목표로 하는가

마케팅의 핵심적인 목적은 고객의 요구사항을 찾아내고 예측하여 이를 충족시켜 줌으로써 강한 고객관계를 구축하는 것이다.
이는 마케팅이 단지 단기적인 매출을 올리는데에 초점을 맞추지 말고 장기적인 관점에서 고객이 정말 원하는 것이 무엇인지 끊임없이 고민하고 그것을 체워주는 것이 훌륭한 마케팅임을 말해준다.
이러한 마케팅에서 고려해야 할 주요 변수는 가격, 프로모션, 장소, 제품 이며, 고객이 원하는 것을 명확하게 이해하기 위해 타겟이 되는 고객의 특성을 이해하는 것이 마케팅의 주요 성공요인 이라 할 수 있다.

마케팅 계획의 수립

마케팅의 계획 수립은 크게 수요 분석, 경쟁사 분석, 마케팅 믹스 개발, 브랜딩 으로 이루어 진다.
여기서 수요 및 경쟁사 분석 은 표적 시장에 대한 전략을 개발하고 구현하는 기초가 되며, 마케팅 믹스 는 표적 시장을 선정하는 데 이용되는 전술이다. 마지막으로 브랜딩 은 표적시장을 대상으로 제품이나 서비스의 인지도를 강화하는 중요한 요소이다.

수요 분석

수요분석에 있어 핵심적인 사항은 먼저 제품의 표적 고객군을 규명 하는 것이다. 우리의 고객을 팔고자 하는 구체적인 타겟이 명확하게 정해지는 것은 사실 사업 이전에 시장에 대한 충분한 조사가 있었다면 이미 정해져 있을 것이다. 만약, 마케팅 전략을 수립하는 과정에서 타겟으로 하는 고객을 다시금 재고해야 할 필요가 있다면 여기서 명확한 타겟 고객을 설정해야 한다. 가령 AirBnb의 경우 타겟 고객군은 미국 내에서 몇 일 이내로 여행을 간 경우 호텔이 다 차서 묵을 곳을 구하는 고객이라는 매우 niche한 target을 가지고 시작하여 점차 넓은 범위로 확장해 나가는 전략을 사용했다. 이 타겟고객은 기업의 가치명제를 통해 니즈를 명확하게 해결 해 줄 수 있는 고객군이어야 한다.

타겟고객이 정해졌다면, 해당 고객군이 어떻게 인터넷을 사용하는 지 에 대한 조사가 이루어 져야 한다. 가령 18~33세의 개인들은 스마트폰과 태블릿 PC 등을 많이 사용는 특성을 보인다던가 혹은 구체적으로 사무직 직장인이 타겟이라면 직장인의 경우 많은 시간 데스크톱에서 업무를 보므로 PC를 많이 사용한다는 조사를 수행할 수 있다.

마지막 단계는 마케팅 캠페인을 위해 어떤 온라인 플랫폼을 사용할 것인지를 결정 한다. 가령 18~33세의 연령대를 고객으로 확보하려는 경우 모바일 앱을 통한 마케팅을 진행할 수 있다는 선택을 할 수 있다.

보다 구체적인 수요 분석을 위해서 고객들이 인터넷과 얼마나 친숙하고 인터넷 내에서 제품이나 서비스를 구매할 것인가에 대한 고민과 만약 장애요인이 있다면 무엇인가에 대한 고민 또한 필요하다.

경쟁사 분석

경쟁사에 대해 잘 아는 것은 기업 전략 개발에 매우 중요하다. 경쟁사가 누구인지 또 그들이 공급하는 제품이나 서비스가 무엇이며 시장 점유율과 마케팅 전략이 무엇인지를 면밀히 분석하여 우리가 하려는 사업에 어떤 영향을 끼칠 것인가를 고민하여야 한다.
경쟁사에 대한 대부분의 정보는 공급사 및 경쟁사의 실제 고객에게서 수집될 수 있으며, 경쟁사의 웹사이트를 분석하면 값진 정보들을 얻어낼 수 있다.

경쟁사에 대한 넓은 범위에서의 조사를 마쳤다면 경쟁사의 주요 성공요인들을 분석하고 우리가 가진 강점과 약점을 면밀하게 분석 하여 경쟁사 프로파일링 을 진행한다. 고객가치는 경쟁사의 제품이나 서비스와 비교적으로 정의되어야 하는데, 경쟁사 프로파일링을 통해 경쟁사의 강점과 약점을 명확히 파악한다면 이를 통해 우리는 시장에서 고객에게 전달하는 탁월한 기업가치가 무엇인지 명확하게 정의하고 고객에게 어필할 수 있다. 이 프로필은 경장사의 활동 배경, 재정 상태, 제품/서비스, 시장, 시설, 인력, 전략 등을 깊이있게 서술하여야 한다.

마케팅 믹스 개발

마케팅 믹스란 기업이 목표시장에서 마케팅 목표를 달성하기 위해 사용하는 마케팅 도구들의 모음이며, 4P(Product, Pricing, Place, Promotion)라 부르는 마케팅의 의사결정을 하여야 한다.

먼저 _제품_ 은 최소한도의 성능을 제공하여야 한다. 최소한도의 성능이 제공되지 않는경우 다른 요소들이 우수하더라도 의미가 없다. 또한 브랜딩 을 통해 제품 자체가 가지는 고유한 마케팅 파워를 살리는 것이 좋다.
_가격_ 은 회사의 전반적인 비즈니스 계획과 연계되며 제품을 차별화 하고 이미지를 향상시키기 위한 수단이 된다. 적합한 가격 책정은 사업에 아주 중요한 요소일 뿐 아니라 마케팅에서의 경쟁력 혹은 약점이 될 수 있는 중요한 요소인 만큼 많은 마케팅 요소를 고려하여 합리적인 가격책정을 하여야 한다.
_장소_ 는 소비자의 시선을 끌며 구매하기가 쉽도록 좋은 유통 경로 혹은 장소를 차지하는 것이다. 많은 온라인 비즈니스의 경우 이러한 장소는 별도록 구축한 웹페이지가 되거나 혹은 온라인 경매 혹은 오픈 마켓 등이 이용된다. 하지만 대부분의 IT 서비스의 경우 제품이 홈페이지 내의 웹서비스인 경우가 많으므로 사실상 장소는 정해져 있다고 봐도 무방하다.
프로모션 프로모션은 제품이나 서비스를 소비자에게 알리고 권유하여 구매를 자극할 목적으로 수행하는 모든 활동을 의미한다. 어떤 방식의 프로모션을 진행할지를 정하는 것은 마케팅 전략의 매우 큰 부분을 차지한다. 광고, 구전, 보도자료, 인센티브, 커미션 등의 프로모션 요소들이 있다.

브랜딩

브랜드란 경쟁사의 제품과 구별하기 위해 부여하는 이름 혹은 용어 기호이다.
즉, 브랜딩이란 소비자에게 부가가치를 제공하거나 부가가치가 있다고 인지하는 브랜드들을 창조하고 개발하는 프로세스를 뜻한다.

제품에 이름을 부여함으로써 고객에게 제품이 무엇인지를 명확하게 알릴 수 있으며, 회사와 제품의 독특한 측면을 나타내고, 회사의 목표가 드러나며 지적 자산을 보호하는 데에 도움이 되어야 한다.
소비자가 수많은 제품들 사이에서 유의한 차이가 존재한다는 확신이 설 수 있어야 한다.
AirBnb의 경우 숙소의 개념을 아주 친숙한 ‘집’으로 변모시켜, 세계 어디에서나 자신의 집처럼 편안하고 현지인처럼 생활을 할 수 있다는 새로운 브랜딩을 하고 있다.

STP 마케팅

STP 마케팅은 표적 시장을 겨냥한 마케팅 계획을 수립하기 위한 3단계 접근방법으로 Segmentaion, Targeting, Positioning의 단계로 나누어 진다.
STP 전략은 고객의 욕구가 다양하다는 사실을 기반으로 많은 고객들을 세분하게 나누고 기업이 적합한 타겟 시장에 어떤 어프로치를 수행할 것인가를 결정한다.

먼저 시장 세분화 과정에서는 소비자를 최대한 디테일한 요소를 기반으로 세분화한다. 이 세분화의 항목은 인구 통계적 특성, 행동적 특성, 심리적 특성 과 같은 항목이 있다.
소비자들이 어떤 행동을 하고 어떤 라이프스타일을 가지며 주요 관심사와 행동적 특성을 분석함으로써 소비자들을 최대한 세분화 한다.

다음 단계인 표적시장 선정 단계에서는 세분화한 시장 중에서 기업이 제공할 수 있는 제품과 서비스에 제일 큰 공감을 일으킬 집단을 선정한다. 선정의 요소에는 많은 복합적인 요소들이 포함되는데 내가 목표로 하는 시장의 규모와 성장률 그리고 다른 경쟁사가 동일한 표적 시장을 대상으로 마케팅을 하고 있지는 않은지, 또 만약 완벽히 동일한 타겟 집단에 다른 경쟁자가 있다면 기업이 경쟁사를 상대로 내세울 수 있는 핵심적인 경쟁력은 무엇인지를 살펴 신중하게 표적시장을 선정한다.

마지막 단계인 포지셔닝 단계에서는 기업이 타겟 고객군의 마음에 어떻게 자리잡을 것인가에 대한 전략을 세운다. 만약 다른 경쟁사가 있다면 그 경쟁사와 차별화된 기업만의 고유한 가치를 어필할 수 있다. 이러한 포지셔닝 전략은 브랜드 이미지에도 큰 영향을 주는데 사용자의 요구사항을 완벽하게 이해하고 충족시켜 줄 수 있다는 이미지를 고객에게 심어주어야 하며 이는 마케팅에서 매우 중요하다. 가령 애플 컴퓨터의 경우 사용자 PC 이므로 IBM 등 다른 경쟁사에 비해 훨씬 사용자 친화적인 컴퓨터라는 점을 내세우며 고객에게 접근했고, 모든 마케팅 전략을 이런 포지셔닝에 집중한 결과 많은 사람들에게 친근한 컴퓨터라는 확고한 포지셔닝을 할 수 있었고, 막강한 브랜드 파워를 가지게 되었다.

온라인 마케팅의 방법들

바이럴 마케팅

가장 전통적이고 바람직한 마케팅 방법은 바이럴 마케팅 이다. 소비자들 스스로 제품이나 서비스의 가치에 공감하여 자발적으로 다른 사람들에게 홍보를 하도록 하는 것은 단순히 마케팅 역량을 넘어 사업 아이템의 성공을 가로짓는 요소이다. 계속해서 많은 광고비를 지출하는 방법은 어디까지나 돈으로 수요를 사는 마케팅 방안이기에 지속가능한 마케팅 방법이 아니며, 이처럼 많은 사람들이 자발적으로 기업의 제품과 서비스를 알리도록 하는 것은 기업의 초기 성공의 필수불가결한 요소이다.

가령 현대 사회에서의 바이럴 마케팅은 어떤 의미에서 SNS를 통한 활발한 공유 혹은 해쉬태그(#)를 사용한 주제별 커뮤니티 형성도 같은 맥락이다.
제품의 가치에 공감한 많은 사람들이 인종의 캠페인 활동 혹은 과시 및 정보전달의 목적으로 자발적으로 온라인 상으로 컨텐츠를 올리고 이러한 컨텐츠들은 제품의 인지도를 높이는 데에 아주 큰 기여를 한다.

일례로 AirBnb의 경우 #BelongAnyWhere, #LiveThere 등의 다양한 캠페인 활동을 통해 사람들이 대중 매체에서 흔히 볼 수 없는 이색적인 장소에 대한 호기심을 불러 일으키는 영상을 제잠함으로써 사람들이 그러한 장소에 머물고 싶은 욕구를 불러 일으키고 인지도를 높여 많은 사람들이 SNS를 통해서 스스로 컨텐츠를 퍼트리도록 유도한다.
때문에, AirBnb는 SNS상에서 사람들의 주의를 끌기 위한 수준 높은 사진 이미지 혹은 영상 컨텐츠에 각별한 주의를 기울이며 이는 큰 매출 증대 효과를 불러 일으켰다.

현대에는 이러한 바이럴 마케팅에 큰 역할을 하는 계층으로 인플루언서 의 예를 들 수 있다.
이러한 인플루언서들은 유투브, 페이스북 등의 다양한 대중 매체에서 대중을 위한 다양한 컨텐츠를 생산하는 계층으로 이들에 대한 높은 신뢰도가 이미 형성되어 있기 때문에, 해당 인플루언서가 제품을 이용하는 것을 알리는 것 만으로도 큰 마케팅 효과를 거둘 수 있다.
가령 AirBnb의 경우 탬즈 강에서의 수상 가옥을 호스트함으로써 세계 각국의 수많은 매체들이 이 가옥에 대한 컨텐츠를 생산해내었다. 수십억 것의 소셜 공감이 이루어 졌으며 수만건의 페이지로 번역되어 아주 큰 광고효과를 거두었을 뿐 아니라, 가수 머라이어 캐리가 인스타 그램에 올린 사진은 대중에게 큰 인상을 남겼다.

제휴 마케팅 / 파트너쉽

많은 B2B 기업들의 사례를 살펴보면 제휴 마케팅 을 통해 초기에 성공적인 마케팅을 이룩해 내는 경우를 볼 수 있다. 소비자를 대상으로 하는 마케팅에 비해 이러한 제휴 마케팅은 제휴를 한 업체의 기존의 브랜드 파워에 힘입어 한번에 신뢰도를 확보할 수 있으며, 이익관계가 공유되어 제휴 업체의 자발적인 마케팅 유도 또한 이끌어 낼 수 있다. 또한 초기에 불특정 다수로 한 마케팅에 비해 제휴 마케팅의 경우 제휴를 맺고자 하는 명확한 기업이 존재하기 때문에 보다 체계적이고 추진력 있게 초기 마케팅을 시작할 수 있으며 이는 대표자의 역량이 절대적으로 필요하다.

에어비앤비의 경우 항공사인 KLM Royal Dutch Airline, 프랑스 정부 등 많은 단체와 제휴를 맺어 마케팅을 하고 있다.
양 사의 가치를 융합하여 새로운 융합상품을 만들어 냄으로써 고객에게 새로운 가치를 전달한다.

소셜 마케팅

대부분의 it 기업에게 SNS는 매우 중요한 채널이다.
고객과 직접적으로 소통하고 바이럴이 가장 잘 퍼지는 공간인 만큼 최대한 많은 SNS 채널을 운용하는 것이 좋다.
또한, 사회적 이슈가 있을 때 마다 시기에 적합한 social content를 제작하여 이슈화 시키는 것은 마케팅에서 매우 중요하다.
가령 다가오는 크리스마스를 타겟으로 하여 그에 적합한 상품을 업로드 한다던가 혹은 색다른 캠페인을 진행하여 사람들의 폭발적인 호응을 얻을 수 있다.

또 다른 방법은 ‘광고처럼 안 보이는 광고’이다.
일례로 앱 다운로드 url을 적어두었을 때 보다 적어두지 않았을 때 다운로드 수치가 더 높았다.
광고에 대한 피로도가 높아진 요즘은 광고라는 사실을 숨긴 자연스러운 광고가 유행이다.
또 그 자체로 ‘재미’가 있는 광고라면 더 할 나위가 없다.

검색광고

최근에는 다양한 종류의 온라인 광고 기법들이 도입되고 있다.
이메일, 디스플레이 광고 처럼 기존에도 있던 마케팅 방법 외로도, AI 기술을 활용한 문맥광고를 하거나, 검색엔진을 통한 검색광고 등이 있다.

문맥광고

대표적인 it 기업인 구글에서는 이러한 문맥광고료로 아주 큰 효과를 보고 있다.
관심이 있어할 만할 고객이 보고 있는 페이지의 특정 부분에 광고를 삽입함으로써 계속해서 사용자의 주의를 활기시킨다.
AirBnb는 이러한 문맥광고에 아름다운 숙소의 이미지들을 지속적으로 노출시켜 구매를 유도하고 있다.


패턴 인식 개요

실용적인 패턴을 인식하기 위해 패턴 인식을 사용한다.
공간의 특정 생김새를 분석하거나, 이들은 분류하여 의미있는 결과를 유추하고자 할 때 패턴 인식을 사용한다.

패턴 인식에는 다음과 같은 데이터의 종류들이 있다.
object data
실제 인식하고자 하는 물체이다.
이것은 그냥 사진일 수도 있고, 센서들에 의해 측정된 row data일 수도 있다.

relational data
물체 데이터들 사이의 상대적 데이터 이다.

labeled data
이미 분류된 대표적인 데이터 이다.

패턴 인식의 순서도

패턴 인식의 구성요소

pattern recognition feature assignment and expression
object(O)
인식하고자 하는 실제 객체이다.

object data(X)
해당 객체의 속성들을 수치로 나열한다. 이는 벡터의 형태로 나열될 수 있다.
n개의 객체의 p개의 속성에 대해 패턴 인식을 실시하며, object data x는 p차 벡터로 표현된다.

Fuzzy c-Particion(U)
각 행은 모든 객체들에 대한 membership degree를 나타내고
각 열은 모든 클래스에 대한 membership degree를 나타낸다.

각 행의 총합은 0이상이며, 각 열의 총합은 1을 만족한다.

이러한 Fuzzy c-Partition은 conversion을 통해 crisp c-Partition으로 변환된다.

conversion of c-Partition

FCM(Fuzzy c-Means Clustering)


fuzzy control이란?

퍼지 컨트롤이란 입력 신호를 퍼지 시스템을 통해 퍼지화 하고 그에 맞는 출력을 출력하는 제어방식을 의미한다.
이러한 학습과 추론이 가능한 시스템을 fuzzy expert system이라고 부른다.

퍼지 제어의 동작 프로세스

  1. 먼저, 시스템에 입력으로 들어오는 값은 fuzzy encoder를 통해 fuzzy value로 변환되게 되는데, 이를 fuzzification이라 한다.
    여기서 fuzzification이란 기존의 단순한 제어 시스템 에서는 입력값이 on과 off 두가로 표현되는 boolean한 값이 들어오는데, 입력값을 특정 값과, 그것이 일어날 확률(어떤 사건에 소속될 확률을 나타냄) membership function의 쌍인 fuzzy set으로 표현해 주는 것이다.
    이러한 입력들의 형태는 Fuzzy Linguistic Variable인데, 가령 “온도가 높다” 혹은 “온다가 낮다”처럼 언어적인 입력을 말하고, 이것이 fuzzy encoder를 통해서 정확한 값과 그 값이 발생할 확률인 membership function의 쌍인 fuzzy set으로 변환되는 과정을 fuzzy encoding 이라고 한다.
    아래 도식에서 fuzzy encoder 에서 이런 역할을 수행한다.

  2. FIE(Fuzzy Inference Engine) 을 거쳐 특정 입력값에 대한 퍼지 출력을 보낸다.
    여기서 FIE는 KBS(Knowledge Base System)을 기반으로 분석을 시행한다.
    FIE는 다양한 Rule 을 토대로 결과값을 추론하는 역할을 하고 결정을 내린다.

  3. 출력된 퍼지 출력을 fuzzy decoder 를 통해 crisp한 값으로 변환한다.

Structure of fuzzy control

퍼지 스스템의 구성요소

fuzzy encoder
다음의 기능을 수행한다.

  • Input Interface
  • A/D Converter
  • Quantization
  • Discretization
  • Fuzzification

fuzzy inference Engine

  • robust reasoning system
  • max-min or other operators

FIE의 종류에는 다음과 같은 것들이 있다.
Direct Methods: Mamdani, Larsen, Mizumoto
Indirect Methods: Baldwin, Tsugamoto
Hybrid Methods: Sugeno, Simplified

KBS(Knowledge Base System) ~= Fuzzy Memory
예제들에 관해서 학습하고 또는 실험적인 데이터를 기반으로 학습을 한다.
rule base란 일련의 규칙들의 집합이며, 주로 state와 action으로 구분이 된다.
이를 state space description으로 나타내면
다음과 같다.

state space description of fuzzy rule base

fuzzy decoder

  • output Interface
  • D/A Converter
  • Defuzzification

퍼지 시스템의 디자인 프로세스

  1. Define control I/O variables
  2. Determine Fuzzy Inference engine
  3. obtain fuzzy rule base(most important)
  4. choose fuzzy decoding schema

Fuzzy Concept

수학의 법칙은 현실 세계를 기반으로 하기 때문에 정확하지 않다.
하지만 수학 그 자체는 정확하므로 현실세계를 나타내지 않는다.
즉 정확하지 않은 현실 세계를 표현하기 위해 Fuzzy 라는 개념이 나타나게 되었다.

Fuzzy Set

fuzzy set은 binary set의 multi-valued logic으로의 확장이다.
여기서 특정 원소가 특정 범위에 ‘소속’될 확률을 membership function 이라고 하며,
membership function 의 값이 0,1 이외의 다른 값을 가지는 것이 가능한 집합이다.
fuzzy logic이란 널리 사용되는 머신 컨트롤이다. fuzzy라는 말은 논리가 참 혹은 거짓만으로 표현되지 않고 ‘부분적 참’과 같은 형태로 표현되는 것을 포함한다.

genetic algorithm이나 neural network와 같은 다양한 대체적인 접근법들 또한 fuzzy logic과 같이 다양한 경우에서 훌륭하게 동작하나 fuzzy logic은 문제의 답이 사람들이 이해할 수 있는 형태로 표현되기 때문이다. 때문에, 그들의 경험이 컨트롤러의 디자인에 이용될 수 있다. 이것은 사람을 통해 이미 훌륭하게 동작하는 업무를 기계화 하는 것을 매우 간편하게 만들어 준다.
fuzzy concept image

보통 집합

u_A: X -> {0,1} => 원소에 mapping 됨

퍼지 집합

u_A: X -> [0,1] => 모든 실수에 mapping 됨

multi valued logic VS boolean logic

muti valued logic and boolean logic image

Fuzzy Set의 표현

A={(2, 1.0), (3, 0.5)}

특정 원소와 membership function의 값의 나열로 표현된다.

혹은

A=1.0/2 + 0.5/3

여기서 +는 덧셈이 아닌 합집합 즉, UNION을 의미한다.

a-cut(alpha cut)

membership function 이 a보다 큰 구간을 의미한다.

definitions

fuzzy proposition
:fuzzy proposition이란 하나의 퍼지 가설로써 “방 온도가 중간이다.”와 같은 명제이다.

support of A
:이러한 fuzzy proposition을 A라고 하면 이 명제를 뒷바침 하는 x의 집합을 support of A라고 하며 membership function이 0보다 큰 x의 집합을 의미한다.

crossover point
:membership function이 0.5인 x의 값들의 집합

convexity
: 모든 x 에 대해 특정 두 x를 골랐을 때 그 값 사이의 모든 x값의 membership function이 선택한 두 x 값의 membership function의 최소값보다 큰 경우.
즉, 볼록하다고 생각하면 된다.

fuzzy convexity

normality
: membership function이 1인 x가 존재하는 경우이다.

fuzzy number
: convexity와 normality를 둘 다 만족하는 fuzzy set

resolution identity
: fuzzy set은 유한개 혹은 무한개의 a-cuts로 나누어 질 수 있다.

resolution identity
resolution identity example

extension principle

fuzzy set A의 도메인은 non-fuzzy function f를 통해 확장될 수 있다.
여기서 f(A)를 extended fuzzy set이라 한다.

exteded fuzzy set

extened fuzzy set의 예
extended fuzzy set example

Fuzzy control system

fuzzy-control-image

Fuzzy control system이란 fuzzy logic에 기반한 컨트롤 시스템이다.

(여기서 fuzzy logic이란 아날로그 입력값을 분석할 때 기존의 0과 1만 존재하는 디지털 로직과 달리 0과 1 사이의 연속적인 논리 값으로 분석을 하는 수학적 시스템이다.)


back propagation 이란?

multi layer perceptron에서의 학습 알고리즘 이다.

Back propagation Algorithm

다음과 같은 이유로 multi layer perceptron에서 BP를 사용한다.

  1. 넓은 입력공간에서 복잡한 패턴을 가진다.
  2. 병렬 처리를 통해 빠른 계산속도를 가진다.
  3. adaption을 위해 error back propagation을 한다.

Back propagation을 하는 MLP의 구조를 BPN(Back Propagation Network)라고 한다.

작동 원리

BPN은 다음과 같은 복잡한 패턴 매칭 문제를 해결할 수 있다.

  1. 입출력 쌍 패턴 분석을 propagation adoption 방식을 사용하고 학습할 수 있다.
  2. 입력 자극이 hidden layer로 그리고 output layer 로 전달된다.

다음과 같은 순서로 학습이 이루어 진다.

  1. 패턴 입력이 인풋으로 주어짐
  2. 히든 레이어로 전달된
  3. 출력 레이어로 전달되고 출력 패턴이 나옴
  4. desired pattern에서 output pattern의 차를 통해 error를 검출
  5. 검출된 error가 출력 레이어로 부터 히든 레이어로 전달되고 다시 입력단으로 전달됨
  6. 히든 레이어에서 에러의 상대적 기여도가 사용되고, 모든 노드에 대해 수행됨
  7. connection strength가 업데이트 되고, 트레이닝 패턴이 다시 encode됨

BPN Learning Process(Encoding)

히든 레이어의 노드가 모든 입력 패턴을 인식할 수 있도록 스스로 재구성됨

BPN Retrieving Process(Decoding)

  1. 입력된 입력패턴이 학습된 패턴과 같거나 유사하면 output layer에 나타남
  2. 입력된 입력 패턴이 학습된 데이터가 아니면, 히든 레이어에서 자극값을 생성하는 것이 억제됨

BPN

Back propagation 알고리즘의 핵심은 error가 weight를 스스로 업데이트 하는 것이다.
error BP는 지도 학습(supervised learning)의 핵심이다.
여러개의 입출력 쌍을 통해 출력을 예상할 수 있다.

Mapping network
:input과 output을 계산하는 함수

bpn image

GDR(Generalized Delta Rule)

입력 벡터를 통해 i 번체 히든 노드의 입력의 합을 구한다.

gdr image

gdr2

output of th k^th output unit
output of kth output unit

BPN Learning Algorithm

  1. 적용된 input으로 부터 전달된 신호를 기반으로 관련 출력을 계산하라
  2. 에러를 계산하라(desired-actual)
  3. error 를 감소시키기 위한 weight update의 방향을 결정하라.
  4. weight update의 양을 계산하라
  5. weight를 업데이트 하라
  6. 1~5의 과정을 에러가 tolerance ranges 안에 들어갈 때 까지 반복하라.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×