IFB113TC Programming for Business Application
1. Project Background
In the rapidly evolving e-commerce landscape, understanding sales trends is crucial for businesses aiming to optimize their strategies and drive growth. Your client, an e-commerce company specializing in a diverse range of products, faces challenges in efficiently analyzing and visualizing their sales data. Currently, the company relies on manual processes and basic spreadsheets, which limits their ability to quickly generate insights and make data-driven decisions.
To address these challenges, the company has commissioned the development of a user-friendly data analysis application. This application is designed to provide comprehensive insights into their sales data, enabling the company to make informed decisions about product strategies, marketing efforts, and inventory management.
1.1 Key Objectives:
1. Sales Data Visualization: The company requires dynamic and interactive visualizations to better understand sales trends. The application should generate bar charts to compare sales across different product categories and line charts to illustrate trends over time. These visualizations will help identify peak sales periods, emerging trends, and areas needing attention.
2. Data Summary and Reporting: The application should provide essential statistical summaries of sales data, including total sales, average sales per category, and highest sales values. This will help the company quickly grasp key metrics and performance indicators. The ability to generate and export these summaries in a structured report format is crucial for presenting findings to stakeholders and making strategic decisions.
3. User Interaction Features: To ensure ease of use, the application must allow users to upload sales data files in CSV format, select the type of analysis they wish to perform, and view results in an intuitive interface. Features like file upload dialogs, analysis selection menus, and result displays are essential for facilitating smooth and efficient data handling.
1.2 Challenges and Considerations:
• Data Integrity and Quality: Ensure the application handles various data formats and potential data quality issues effectively. Users may upload data with inconsistencies or errors, so the application should include basic validation and error handling mechanisms.
• Scalability and Performance: As the company’s sales data grows, the application should be able to handle large datasets efficiently. Performance optimization techniques should be considered to ensure quick data processing and visualization.
• User Experience: The user interface should be designed with simplicity and functionality in mind. It should accommodate users with varying levels of technical expertise, providing clear instructions and feedback throughout the data analysis process.
• Integration with Existing Systems: While the application will be standalone, consider potential future integrations with the company’s existing systems or platforms for seamless data transfer and enhanced functionality.
1.3 Deliverables:
The final deliverables will include the fully functional data analysis application with the aforementioned features, a detailed project report documenting the development process and showcasing the application’s capabilities and applications in real-world scenarios.
This project aims to empower the company with a robust solution for data analysis, helping them leverage their sales data to drive strategic decisions and enhance overall business performance.
2. Project Requirements
2.1 Requirements Analysis and Design Documentation (20 points)
Task
|
Description
|
Points
|
Requirements Analysis
|
Write a detailed requirements analysis document that defines the functional
requirements and objectives of the application. Describe how to extract useful
information from the data and how these features will help the company. Include user needs, functional requirements, and performance requirements.
|
10
|
Design
Documentation
|
Create a comprehensive design document that includes the basic architecture and design of functional modules. Include system architecture diagrams,
functional module diagrams, use case diagrams, class diagram etc.. Explain the design approach and implementation steps for each module.
|
10
|
2.2 Programming Implementation (60 points)
Task
|
Description
|
Points
|
Sales Data
Visualization
|
|
|
Data Reading
|
Write a Python program using pandas to read the CSV file data which is provided on Learning Mall individual assignment section and display the first few rows of
data. Include screenshots showing the codes.
Description of the Data
The CSV file contains transactional data with the following columns:
• Invoice ID: Unique identifier for each transaction.
• Branch: The branch of the store where the transaction took place.
• City: The city where the branch is located.
• Customer type: Type of customer (e.g., Member or Normal).
• Gender: Gender of the customer.
• Product line: Category of products purchased.
• Unit price: Price of a single unit of the product.
• Quantity: Number of units purchased.
• Tax 5%: Tax applied to the transaction (5% of the subtotal).
• Total: Total amount of the transaction including tax.
• Date: Date when the transaction occurred.
• Time: Time when the transaction occurred.
• Payment: Payment method used for the transaction.
• cogs: Cost of goods sold.
• gross margin percentage: Percentage of gross margin in the transaction.
• gross income: Gross income from the transaction.
• Rating: Customer rating for the transaction.
|
5
|
Bar Chart Generation
|
Write code using matplotlib or seaborn to create bar charts showing total sales amounts for different product categories. Include a title, X-axis label, and Y-axis label. Include screenshots showing the codes.
|
5
|
Line Chart Generation
|
Write code to generate line charts showing sales trends over time (monthly or quarterly) using matplotlib or seaborn. Include a title, X-axis label, and Y-axis label. Include screenshots showing the codes.
|
5
|