Skip to content

Latest commit

 

History

History
365 lines (260 loc) · 16.7 KB

File metadata and controls

365 lines (260 loc) · 16.7 KB

1

2022 Bigcontest data analysis field

Git-hub repository at: https://github.com/NongShiN/2024_bigcontest_muju_festival_shuttle_bus

Table of contents

  1. Introduction

  2. Description of the data set

    1. Initial steps
    2. Visitor analysis
    3. Movement analysis
  3. Problem definitions and solutions

    1. Hypothesis setting and cause analysis
    2. Proposition of shuttle buses
    3. Shuttle bus timetable
    4. Shuttle bus route
  4. Conclusion

    1. Summary
    2. Expectation effectiveness
  5. References

1. Introduction

  • 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.

2. Description of the dataset

2.1 Initial steps

  • 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.
6
  • 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.
6

2.2 Visitor analysis

2.2.1 Result of analyzing the number of people who visited Muju during the festival by age group.

6

From this summary we can say that:

  1. The percentage of visitors under 10s is the highest, followed by those in their 40s and 30s.
  2. From this, it can be inferred that a large number of family visitors have visited, accounting for a total of 78%.
  3. 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%.

2.2.2 Result of analyzing the number of people who stayed Muju during the festival by age group.

6

From this summary we can say that:

  1. The percentage of staying people 40s is the highest, followed by those in their 30s, under 10s and 30s.
  2. 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.

2.2.3 Result of distribution of festival visitors' residence.

6

From this summary we can say that:

  1. It can be seen that many visitors to the festival came from Jeonbuk and Chungnam/Daejeon.
  2. 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.

2.3 Movement analysis

2.3.1 Result of the distribution of travel distance to Muju by age group.

6

From this summary we can say that:

  1. Those under 10s and 30s and 40s visit from various distances, ranging from close to far away.
  2. 10s, 20s, 50s, and 60s usually visit at close range.

2.3.2 The distribution of transportation used by festival visitors.

6

From this summary we can say that:

  • With 39019 cases of car use, most visitors visited the festival by car.

3. Problem definitions and solutions

3.1 Hypothesis setting and cause analysis

3.1.1 Hypothesis setting

  1. The means of off-vehicle transportation are poor.
  2. There are restrictions on participation according to accessibility by age group.

3.1.2 Cause analysis

3.1.2.1 The results of transportation and time required to travel from major cities to Muju.

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

6

From this summary we can say that:

  1. Bus services are limited to certain areas and time zones.
  2. 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.

  1. 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.
  2. 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.

3.1.2.4 Improvements to the 27th Muju Firefly Festival (last year)

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.

3.2 Proposition of shuttle bus

The need for a shuttle bus

6

3.3 Shuttle bus rimetable

3.1.1 To Muju

6
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 🚌🚌 🚌

3.1.2 To Return

6
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 🚌🚌 🚌 🚌

3.4 Shuttle bus route

3.4.1 Selection of the station

  1. 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
  1. 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

3.4.2 Linear Programing

6

3.4.3 Flow Chart

14

3.4.4 Recommended Route

3.4.4.1 Daejeon Line

15
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

3.4.4.2 Jeonbuk Line

6
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

4. Conclusion

4.1 Summary

4.1.1 Analyze Muju festival and define problem: Lack of access to transportation to festival sites

  • A high percentage of outsiders

  • Lack of public transport infrastructure

  • Targeting for various age groups

  • Lack of access to certain age groups

4.1.2 Solution: Propose introduction of shuttle buses connecting major cities during the festival

  • Propose a timetable through analysis of visitor data by day and hour

  • Propose a route through analysis of visitor data by region

4.2 Expectation Effectiveness

4.2.1 Improve transportation inconvenience

  • Improve access to festival sites.
  • Alleviate traffic congestion near the festival site.

4.2.2 Increase participation rate

  • Reduced transportation costs.
  • Encourage the participation of various age groups by simplifying travel routes.

4.2.3 Environmental benefits

  • Reduce carbon emissions.
  • Realize the value of 'green', the slogan of Muju Festival

5. References

Paper: