SUHHHH commited on
Commit
bafbb72
ยท
verified ยท
1 Parent(s): 10b81e5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +95 -0
app.py CHANGED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ # ๊ด‘๊ณ  ์ „๋žต ๋ถ„์„ ํ•จ์ˆ˜
4
+ def ๊ด‘๊ณ _์ „๋žต_์ถ”์ฒœ(click_rate, conversion_rate):
5
+ result = ""
6
+
7
+ # ๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต
8
+ if click_rate < 1.3 and conversion_rate < 3:
9
+ result = (
10
+ "๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต: ํด๋ฆญ๋ฅ ๊ณผ ์ „ํ™˜์œจ์ด ๋ชจ๋‘ ๋‚ฎ์Šต๋‹ˆ๋‹ค. "
11
+ "ํด๋ฆญ๋ฅ  ๊ฐœ์„ ์„ ์šฐ์„ ์ ์œผ๋กœ ๊ณ ๋ คํ•˜์„ธ์š”. "
12
+ "์ผ์˜ˆ์‚ฐ์„ ๋†’์ด๊ณ  ๊ด‘๊ณ ์ˆ˜์ต๋ฅ (ROAS)์„ 500% ์ดํ•˜๋กœ ๋‚ฎ์ถฐ๋ณด์„ธ์š”. "
13
+ "ํƒ€๊ฒŸ ํ‚ค์›Œ๋“œ๋ฅผ ์žฌ๊ฒ€ํ† ํ•˜๊ณ  ๊ณ ๊ฐ์ธต์„ ๊ตฌ์ฒดํ™”ํ•˜์„ธ์š”."
14
+ )
15
+ elif click_rate < 1.3 and conversion_rate >= 3:
16
+ result = (
17
+ "๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต: ํด๋ฆญ๋ฅ ์ด ๋‚ฎ๊ณ  ์ „ํ™˜์œจ์ด ๋†’์Šต๋‹ˆ๋‹ค. "
18
+ "ํด๋ฆญ์„ ๋งŽ์ด ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ด‘๊ณ ๋ฅผ ์กฐ์ •ํ•˜์„ธ์š”. "
19
+ "์ธ๋„ค์ผ ์ด๋ฏธ์ง€๋ฅผ ํ›„ํ‚น์ด ๊ฐ•ํ•œ ์Šคํƒ€์ผ๋กœ ๋ฐ”๊พธ๊ณ , ์ผ์˜ˆ์‚ฐ์„ 30% ๋†’์ด์„ธ์š”. "
20
+ "๊ด‘๊ณ ์ˆ˜์ต๋ฅ (ROAS)์„ 450% ์ดํ•˜๋กœ ๋‚ฎ์ถ”๋Š” ๊ฒƒ๋„ ๊ณ ๋ คํ•˜์„ธ์š”."
21
+ )
22
+ elif click_rate >= 1.3 and conversion_rate < 3:
23
+ result = (
24
+ "๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต: ํด๋ฆญ๋ฅ ์€ ๋†’์œผ๋‚˜ ์ „ํ™˜์œจ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค. "
25
+ "์ „ํ™˜์œจ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ƒ์„ธํŽ˜์ด์ง€ ๋ฐ ๋ฆฌ๋ทฐ๋ฅผ ์ ๊ฒ€ํ•˜์„ธ์š”. "
26
+ "๊ด‘๊ณ ์ˆ˜์ต๋ฅ (ROAS)์„ ์œ ์ง€ํ•˜๋ฉฐ ์ „ํ™˜์œจ ๋ณ€ํ™”๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”."
27
+ )
28
+ elif click_rate >= 1.3 and conversion_rate >= 3:
29
+ result = (
30
+ "๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต: ํด๋ฆญ๋ฅ ๊ณผ ์ „ํ™˜์œจ์ด ๋ชจ๋‘ ๋†’์Šต๋‹ˆ๋‹ค. "
31
+ "๊ด‘๊ณ ๋น„๋ฅผ ๋” ๋†’์ด๊ฑฐ๋‚˜ ์ถ”๊ฐ€ ๊ด‘๊ณ ๋ฅผ ์ง‘ํ–‰ํ•ด ์„ฑ๊ณผ๋ฅผ ๊ทน๋Œ€ํ™”ํ•˜์„ธ์š”. "
32
+ "๋‹ค๋ฅธ ๊ด‘๊ณ  ์ฑ„๋„์—์„œ๋„ ๋™์ผํ•œ ์„ฑ๊ณผ๋ฅผ ๋ชฉํ‘œ๋กœ ์ „๋žต์„ ๊ฒ€ํ† ํ•˜์„ธ์š”."
33
+ )
34
+
35
+ # ๋น„๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต
36
+ if click_rate < 0.3 and conversion_rate < 2:
37
+ result += (
38
+ "\n\n๋น„๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต: ํด๋ฆญ๋ฅ ๊ณผ ์ „ํ™˜์œจ์ด ๋ชจ๋‘ ๋‚ฎ์Šต๋‹ˆ๋‹ค. "
39
+ "ํด๋ฆญ๋ฅ  ๊ฐœ์„ ์„ ์šฐ์„ ์ ์œผ๋กœ ๊ณ ๋ คํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ ๊ด‘๊ณ ์— ๋” ์ง‘์ค‘ํ•˜์„ธ์š”. "
40
+ "์ผ์˜ˆ์‚ฐ์„ ๋Š˜๋ฆฌ๊ณ  ROAS๋ฅผ 300% ์ดํ•˜๋กœ ๋‚ฎ์ถ”๋Š” ๊ฒƒ๋„ ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค."
41
+ )
42
+ elif click_rate < 0.3 and conversion_rate >= 2:
43
+ result += (
44
+ "\n\n๋น„๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต: ํด๋ฆญ๋ฅ ์€ ๋‚ฎ๊ณ  ์ „ํ™˜์œจ์€ ๋†’์Šต๋‹ˆ๋‹ค. "
45
+ "ํƒ€๊ฒŸ ํ™•๋Œ€๋ฅผ ์‹œ๋„ํ•˜๊ณ  ์ดˆ๊ธฐ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์„ธ์š”. "
46
+ "๊ฒ€์ƒ‰ ์˜์—ญ์œผ๋กœ ์ „ํ™˜ํ•˜์—ฌ ๋” ๋‚˜์€ ์„ฑ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
47
+ )
48
+ elif click_rate >= 0.3 and conversion_rate < 2:
49
+ result += (
50
+ "\n\n๋น„๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต: ํด๋ฆญ๋ฅ ์€ ๋†’์œผ๋‚˜ ์ „ํ™˜์œจ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค. "
51
+ "์ƒ์„ธํŽ˜์ด์ง€๋ฅผ ๊ฐœ์„ ํ•˜๊ฑฐ๋‚˜ ์ „ํ™˜์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์„ธ์š”."
52
+ )
53
+ elif click_rate >= 0.3 and conversion_rate >= 2:
54
+ result += (
55
+ "\n\n๋น„๊ฒ€์ƒ‰ ๊ด‘๊ณ  ์ „๋žต: ํด๋ฆญ๋ฅ ๊ณผ ์ „ํ™˜์œจ์ด ๋ชจ๋‘ ๋†’์Šต๋‹ˆ๋‹ค. "
56
+ "๋น„๊ฒ€์ƒ‰ ์˜์—ญ์— ์ถ”๊ฐ€ ํˆฌ์ž๋ฅผ ๊ณ ๋ คํ•˜์„ธ์š”. "
57
+ "๋ฉ”ํƒ€, ํ† ์Šค ๋“ฑ ์™ธ๋ถ€ ๊ด‘๊ณ  ์ฑ„๋„์„ ๋ณ‘ํ–‰ํ•˜์—ฌ ์„ฑ๊ณผ๋ฅผ ๊ทน๋Œ€ํ™”ํ•˜์„ธ์š”."
58
+ )
59
+
60
+ return result
61
+
62
+ # Gradio ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ
63
+ with gr.Blocks() as demo:
64
+ gr.Markdown("## ๊ด‘๊ณ  ์„ค์ • ๋ณ€๊ฒฝ ์ถ”์ฒœ ๋„์šฐ๋ฏธ")
65
+
66
+ with gr.Row():
67
+ click_rate_slider = gr.Slider(
68
+ minimum=0.0, maximum=5.0, step=0.1, label="ํด๋ฆญ๋ฅ (CTR) ์ž…๋ ฅ", value=1.0, interactive=True
69
+ )
70
+ conversion_rate_slider = gr.Slider(
71
+ minimum=0.0, maximum=10.0, step=0.1, label="์ „ํ™˜์œจ(CVR) ์ž…๋ ฅ", value=3.0, interactive=True
72
+ )
73
+
74
+ with gr.Row():
75
+ click_rate_input = gr.Textbox(label="ํด๋ฆญ๋ฅ (CTR) ์ง์ ‘ ์ž…๋ ฅ (0.0~5.0)")
76
+ conversion_rate_input = gr.Textbox(label="์ „ํ™˜์œจ(CVR) ์ง์ ‘ ์ž…๋ ฅ (0.0~10.0)")
77
+
78
+ result_output = gr.Textbox(label="์ถ”์ฒœ ๊ด‘๊ณ  ์ „๋žต")
79
+
80
+ def update_from_input(click_rate_text, conversion_rate_text):
81
+ try:
82
+ click_rate = float(click_rate_text) if click_rate_text else 0.0
83
+ conversion_rate = float(conversion_rate_text) if conversion_rate_text else 0.0
84
+ except ValueError:
85
+ return "CTR ๋ฐ CVR ์ž…๋ ฅ ๊ฐ’์€ ์ˆซ์ž์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค."
86
+
87
+ return ๊ด‘๊ณ _์ „๋žต_์ถ”์ฒœ(click_rate, conversion_rate)
88
+
89
+ # ์Šฌ๋ผ์ด๋” ๋˜๋Š” ํ…์ŠคํŠธ ๋ฐ•์Šค ์—…๋ฐ์ดํŠธ ์—ฐ๊ฒฐ
90
+ click_rate_slider.change(fn=๊ด‘๊ณ _์ „๋žต_์ถ”์ฒœ, inputs=[click_rate_slider, conversion_rate_slider], outputs=result_output)
91
+ conversion_rate_slider.change(fn=๊ด‘๊ณ _์ „๋žต_์ถ”์ฒœ, inputs=[click_rate_slider, conversion_rate_slider], outputs=result_output)
92
+ click_rate_input.change(fn=update_from_input, inputs=[click_rate_input, conversion_rate_input], outputs=result_output)
93
+ conversion_rate_input.change(fn=update_from_input, inputs=[click_rate_input, conversion_rate_input], outputs=result_output)
94
+
95
+ demo.launch()