Programming lesson
Mapping the Menu: How Location Shapes Cafe Beverage Offerings – An SPSS Tutorial for Geography and Data Analysis Students
Learn how to use SPSS to analyze how cafe location (shopping centre vs. streetfront, and north-east vs. south-west of Sydney's latte divide) influences beverage menus. This step-by-step tutorial covers data entry, chi-square tests, PCA, and more, using a real-world geography assignment example.
Introduction: The Latte Divide and Your SPSS Assignment
Have you ever noticed that cafes in different parts of a city seem to offer different drinks? In Sydney, the concept of the "latte divide"—a line splitting the city into more affluent north-eastern LGAs and less affluent south-western LGAs—provides a fascinating lens for studying how location shapes cafe beverage offerings. This tutorial will guide you through using SPSS to analyze data from a real-world geography assignment, where you compare drink assemblages between shopping centre cafes and streetfront cafes, and between regions. Whether you're a student tackling this assignment or just curious about data analysis, this step-by-step guide will help you run chi-square tests, principal component analysis (PCA), and more.
Understanding the Hypotheses and Variables
Your assignment likely has four main hypotheses:
- Drink assemblages differ between shopping centre and streetfront cafes.
- Drink assemblages differ between north-east and south-west LGAs.
- Mean scores of principal components (from habitat variables) differ between cafe types.
- Principal components predict drink species richness or abundance.
To test these, you'll need to code your variables carefully. Let's set up your SPSS data file.
Step 1: Data Entry in SPSS
Create a new SPSS data file with the following variables:
- CafeID (numeric, e.g., 1-16)
- CafeName (string)
- Factor1_CafeType (numeric: 1 = Shopping Centre, 2 = Strip)
- Factor2_Location (numeric: 1 = North-east, 2 = South-west)
- LGA (string, e.g., Hills Shire, Cumberland)
- DrinkSpecies (numeric: count of different drink types, e.g., 5, 8)
- DrinkAbundance (numeric: total number of drink items, e.g., 12, 20)
- Habitat1 to HabitatN (numeric: variables like seating capacity, price range, music, etc.)
Enter the data from your site list. For example, PassionTree Velvet at Castle Towers is Shopping Centre (1) and North-east (1).
Step 2: Testing Hypothesis 1 – Chi-Square Test for Independence
To see if drink assemblages differ between cafe types, you can use a chi-square test. But first, you need categorical drink data. Create a variable DrinkCategory (e.g., coffee, tea, smoothie, etc.) and count occurrences per cafe. Then run:
Analyze > Descriptive Statistics > Crosstabs
Row: Factor1_CafeType
Column: DrinkCategory
Statistics: Chi-squareCheck the output for Pearson Chi-Square significance. If p < 0.05, the drink composition differs by cafe type. For example, shopping centre cafes might offer more smoothies and iced drinks, while streetfront cafes focus on classic espresso.
Step 3: Testing Hypothesis 2 – Comparing LGAs
Repeat the chi-square test but with Factor2_Location as the row variable. Alternatively, you can compare mean drink species richness between north-east and south-west using an independent t-test:
Analyze > Compare Means > Independent-Samples T Test
Grouping Variable: Factor2_Location (define groups 1 and 2)
Test Variable: DrinkSpeciesThis will tell you if richer areas have more diverse menus. Given the assignment context, north-east cafes might have higher richness due to greater demand for specialty drinks.
Step 4: Principal Component Analysis (PCA) for Habitat Variables
Hypotheses 3 and 4 involve PCA. First, standardize your habitat variables (unless they're on the same scale). Then run:
Analyze > Dimension Reduction > Factor
Select all habitat variables
Extraction: Principal Components
Rotation: Varimax (optional)
Scores: Save as variables (Regression method)Examine the scree plot and total variance explained. Typically, 2-3 components emerge: e.g., "Cafe Ambiance" (seating, lighting) and "Menu Extent" (price range, number of items). Save the component scores as new variables (FAC1, FAC2).
Step 5: Testing Hypothesis 3 – ANOVA on Component Scores
Now, test if mean component scores differ between shopping centre and streetfront cafes:
Analyze > Compare Means > One-Way ANOVA
Dependent List: FAC1, FAC2
Factor: Factor1_CafeTypeIf significant, you can interpret which habitat aspects vary by location. For instance, shopping centre cafes might score higher on "ambiance" due to design standards.
Step 6: Testing Hypothesis 4 – Regression to Predict Drink Richness
Finally, use linear regression to see if principal components predict drink species richness:
Analyze > Regression > Linear
Dependent: DrinkSpecies
Independent(s): FAC1, FAC2Check R-squared and coefficients. A significant model means habitat factors (e.g., higher price range) predict more drink options. This mirrors real-world trends: in affluent north-east suburbs, cafes might offer more exotic beverages to match customer expectations.
Interpreting Your Results
Your findings could reveal that location truly shapes menus. For example, shopping centre cafes may have standardized offerings due to chain management, while streetfront cafes showcase local tastes. The latte divide might show that north-east cafes have higher drink species richness, aligning with socioeconomic patterns. These insights are valuable for urban geography and business strategy.
Conclusion: From Data to Insights
This SPSS tutorial has walked you through testing all four hypotheses of your "Mapping the Menu" assignment. By using chi-square tests, t-tests, PCA, ANOVA, and regression, you've uncovered how location—both mall vs. street and north-east vs. south-west—shapes cafe beverage offerings. These skills are not just for class; they apply to market research, urban planning, and even your own cafe startup. So next time you grab a latte, think about the data behind the menu!
Pro tip: Always check assumptions (normality, homogeneity of variance) before running parametric tests. Use SPSS's Explore function to screen your data.