Skip to content

soonge2/2024_bigcontest_muju_festival_shuttle_bus

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

78 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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:

About

Prepare a plan to revitalize the festival through od data analysis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%