Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

MSCI530 Python Programming for Problem Solving

a)  You should upload your  report  (as a Word le) and your  Python code  (as a py le),  by

9:00am on Tuesday, 20th December 2022

e)  The report le should be named 12345678.docx, where 12345678 is an example Library Card/Student Number, containing:  (i) a maximum of six pages presenting your analysis as described in the following page; and (ii) a copy of your Python code [there is no page limit] (please do not take screenshots, just copy and paste your code).

g)  In case you want to import any packages apart from pandas, matplotlib, numpy, math, random, tkinter, pickle, and seaborn, you should contact the module leader rst.

h)  The program should run without errors and produce the same output used in your report. The source code should be well commented and well structured, programmed in Python with Spyder as an Editor.

Tasks [Worth 60% of the module]

A large energy company provides a call centre to answer customers’ queries. The call centre management is keen to understand the activity and performance levels that the call centre has experienced over the last winter and what they might do to improve their experiences next year.  They know that activity levels vary considerably during the day and so data has been collected for the morning, afternoon and evening peak’ hours. They are hoping to understand their workloads better, and also how they are related to the experience of their customers when calling the call centre.

They are particularly interested in reducing the number of callers who abandon if this is possible. During the last Winter they have been experimenting with virtual hold technology (VHT). When VHT is on’ callers who cannot be dealt with immediately are offered the chance to be rung back without losing their place in the queue. Is there any evidence that this reduces the chance that callers abandon their call?

The Excel data le EnergyCallCentre.xlsx’ contains the following data for 504 ‘peak’ hours of operation from last Winter:

Month refers to three 2-month long periods of time;

VHT species whether Virtual Hold Technology was on or off;

ToD species which peak hour the data is from;

Agents an indication of the number of agents available to handle calls during the hour (not very

CallsOffered number of callers calling during the hour;

CallsAbandoned – number of calls arriving during the hour which rang off before speaking to an agent; CallsHandled – number of calls arriving during the hour which spoke to an agent;

ASA average speed of answer (minutes), i.e.  average time between the caller rst ringing the call

centre and speaking to an agents;

Avehandletime the average time that calls require from an agent, including wrap-uptime.

Draw a random sample of size 100 from this population of one hour periods and investigate your sample using Python.  Do not forget to set your unique starting point for the Python random number generator.  For this coursework question use the last four digits of your library card PLUS 1, i.e.  if your library card ends ‘4321’ type in ‘4322’, and if your library card ends 0329’ type in ‘330’ .  Record these digits at the top of

your answer.

(10 marks) In no more than 6 pages, describe the main features of your sample as if to the call centre management. You should include main features of individual variables and of the relationships between them. You should include Python numerical and graphical output to support your analyses. Then using your sample as evidence, explain what you believe that the impact of VHT was last Winter. (The clarity and content of your report are both important - Your report should not be a discussion of how you used Python to perform the calculations. You also need to think carefully about which output is relevant to use in the report).

(50 marks) These marks will go to programs that are well structured (for example, by following good programming practices and employing functional and object oriented programming concepts), well commented, intuitive to use (i.e. straightforward for me to run your code), generalisable (i.e., your code can be used with any datafiles), and exible (i.e. provide user options via a graphical user interface). Extensions to this would be to allow the user to input a certain month, and return information during this period; to allow the user to input min/max values of a given variable and return the data within the range; and so on.  The program could also present a menu that lets the user to perform actions such as adding / deleting / changing the data. You could also maintain a log le (using pickle package) containing the actions performed by users.