Git-hub repository at: https://github.com/NongShiN/2024_bigcontest_muju_festival_shuttle_bus
-
The competition is a 2024 big contest data analysis field, and it is a competition that selects traditional markets or festivals as targets for analysis with data related to population movement provided by SKT.
-
We chose Muju Firefly Festival and came up with measures to revitalize the festival.
-
The Muju Firefly Festival marks the 28th anniversary of this year in Muju, Jeonbuk-do, South Korea which comes with local agricultural product experiences, cultural performances, and environmental education programs focusing on firefly observation.
-
We analyzed the current status of the festival and presented problem definitions and solutions accordingly.
- This is "od_yyyymmdd_1.csv" data (hereinafter, od data), which is OD data between administrative periods from 2023.9.1 to 2023.10.15.
- The other is "stay_yyyymmdd_1.csv" data (hereinafter, stay data), which is the national administrative unit residence population data from 2023.09.01 to 2023.10.15.
From this summary we can say that:
- The percentage of visitors under 10s is the highest, followed by those in their 40s and 30s.
- From this, it can be inferred that a large number of family visitors have visited, accounting for a total of 78%.
- Among the remaining age groups, the proportion of people in their 20s is the highest, and the proportion of the remaining age groups (10s, 50s, 60s, 70s, and 80s) is less than 5%.
From this summary we can say that:
- The percentage of staying people 40s is the highest, followed by those in their 30s, under 10s and 30s.
- In the od data, few elderly people were observed, but the stay data clearly shows the ratio of those in their 50s to those in their 60s.
From this summary we can say that:
- It can be seen that many visitors to the festival came from Jeonbuk and Chungnam/Daejeon.
- The average proportion of outsiders in Korea's festivals is 50%. It can be seen that the proportion of outsiders in the Muju Firefly Festival is 88% very high.
From this summary we can say that:
- Those under 10s and 30s and 40s visit from various distances, ranging from close to far away.
- 10s, 20s, 50s, and 60s usually visit at close range.
From this summary we can say that:
- With 39019 cases of car use, most visitors visited the festival by car.
- The means of off-vehicle transportation are poor.
- There are restrictions on participation according to accessibility by age group.
Departure | Travel Route | Time |
---|---|---|
Seoul | Seoul Station (KTX) → Daejeon Station (City Bus) → Daejeon Complex Terminal (Intercity Bus) → Muju Bus Terminal | 2h 30m |
Jeonju | Jeonju Express Bus Terminal (Express Bus) → Daejeon Complex Terminal (Intercity Bus) → Muju Bus Terminal | 2h 30m |
Daegu | Daegu Station (Mugunghwa Train) → Yeongdong Station (City Bus) → Muju Bus Terminal | 2h 40m |
Busan | Busan Station (SRT) → Daejeon Station (City Bus) → Daejeon Complex Terminal (Intercity Bus) → Muju Bus Terminal | 3h |
Gwangju | Gwangju Bus Terminal (Express Bus) → Daejeon Complex Terminal (Intercity Bus) → Muju Bus Terminal | 3h 20m |
From this summary we can say that:
- From other cities to Muju festival sites, the travel route is complicated and the travel time is too long.
3.1.2.2 This shows the contents of the festival by time and the last bus time from the festival site to each city
From this summary we can say that:
- Bus services are limited to certain areas and time zones.
- The bus schedule does not match the time of the festival program, so we cannot use it when we return home.
3.1.2.3 There are restrictions on participation in festivals due to differences in accessibility by age groups.
- In the case of 20s, the vehicle possession is low, so the dependence on public transportation is high, but the participation rate of the festival is low due to the weak public transportation situation to the festival venue.
- In the case of people in their 50s, the degree of interest in the festival can be confirmed by looking at the distribution of the number of people staying, but participation restrictions are expected due to fatigue caused by long-distance travel.
Rank | Content |
---|---|
ㅤ1 | Transportation |
ㅤ2 | The variety of festival food |
ㅤ3 | Good things to buy / Local specialties |
ㅤ4 | Event tour information |
From this survey we can say that:
- Many participants can see that they are uncomfortable with the transportation of the festival.
Arrival | Sat | Sun | Mon | Tue | Wed | Thu | Fri |
---|---|---|---|---|---|---|---|
10 o'clock | ㅤㅤㅤㅤ | 🚌ㅤㅤㅤ | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ |
12 o'clock | 🚌🚌 | 🚌🚌 | 🚌 | ||||
14 o'clock | 🚌🚌 | 🚌 | |||||
16 o'clock | 🚌🚌🚌 | 🚌 | 🚌 | ||||
18 o'clock | 🚌🚌🚌 | 🚌🚌 | 🚌 | 🚌 | 🚌 | 🚌 | 🚌🚌 |
20 o'clock | 🚌🚌 | 🚌 |
Departure | Sat | Sun | Mon | Tue | Wed | Thu | Fri |
---|---|---|---|---|---|---|---|
12 o'clock | |||||||
14 o'clock | 🚌 | ||||||
16 o'clock | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ | ㅤㅤㅤㅤ |
18 o'clock | 🚌 | 🚌🚌 | |||||
20 o'clock | 🚌🚌🚌 | 🚌🚌🚌 | 🚌 | 🚌 | 🚌 | 🚌 | 🚌🚌🚌 |
22 o'clock | 🚌🚌 | 🚌 | 🚌 |
- Select the city that visits Muju the most during the festival.
map_filtered = pd.DataFrame()
for region in festival_df_grouped_sido['시도명']:
# Calculate the sum of 'od_cnts' by 'Region' and sort by 'od_cnts'
region_filtered = festival_df_grouped_2[festival_df_grouped_2['시도명'] == region]
# Sejong city doesn't have 'City' name
if region == '세종특별자시치':
region_grouped = region_filtered.groupby('시도명')['od_cnts'].sum().reset_index()
else:
region_grouped = region_filtered.groupby('시군구명')['od_cnts'].sum().reset_index()
region_grouped['시도명'] = region
# Sort in descending order based on 'od_cnts'
region_grouped = region_grouped.sort_values(by='od_cnts', ascending=False)
map_filtered = pd.concat([map_filtered, region_grouped[region_grouped['od_cnts'] >= 500]])
map_filtered:
City | # of Visitors |
---|---|
Deokjin-gu, Jeonju-si, Jeonbuk | ㅤㅤ2834 |
Seo-gu, Daejeon | ㅤㅤ1813 |
Wansan-gu, Jeonju-si, Jeonbuk | ㅤㅤ1561 |
Yuseong-gu, Daejeon | ㅤㅤ1379 |
ㅤㅤㅤㅤㅤㅤ... | ㅤㅤ... |
Iksan-si, Jeonbuk | ㅤㅤ772 |
Jinan-gun, Jeonbuk | ㅤㅤ704 |
- Give weight considering the number of visitors to the festival in the city.
"daejun": {
"nodes": [
"세종특별자치시",
"대전광역시 유성구",
"대전광역시 서구",
"대전광역시 대덕구",
"대전광역시 중구",
"충청남도 금산군",
"충청북도 영동군",
"전라북도 무주군"
],
"weights": [1, 2, 2, 1, 1, 1, 2, 0]
},
"jeonbuk": {
"nodes": [
"전라북도 군산시",
"전라북도 익산시",
"전라북도 전주시 완산구",
"전라북도 전주시 덕진구",
"전라북도 진안군",
"전라북도 장수군",
"전라북도 무주군"
],
"weights": [1, 1, 2, 2, 1, 2, 0]
}
ㅤ 3. Give weight considering the "percentage of age groups (20, 50, 60s)" that are difficult to travel long distances.
def get_visitors_num(lst):
address = load_address()
sum_od_cnts_all, sum_od_cnts_age = number_of_visitors_to_Muju_by_region()
visitors_num = []
visitors_num_256 = []
for name in lst:
# Get the list of administrative district codes for each specified region
codes = address[address['시도 시군구'] == name]['행정동코드'].unique().tolist()
# Initialize counters for total visitors and visitors in age groups 20s, 50s, and 60s
cnt_all = 0
cnt_256 = 0
# Sum up visitors for each administrative district code in the region
for code in codes:
tmp_for_all = sum_od_cnts_all[sum_od_cnts_all['origin_hdong_cd'] == code]
if not tmp_for_all.empty:
cnt_all += tmp_for_all['od_cnts'].iloc[0] # Total visitors from the administrative code
tmp_for_256 = sum_od_cnts_age[sum_od_cnts_age['origin_hdong_cd'] == code]
if not tmp_for_256.empty:
cnt_256 += tmp_for_256['od_cnts'].iloc[0] # Total visitors from the specific age groups
visitors_num.append(int(cnt_all))
visitors_num_256.append(int(cnt_256))
return visitors_num, visitors_num_256
def number_of_visitors_to_Muju_by_region():
df_od = load_od()
# Number of visitors to Muju Festival by region
df_od_group = df_od.groupby(['origin_hdong_cd', 'date', 'age'])['od_cnts'].sum().reset_index()
df_od_all = df_od_group.groupby(['origin_hdong_cd', 'date'])['od_cnts'].sum().reset_index() # Total visitors per day
sum_od_cnts_all = round(df_od_all.groupby(['origin_hdong_cd'])['od_cnts'].sum().reset_index(), 0) # Total visitors from each region
# Number of Muju Festival visitors by region for age groups 20s, 50s, and 60s
df_od_age = df_od_group[df_od_group['age'].isin([2,5,6])]
sum_od_cnts_age = round(df_od_age.groupby('origin_hdong_cd')['od_cnts'].sum().reset_index(), 0)
return sum_od_cnts_all, sum_od_cnts_age
Rank | Travel Route | Distance | Time |
---|---|---|---|
ㅤ1 | Seo-gu, Daejeon → Daedeok-gu, Daejeon → Jung-gu, Daejeon → Muju-gun, Jeonbuk | 61.58km | 1h 37m |
ㅤ2 | Seo-gu, Daejeon → Yuseong-gu, Daejeon → Jung-gu, Daejeon → Muju-gun, Jeonbuk | 68.50km | 1h 45m |
ㅤ3 | Seo-gu, Daejeon → Yuseong-gun, Daejeon → Geumsan-gun, Chungnam → Muju-gun, Jeonbuk | 83.24km | 1h 39m |
ㅤ4 | Sejong City → Daedeok-gu, Daejeon → Jung-gu, Daejeon → Muju-gun, Jeonbuk | 83.64km | 2h 2m |
Rank | Travel Route | Distance | Time |
---|---|---|---|
ㅤ1 | Gunsan-si, Jeonbuk → Iksan-si, Jeonbuk → Jinan-gun, Jeonbuk → Muju-gun, Jeonbuk | 133.84km | 2h 21m |
ㅤ2 | Gunsan-si, Jeonbuk → Deokjin-gu, Jeonju-si, Jeonbuk → Jinan-gun, Jeonbuk → Muju-gun, Jeonbuk | 120.89km | 2h 34m |
ㅤ3 | Gunsan-si, Jeonbuk → Iksan-si, Jeonbuk → Wansan-gu, Jeonju-si, Jeonbuk → Muju-gun, Jeonbuk | 131.27km | 2h 50m |
ㅤ4 | Gunsan-si, Jeonbuk → Iksan-si, Jeonbuk → Jangsu-gun, Jeonbuk → Muju-gun, Jeonbuk | 165.31km | 2h 37m |
-
A high percentage of outsiders
-
Lack of public transport infrastructure
-
Targeting for various age groups
-
Lack of access to certain age groups
-
Propose a timetable through analysis of visitor data by day and hour
-
Propose a route through analysis of visitor data by region
- Improve access to festival sites.
- Alleviate traffic congestion near the festival site.
- Reduced transportation costs.
- Encourage the participation of various age groups by simplifying travel routes.
- Reduce carbon emissions.
- Realize the value of 'green', the slogan of Muju Festival
Paper:
-
[1] Changsoo Kim, Hyungbin Jang. (2014). A Study on the Relations between Vistor orientation and Consumer spending in the past 3 years Muju Firefly Festival, 18(1), 1-19.
-
[2] Huiseok Seo, Junghyun Yoon. (2006). A Study on the Success Factors of Regional Festivals -focusing on the Andong maskdance festival, Hampyeong butterfly festival, and Iksan Seodong festival-, 20(4), 207-228.
-
[3] Changwoo Jeon, Gunhak Lee. (2017). Optimal Routing of Free Shuttle Bus to Enhance the Travel Convenience for the Elderly: A Case of Gwanak-gu, Seoul, 6(2), 291-304.
-
[4] Eunhak Lee, Seung-young Ko, Dongkyu Kim. (2021). Optimization of Direct Bus Route using Smart Card Data. 85th Conference of the Korea Transportation Association
https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE10675729