Pizza – pizza parlour The local pizza parlour needs a new ordering system to improve customer service by streamlining the ordering process. The manager of the store has found that many orders are incorrect and staff at times enter incorrect

2019 Semester 1 Data Wrangling
Due in two parts –  Friday of Week 9 and Week 12

 Fat Pizza – pizza parlour

The local pizza parlour needs a new ordering system to improve customer service by streamlining the ordering process. The manager of the store has found that many orders are incorrect and staff at times enter incorrect prices. The manager wants a new ordering system to avoid these errors and to ensure correct prices are charged.
At present, the customer selects what bread crust they want: thin, thick or wood fired.  The customer chooses how many cheeses, the styles of each cheese, how many toppings and the types. There are currently eight cheeses and ten toppings to choose from.
The management are hoping to have a system developed where staff enter the order at stations where the price is calculated, and the customer pays. The order is then sent to staff at the counters who complete the order and give it to the customer.
In addition to the ordering system, Fat Pizza have asked for some analysis on the current trends in pizza sales in the five neighbouring regions. As a result, you were able to source weekly sales data for 45 stores over 3 years (2010 – 2012).
 
 

Learning Objectives

In this task you will learn how to:

  • Write programs that produce correct and useful output
  • Apply relevant Python programming concepts to a data analysis challenge  Read data from real sources and wrangle it into the form you need.
  • Develop creative approaches to solving the wrangling/analysis problems.
  • Adhere to the recommended Python programming styles
  • Organise and present a data analysis report

ICT702 TASK 2  1

 Give an insightful analysis of the given problem.
 
Task 2 is broken into two parts (each worth 20% of the course):

  1. Due Friday Week 9 Use Python to create an ordering system for Fat Pizza.
  2. Due Friday Week 12 Use Python to read and analyse the pizza weekly sales data and generate various useful graphs that give insight into the trends which is presented in a brief report to the client.

 
 
 

1 Ordering System

In this first part of Task 2, you should write a Python script for the pizza ordering system.
Your program must store the prices of the individual items (crusts, cheeses and toppings). Specifically, the program should do the following:

  • At the start, the program should ask for the customer’s name to personalise and track the order and then get the number of pizzas from the customer.
  • For each pizza, the crust type, cheese amount, cheese style, number and type of toppings should be taken from the customer.
  • At the end the program should display the itemised order with the total price.
  • The program should be able to handle invalid entries inputted (such as incorrect crust type, or invalid number of toppings) Notes:
  • You must use standard Python data structures, not Pandas, to store the prices of the individual items.
  • Items and prices are listed in Appendix A
  • HINT: You should use the Python “input(message)” function to read each input value from the customer (for example when asking for the customer name).

 
 
 

2 Pizza trends

In this second part of Task 2, you should write a Python script that reads and analyses the pizza data file (Weekly_Sales.csv) and merge it with the store details file (StoreDetails.csv) and region file (Region.csv) to produce at least FOUR useful graphs that give insight into the pizza sales trends.
For example, here are some suggestions:

  • show the change in pizza sales over the period 2010 to 2012
  • compare the trends of all stores in a given year.
  • compare sales against the different store details (i.e. temperature and unemployment) to see what the relationship between them is (data from StoreDetails.csv).
  • compare sales in the five different regions (using the data from the Region.csv to group the stores).

2  ICT702 TASK 2

 
Notes:

  1. You must at least have 1 graph analysing temperature or unemployment and 1 graph comparing the sales across the different regions.
  2. You must use the Pandas library to store and manipulate the data.
  3. Use markup and headings to break your Jupyter notebook into sections and give commentary about what you doing, and discussion of your results. This Jupyter notebook will be what you submit.

 
 

3 What you will submit

There are three deliverables in two parts. Part A is due Friday in week 9 and Part B is due Friday in Week 12. The following are what you will be submitting for each part.
 

  1. Part A Python code for the ordering system in a Jupyter notebook file
  2. Part B Python code for the trends analysis in a Jupyter notebook file
  3. Part B Report to the client based on (2) (PDF or word doc)

 
 
 

4 Marking Criteria

Your submission for each part of this task will be assessed according to the following criteria:

  • Part A (all python code):
    • Working system with no errors [5 marks] o Correctness of the program output [15 marks]
    • Robust handling of invalid inputs with helpful error messages [10 marks] o Programming style [20 marks]
      • Creative approaches to solving the problem
      • Good use of relevant programming concepts,
      • Good use of appropriate Python data structures, such as lists and dictionaries
      • Adherence to the recommended Python programming styles (indentation, documentation, naming conventions, etc.)

 

  • Part B (Python code and Report):
    • Python Code
      • Correctness of the program output [10 marks]
      • Programming style [15 marks]
        • Creative approaches to solving the problem
        • Good use of relevant programming concepts, especially good use of functions
        • Adherence to the recommended Python programming styles

(indentation, documentation, naming conventions, etc.)

  • Report

ICT702 TASK 2  3

 Presentation and organisation of your report to the client [5 marks]  Insightful analysis and discussion of the trends [20 marks]
 
 
 

Appendix A – Prices & additional info

 
 

Category Item Price
Crust Base Thin 4.00
Thick 6.50
Wood Fired 8.50
Cheese
Style
Chedder Each cheese
costs .5
(regardless of style)
Colby
Edam
Emmental
Gruyere
Mozzarella
Provolone
Ricotta
Topping
Choices
Tomato 0.75
Mushrooms 0.75
Pepperoni 0.50
Onions 0.25
Black Olives 0.75
Green Peppers 0.50
Anchovies 0.25
Garlic 0.50
Ham 1.50
Bacon 1.25

 
Additional Info:

  1. The maximum number of cheeses per pizza is 3
  2. The maximum number of toppings per pizza is 6

4  ICT702 TASK 2

Posted in Uncategorized