0% found this document useful (0 votes)
74 views60 pages

Kasi Puneeth Ram Report

Uploaded by

dineshsai94601
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views60 pages

Kasi Puneeth Ram Report

Uploaded by

dineshsai94601
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

SRI VENKATAESHWARA COLLEGE OF ENGINEERING AND TECHNOLOGY

(AUTONOMOUS)
R.V.S Nagar, Chittoor – 517 127. (A.P)
(Approved by AICTE, New Delhi, Affiliated to JNTUA, Anantapur)
(Accredited by NBA, New Delhi & NAAC A+, Bangalore)
(An ISO 9001:2000 Certified Institution)
2023-2024

INTERNSHIP REPORT
A report submitted in partial fulfilment of the requirements for the Award of Degree of

BACHELOR OF TECHNOLOGY
IN

COMPUTER SCIENCE & ENGINEERING


(DATA SCIENCE)
BY
KASI PUNEETH RAM
Regd.No.21781A3282
Under supervision of
Dr. Alok Yadav trainer
YBI FOUNDATION
(Duration: 27/06/2023 to 08/07/2024)
SRI VENKATAESHWARA COLLEGE OF ENGINEERING AND TECHNOLOGY
(AUTONOMOUS)
R.V.S Nagar, Chittoor – 517 127. (A.P)
(Approved by AICTE, New Delhi, Affiliated to JNTUA, Anantapur)
(Accredited by NBA, New Delhi & NAAC A+, Bangalore)
(An ISO 9001:2000 Certified Institution)
2023-2024

CERTIFICATE

This is to certify that the “Internship report” submitted by KASI


PUNEETH RAM (Regd.No.:22781A3265) is work done by him and
submitted during 2024-2025.Academic year, in partial fulfilment of the
requirements for the award of the Degree of BACHELOR OF
TECHNOLOGY in COMPUTER SCIENCE & ENGINEERING
(DATA SCIENCE), at YBI FOUNDATION

MR. S KUMARGURUBARN SIR Dr.M.MOSESDIAN SIR


INTERNSHIP COORDINATOR HEAD OF THE DEPARTMENT
(DATA SCIENCE)
CERTIFICATE
ACKNOWLEDGEMENT

 A Grateful thanks to Dr.R.VENKATASWAMY Chairman of Sri Venkateshwara


College of Engineering & Technology(Autonomous) for providing education in their
esteemed institution. I wish to record my deep sense of gratitude and profound thanks to
our beloved Vice Chairman, Sri R.V. Srinivas for his valuablesupport throughout the
course.
 I express our sincere thanks to Dr.M.MOHAN BABU our beloved principal for
his encouragement and suggestion during the course of study.

 With the deep sense of gratefulness, I acknowledge Dr. MOSESDIAN Head of


the Department, Computer Science Engineering (CSD), for giving us
inspiring guidance in undertaking internship.

 I express our sincere thanks to the internship coordinator MR. S KUMARGURUBARN


SIR forhis keen interest, stimulating guidance, constant encouragement with our work
during all stages, to bring this report into fruition.

 I wish to convey my gratitude and sincere thanks to all members for their support and
cooperation rendered for successful submission of report.

 Finally, I would like to express my sincere thanks to all teaching, non-teaching faculty
members, our parents, and friends and for all those who have supported usto complete
the internship successfully.

(NAME: KASI PUNEETH RAM)


(ROLL.NO. 22781A3265)
ABSTRACT
The process of store sales and profit analysis serves as a cornerstone for businesses seeking to
optimize operations and fuel growth through data-driven decision-making. This article explores the
significance of leveraging Python for comprehensive analysis, offering insights into areas such as
pricing, marketing, inventory management, and overall strategy. By delving into key metrics like
average deal size, win rate, customer acquisition cost, and more, businesses can align their strategies
with market dynamics, enhancing efficiency and customer satisfaction.
Python, with its versatile libraries and automation capabilities, emerges as a potent tool for this
analytical journey. Pandas facilitates seamless data manipulation, Matplotlib and Seaborn enable
visualization, and NumPy supports numerical operations, collectively empowering businesses to
glean actionable insights. The focus on employee turnover and customer retention rates underscores
the interconnectedness of internal and external factors in shaping overall success.
In the era of data abundance, Python-driven sales and profit analysis is not merely a technological
choice but a strategic imperative. Uncovering patterns, identifying outliers, and forecasting trends are
integral to gaining a competitive edge in a rapidly evolving market. This approach transcends
numerical evaluations, serving as a roadmap to sustainable growth, operational efficiency, and
strategic resilience.
ORGANIZATION PROFILE

ABOUT OUR ORGANIZATION


Ybi Foundation is an unlisted private company incorporated on 22 October, 2020. It is classified as
a not for profit company and is located in West Delhi, Delhi. It's authorized share capital is INR
10.00 lac and the total paid-up capital is INR 10.00 lac.

The current status of Ybi Foundation is - Active.

The last reported AGM (Annual General Meeting) of Ybi Foundation, per our records, was held on
30 September, 2022.

Ybi Foundation has two directors - Alok Yadav and Arushi Yadav.

The Corporate Identification Number (CIN) of Ybi Foundation is U80903DL2020NPL371984. The


registered office of Ybi Foundation is at C-176B, Gali No. 38 Mahavir Enclave Part 3, Delhi, West
Delhi, Delhi.
INDEX

Chapter 1: Introduction to Internship


1.1 Introduction to Internship
1.2 Recommended: Artificial Intelligence and GenAI
1.3 Instructions to Complete Internship
1.4 Scope of AI and Data Skills

Chapter 2: Upgrade Your Course


2.1 Plans and Upgrades

2.2 Frequently Asked Questions

2.3 Essential Learning Module

Chapter 3: Python for Everyone and database


3.1 Internship Class 1: Introduction to Python

3.2 Internship Class 2: Introduction to Google Colab

3.3 Python Libraries for Data Analytics

3.4 Read Data as Data Frame

Chapter 4: Python for Everyone and database Feedback and Review Assignment
4.1 Feedback and Review

4.2 Foundation Learning Module

Chapter 5: Data Analytics for Beginners


5.1 Internship Class 3 /Class 4/ Class 5

Chapter 6: Project Hub


6.1 Project Hub

7.2 Internship Projects 1

Chapter 7: Project Submission

7.1 Project Submission

7.2 Final Quiz (MCQ, 2 Attempts, 50 Questions)

CHAPTER 8: FINAL PROJECT

CHAPTER 9: CONCLUSION
Learning Objec ves/Internship Objec ves
• Internships are generally thought of to be reserved for college students looking to gain experience
in a particular field.

• However, a wide array of people can benefit from Training Internships in order to receive real world
experience and develop their skills. An objective for this position should emphasize the skills you
already possess in the area and your interest in learning more

• Internships are utilized in a number of different career fields, including architecture, engineering,
healthcare, economics, advertising and many more.

• Some internship is used to allow individuals to perform scientific research while others are
specifically designed to allow people to gain first-hand experience working.

• Utilizing Internship, make sure to highlight any special skills or talents that can make you stand
apart from the rest of the applicants so that you have an improved chance of landing the position
internships is a great way to build your resume and develop skills that can be emphasized in your
resume for future jobs. When you are applying for Training.
WEEKLY OVER VIEW OF INTERNSHIP ACTIVITIES
1ST WEEK
DATE DAY NAME OF THE MODULE/TOPICS COMPLETED
27-05-2024 Monday Introduction to Artificial Intelligence (AI)
28-05-2024 Tuesday Introduction to Generative Adversarial Networks (GenAI)
29-05-2024 Wednesday Instructions to Complete Internship
30-05-2024 Thursday Scope of AI and Data Skills
31-05-2024 Friday Upgrade Your Internship
01-06-2024 Saturday Review and Practice
02-06-2024 Sunday Review and Practice

2ND WEEK
DATE DAY NAME OF THE MODULE/TOPICS COMPLETED
03-06-2024 Monday Plans and Upgrades
04-06-2024 Tuesday Upgrade your Course
05-06-2024 Wednesday Frequently Asked Questions
06-06-2024 Thursday Review and Practice
07-06-2024 Friday Review and Practice
08-06-2024 Saturday Complete any pending tasks and review
09-06-2024 Sunday Complete any pending tasks and review

3RD WEEK
DATE DAY NAME OF THE MODULE/TOPICS COMPLETED
10-06-2024 Monday Essential Learning Module: Introduction
11-06-2024 Tuesday Essential Learning Module: Deep Dive
12-06-2024 Wednesday Practice and Application
13-06-2024 Thursday Practice and Application
14-06-2024 Friday Practice and Application
15-06-2024 Saturday Internship Class 1: Introduction to Python
16-06-2024 Sunday Internship Class 2: Introduction to Google Colab
4TH WEEK

DATE DAY NAME OF THE MODULE/TOPICS COMPLETED


17-06-2024 Monday Python Libraries for Data Analytics
18-06-2024 Tuesday Read Data As DataFrame
19-06-2024 Wednesday Review and Practice
20-06-2024 Thursday Review and Practice
21-06-2024 Friday Feedback and Reviews
22-06-2024 Saturday Review Feedback
23-06-2024 Sunday Address Feedback and Improve

5TH WEEK

DATE DAY NAME OF THE MODULE/TOPICS COMPLETED


24-06-2024 Monday Internship Class 3
25-06-2024 Tuesday Internship Class 4
26-06-2024 Wednesday Internship Class 5
27-06-2024 Thursday Review and Practice
28-06-2024 Friday Review and Practice
29-06-2024 Saturday Review and Practice
30-06-2024 Sunday Review and Practice

6th WEEK
DATE DAY NAME OF THE MODULE/TOPICS COMPLETED
01-07-2024 Monday Project Hub: Introduction
02-07-2024 Tuesday Project Work
03-07-2024 Wednesday Project Work
04-07-2024 Thursday Project Work
05-07-2024 Friday Project Work
06-07-2024 Saturday Project Work
7TH WEEK

DATE DAY NAME OF THE MODULE/TOPICS COMPLETED


08-07-2024 Monday Project Submission
08-07-2024 Monday Final Quiz (Attempt 1)
08-07-2024 Monday Review Quiz Results and Prepare
08-07-2024 Monday Review Quiz Results and Prepare
08-07-2024 Monday Update GitHub and LinkedIn Profiles with Final Project
08-07-2024 Monday Final Review and Documentation
08-07-2024 Monday Final Review and Documentation

8TH WEEK
DATE DAY NAME OF THE MODULE/TOPICS COMPLETED
08-07-2024 Monday FINAL EXAM

Chapter 1: Introduction to Internship


1.1 What is data science: Data science is the study of data to extract meaningful insights for
business. It is a multidisciplinary approach that combines principles and practices from the fields of
mathematics, statistics, artificial intelligence, and computer engineering to analyze large amounts of
data.
DATA PREPROCESSING TECHNIQUES:

Data Collection
Data Cleaning and Preprocessing
Exploratory Data Analysis (EDA)
Feature Engineering
Machine Learning
Model Evaluation and Validation:
Big Data and Distributed Computing
Deep Learning
Data Visualization
Ethics and Privacy
Domain Knowledge
Communication Skills

1.2 What are the jobs roles/domains in the data science and skills to learn
JOB ROLES:
EXAMPLE: DATA ANALYST DOMAIN/TOOLS: Data analysts play a critical role in
organizations by collecting, analyzing, and interpreting data to provide insights and support decision-
making. To excel as a data analyst, you should possess a combination of technical, analytical, and
communication skills. Here are some key skills that data analysts typically need

1.3 What is the range of salary in these domains


Chapter 2: Upgrade Your Course
2.1 spreadsheets| Importing Data to Excel:
Spread Sheet: Importing data into Excel is a common task that allows you to bring external data into
your spreadsheet for analysis, reporting, or other purposes. Excel supports various methods for
importing data. Here are some common ways to import data into Excel:
 Copy and Paste:
Copy data from an external source (such as a website, another Excel file, or a different
application).Open Excel and select the cell where you want to start pasting the data. Right-
click and choose "Paste" or use the keyboard shortcut (Ctrl + V on Windows or Command +
V on Mac).

 Text/CSV File Import:


If your data is in a text or CSV (Comma-Separated Values) file, you can import it directly into
Excel.Go to the "Data" tab, select "Get Data" or "Get External Data," and choose "From Text"
or "From CSV."Navigate to your file, select it, and follow the import wizard to specify
delimiters and other settings.

 Excel Import Wizard:


If your data is in another Excel workbook, you can use the Excel Import Wizard.Go to the
"Data" tab, select "Get Data" or "Get External Data," and choose "From Workbook."Navigate
to the source workbook, select it, and choose the specific sheet or range you want to import.

 Web Query
You can import data directly from a website using the Web Query feature.Go to the "Data"
tab, select "Get Data," and choose "From Web."Enter the URL of the website and follow the
wizard to select the data you want to import.

 Database Connection
If your data is in a database, you can establish a connection to the database and import data.Go
to the "Data" tab, select "Get Data," and choose "From Database."Follow the wizard to
connect to your database and import the desired data.

 Power Query:

Power Query is a powerful tool for data transformation and can be used to import data from
various sources.Go to the "Data" tab, select "Get Data," and choose "Get Data" again to open
the Power Query Editor.In the Power Query Editor, you can connect to various data sources,
perform transformations, and load the data into Excel.

2.2 Spreadsheets Functions to organize Data | Filtering | Pivot Tables | charts


Organizing Data:
Sort: ascending or descending order based on selected criteria.
Filter: Apply the Filter function to display only the rows that meet specific criteria, hiding the rest of
the data temporarily.
Group: Group data to organize it hierarchically, making it easier to analyze and summarize.
Filtering Data:
AutoFilter: Enable AutoFilter to quickly filter data based on specific values in a column.
Advanced Filter: Use the Advanced Filter function to apply complex criteria for filtering data.

Pivot Tables:
Create Pivot Table: Use the Pivot Table function to create a summary of a large dataset, allowing you
to rearrange, summarize, and analyse data dynamically.
Pivot Charts: Once you create a Pivot Table, you can create a Pivot Chart based on that table to
visualize the summarized data.
Charts and Graphs:
Insert Chart: Use the Insert Chart function to create various types of charts such as bar charts, line
charts, pie charts, etc.
Customize Charts: Customize the appearance and formatting of charts to better represent data using
the Chart Tools in Excel.
Combo Chart: Create a combo chart to display multiple sets of data in one chart, with different types
of data represented on different axes.

Data Validation:
Data Validation: Use Data Validation to set restrictions on what type of data can be entered into a cell,
ensuring data consistency and accuracy.
Text Functions: LEFT, RIGHT, MID: Use these functions to extract specific portions of text from
cells.
CONCATENATE, CONCAT: Combine text from multiple cells into one cell using these functions.

Lookup and Reference Functions:


VLOOKUP, HLOOKUP: Use these functions to look up values in a table based on a key and return
related information.
INDEX, MATCH: Use these functions to find a value in a specified row or column and return a value
in the corresponding cell.

Math and Statistical Functions:


SUM, AVERAGE, MAX, MIN: Use these functions for basic mathematical and statistical
calculations on a range of data.
COUNT, COUNTA, COUNTIF: Use these functions to count cells that meet certain criteria.

Date and Time Functions:


TODAY, NOW: Use these functions to insert the current date and time into a cell.
DATE, TIME: Create date and time values using these functions.

IF Function:
IF: Use the IF function to perform conditional operations based on specified criteria.
Logical Functions:
AND, OR, NOT: Use these functions to perform logical operations.

2.3 Conditional Formatting | Data Validation Conditional Formatting:


Conditional formatting is a feature in Excel that allows you to apply specific formatting rules to cells
based on their content, helping you visually analyse and highlight important trends or patterns in your
data. Here's how to use conditional formatting:
Highlight Cell Rules:
 Select the range of cells you want to apply conditional formatting to.
 Go to the "Home" tab.
 Click on "Conditional Formatting" in the "Styles" group.
 Choose "Highlight Cells Rules" and select a rule like "Greater Than," "Less Than,"
"Between," etc.
 Set the conditions and formatting options. Excel will automatically apply the chosen
formatting to the cells based on the specified conditions.
Data Bars, Color Scales, Icon Sets: These options in the "Conditional Formatting" menu allow
you to visually represent the values in your cells using bars, color gradients, or icons, making it easier
to interpret the data.

New Rule: For more advanced or custom rules, you can select "New Rule" in the "Conditional
Formatting" menu. This allows you to define your own formatting rule using formulas.

Data Validation: Data validation is a feature that helps control what type of data can be entered
into a cell or range. It ensures data accuracy and consistency by restricting the input to specific
criteria. Here's how to use data validation:

Basic Data Validation:


 Select the cells or range where you want to apply data validation.
 Go to the "Data" tab and click on "Data Validation."
 Choose the type of validation rule (e.g., whole number, decimal, list, date, text length) and set
the criteria accordingly.
 Customize the error message and input message if needed.
List Data Validation:
 To create a drop-down list for cell input:
 Select the cells where you want the drop-down list.
 Go to the "Data" tab and click on "Data Validation."
 Choose "List" as the validation criteria and specify the source of the list (either a range of
cells or a comma-separated list).
 Custom Data Validation:
Chapter 3: Python for Everyone and data base

3.1 SQL Overview | Relational Database Concepts: SQL (Structured Query


Language) is a domain-specific language used in programming to manage and manipulate
relational databases. It provides a standardized way to interact with databases, enabling users to
perform tasks such as querying data, inserting new records, updating existing records, and deleting
records. SQL is crucial for working with relational database management systems (RDBMS), such
as MySQL, PostgreSQL, Microsoft SQL Server, Oracle, and SQLite.

Relational Databases:

Tables: Data in a relational database is organized into tables. Each table consists of rows and columns,
where each column represents an attribute, and each row represents a record.Relationships: Tables in
a relational database can be related to each other through common columns, creating relationships.

SQL Commands:

DDL (Data Definition Language):

CREATE: Used to create a new database, table, or other database objects.

ALTER: Modifies the structure of an existing database object (e.g., adding a new column to a table).

DROP: Deletes a database or database object (e.g., a table).

DML (Data Manipulation Language):

SELECT: Retrieves data from one or more tables.

INSERT: Adds new records to a table.

UPDATE: Modifies existing records in a table.

DELETE: Removes records from a table.

DCL (Data Control Language):

GRANT: Provides specific privileges to users or roles.

REVOKE: Removes specific privileges from users or roles.

Data Types:

SQL supports various data types, such as INTEGER, VARCHAR (variable-length character strings),
DATE, FLOAT, etc. These data types define the kind of data that can be stored in a column.

Constraints: Constraints are rules defined on a column or a table to enforce data integrity. Common
constraints include PRIMARY KEY (uniquely identifies each record), FOREIGN KEY (establishes
a link between tables), NOT NULL, CHECK, etc.
Indexes:

Indexes improve the speed of data retrieval operations on a database table. They provide a quick
lookup mechanism for specific columns.

Querying:

SQL uses the SELECT statement to query data from one or more tables. It supports filtering, sorting,
and grouping of data using clauses like WHERE, ORDER BY, and GROUP BY.

Joins:

Joins are used to combine rows from two or more tables based on related columns. Common types
include INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL OUTER JOIN.

Transactions:

A transaction is a sequence of one or more SQL statements that are executed as a single unit.
Transactions ensure data consistency and integrity. Common transaction commands include
COMMIT and ROLLBACK.

Views:

A view is a virtual table based on the result of a SELECT query. It allows users to query and
manipulate data as if it were a regular table.

SQL is a powerful language for managing and interacting with relational databases, and it's widely
used in software development, data analysis, and various other fields. Understanding these
fundamental concepts will help you work effectively with SQL databases.

3.2 SQL Data Grouping and Summarizing

1. Normalization:

Purpose: Normalization is the process of organizing data to reduce redundancy and improve data
integrity.

Normal Forms: A database is typically designed to conform to certain normal forms (e.g., First
Normal Form, Second Normal Form, Third Normal Form) to ensure efficient data storage and
minimize data anomalies.

2. Stored Procedures and Functions:

Stored Procedures: These are precompiled SQL statements that can be executed with a single call.
They are stored in the database and can accept parameters, making them reusable and efficient.

Functions: Similar to stored procedures, functions return a value, but they are often used for
calculations and are part of SQL expressions.
3. Triggers:

Definition: Triggers are sets of instructions that are automatically executed ("triggered") in response
to certain events on a particular table or view. Use Cases: Triggers are commonly used for enforcing
business rules, auditing changes, or maintaining data integrity.

4. ACID Properties:
Atomicity, Consistency, Isolation, Durability (ACID):
Atomicity: Ensures that a transaction is treated as a single, indivisible unit, either fully completed or
fully rolled back.
Consistency: Guarantees that a transaction brings the database from one valid state to another.
Isolation: Ensures that the execution of transactions is independent of each other.
Durability: Once a transaction is committed, its effects are permanent and survive subsequent system
failures.

5. Transactions and Concurrency Control:

Transaction Control Statements: In addition to COMMIT and ROLLBACK, SQL provides statements
like SAVEPOINT to manage transactions more flexibly.

Concurrency Control: Mechanisms like locks and isolation levels help manage concurrent access to
the database, preventing issues such as lost updates or inconsistent reads.

6. Security and Authentication:

User Accounts and Roles: SQL databases have a security model that includes user accounts and roles.
Users can be granted specific privileges to control access to data and functionality. Authentication
Methods: Databases support various authentication methods, such as username/password, integrated
security, and more.

7. Dynamic SQL:

Dynamic SQL: In some scenarios, you may need to dynamically generate and execute SQL
statements within your applications. Dynamic SQL allows you to construct SQL statements at
runtime.

8. NoSQL vs. SQL Databases:

NoSQL Databases: In contrast to traditional SQL databases, NoSQL databases offer different data
models (e.g., document-oriented, key-value, graph) and are designed to handle large volumes of
unstructured or semi-structured data.

9. SQL Standards: ANSI SQL: SQL is based on standards defined by the American National
Standards Institute (ANSI). Different database management systems (DBMS) may implement SQL
in slightly different ways, but adherence to ANSI SQL ensures a degree of portability
3.3 SQL Clause, SQL Functions
Aggregate Functions: Perform calculations across multiple rows and return a single result:

 SUM(): Calculates the sum of values.


 AVG(): Calculates the average of values.
 COUNT(): Counts the number of rows or non-null values.
 MAX(): Returns the maximum value.
 MIN(): Returns the minimum value.
String Functions: Manipulate and analyse text data:

 CONCAT(): Concatenates two or more strings.


 SUBSTRING(): Extracts a substring.
 UPPER(): Converts a string to uppercase.
 LOWER(): Converts a string to lowercase.
 LENGTH(): Returns the length of a string.
Date and Time Functions: Perform operations on date and time data types:

 NOW(): Returns the current date and time.


 DATE(): Extracts the date from a date-time value.
 DATEDIFF(): Calculates the difference between two dates.
 DATE_ADD(): Adds a specified time interval to a date.
Mathematical Functions: Perform mathematical calculations:

 ROUND(): Rounds a numeric value to a specified number of decimal places.


 ABS(): Returns the absolute value of a numeric value.
 SQRT(): Calculates the square root of a number.
Logical Functions: Evaluate logical expressions:

 IF(): Returns one value if a condition is true and another if false.


 CASE(): Performs conditional logic within a query.
4.4 SQl-Correalted and uncorrelated Queries -sub-Queries
In SQL, subqueries, whether correlated or uncorrelated, provide a way to nest one query inside
another. This allows for more complex and dynamic SQL queries. Let's explore the concepts of
correlated and uncorrelated subqueries:
Uncorrelated Subqueries: An uncorrelated subquery is a subquery that can be executed
independently of the outer/main query. It does not depend on the outer query for its values.
Uncorrelated subqueries are executed only once and provide a result set that is used by the main
query.
Correlated Subqueries: A correlated subquery is a subquery that is executed once for each row
processed by the outer/main query. The subquery references columns from the outer query, and its
results are dependent on the current row being processed by the main query.
Usage and Considerations: Uncorrelated subqueries are generally faster and more efficient than
correlated subqueries. Correlated subqueries are necessary when you need to perform operations
based on each row of the outer query. Use uncorrelated subqueries when the subquery can be executed
independently for all rows.
Subqueries in Various Clauses:
Subqueries in WHERE clause: SELECT * FROM table1 WHERE column1 = (SELECT column2
FROM table2 WHERE condition);
Subqueries in FROM clause (Derived Tables): SELECT t1.column1 FROM (SELECT * FROM
table1 WHERE condition) AS t1;
Subqueries in SELECT clause:
SELECT (SELECT MAX(column1) FROM table1) AS max_value;
Example Correlated Subquery:
Suppose we want to find employees in a table "Employees" whose salary is greater than the average
salary of their department.
SELECT emp_name, salary
FROM Employees AS e1
WHERE salary > (SELECT AVG(salary) FROM Employees AS e2 WHERE e1.department =
e2.department);
In this example, the subquery (SELECT AVG (salary) FROM Employees AS e2 WHERE
e1.department = e2.department) is correlated because it references the department from the outer
query (e1).
Chapter 4: Python for Everyone and database Feedback and Review Assignment
4.1 Collection objects -1(conditional Statements, Arrays, Strings)
Collection Objects:
Lists:
A list is a versatile collection object in Python that can hold different data types. It is defined using
square brackets [] and elements are separated by commas.
my_list = [1, 2, 3, "apple", "banana", True]
Tuples:
Similar to lists, tuples are ordered collections, but they are immutable, meaning their elements cannot
be changed after creation. Tuples are defined using parentheses ().
my_tuple = (1, 2, "apple", True)
Sets:
Sets are unordered collections that do not allow duplicate elements. They are defined using curly
braces {}.
my_set = {1, 2, 3, "apple"}
Dictionaries:
Dictionaries are collections of key-value pairs. They are defined using curly braces {} with key-value
pairs separated by colons.
my_dict = {"name": "John", "age": 25, "city": "New York"}
Conditional Statements:
If Statements:
The if statement is used to check a condition and execute a block of code if the condition is true.
x = 10
if x > 5:
print("x is greater than 5")
If-else Statements:
The if-else statement is used to execute one block of code if the condition is true and another block
if it is false.
x=3
if x > 5:
print("x is greater than 5")
else:
print("x is not greater than 5")
If-elif-else Statements:
The if-elif-else statement is used when there are multiple conditions to check.
x=5
if x > 5:
print("x is greater than 5")
elif x < 5:
print("x is less than 5")
else:
print("x is equal to 5")
Strings:
String Concatenation:
You can concatenate (combine) strings using the + operator.
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result)
String Methods:
Strings have various built-in methods for manipulation, such as upper(), lower(), replace(), split(),
and more.
my_string = "Hello, World!"
print(my_string.upper())
print(my_string.lower())
print(my_string.replace("Hello", "Hi"))
print(my_string.split(","))
String Formatting:
String formatting allows you to embed variables or expressions inside a string.
name = "John"
age = 30
message = f"My name is {name} and I am {age} years old."
print(message)
These are fundamental concepts in Python programming.
4.2 Collection objects -2(List, Tuple, Dictionary)
List Methods:
append(): Adds an element to the end of the list.
my_list = [1, 2, 3]
my_list.append(4)
# Result: [1, 2, 3, 4]

extend(): Appends elements from an iterable to the end of the list.


my_list = [1, 2, 3]
my_list.extend([4, 5])
# Result: [1, 2, 3, 4, 5]

insert(): Inserts an element at a specified position.


my_list = [1, 2, 3]
my_list.insert(1, 4)
# Result: [1, 4, 2, 3]

remove(): Removes the first occurrence of a value.


my_list = [1, 2, 3, 2]
my_list.remove(2)
# Result: [1, 3, 2]

pop(): Removes and returns an element at a specified index.


my_list = [1, 2, 3]
popped_element = my_list.pop(1)
# Result: my_list=[1, 3], popped_element=2

index(): Returns the index of the first occurrence of a value.


my_list = [1, 2, 3, 2]
index = my_list.index(2)
# Result: index=1

count(): Returns the number of occurrences of a value.


my_list = [1, 2, 3, 2]
count = my_list.count(2)
# Result: count=2

sort(): Sorts the list in ascending order.


my_list = [3, 1, 4, 1, 5, 9, 2]
my_list.sort()
# Result: [1, 1, 2, 3, 4, 5, 9]

reverse(): Reverses the elements of the list.


my_list = [1, 2, 3]
my_list.reverse()
# Result: [3, 2, 1]

Tuple Characteristics:
Immutable: Once a tuple is created, you cannot modify its elements.
Indexing and Slicing: Similar to lists, you can access elements by index and perform slicing
operations.
my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[1]) # Result: 2
print(my_tuple[2:4]) # Result: (3, 4)

Dictionary Methods:
keys(): Returns a list of all keys in the dictionary.
my_dict = {"name": "John", "age": 25, "city": "New York"}
keys = my_dict.keys()
# Result: dict_keys(['name', 'age', 'city'])

values(): Returns a list of all values in the dictionary.


my_dict = {"name": "John", "age": 25, "city": "New York"}
values = my_dict.values()
# Result: dict_values(['John', 25, 'New York'])

items(): Returns a list of key-value pairs as tuples.


my_dict = {"name": "John", "age": 25, "city": "New York"}
items = my_dict.items()
# Result: dict_items([('name', 'John'), ('age', 25), ('city', 'New York')])
get():
Returns the value associated with a key, or a default value if the key is not present.
my_dict = {"name": "John", "age": 25, "city": "New York"}
age = my_dict.get("age", 0)
# Result: age=25

pop(): Removes and returns the value associated with a key.


my_dict = {"name": "John", "age": 25, "city": "New York"}
age = my_dict.pop("age")
# Result: my_dict={'name': 'John', 'city': 'New York'}, age=25
These are some key features and methods related to Lists, Tuples, and Dictionaries in Python.

4.3 OOPs
Certainly! Object-Oriented Programming (OOP) is a programming paradigm that uses objects—
instances of classes—as a fundamental building block for creating and organizing software. Here's
an overview of key concepts in OOP:
Classes and Objects:
Class:
A class is a blueprint or template for creating objects.
It defines the attributes (data) and methods (functions) common to all objects of that type.
class Car:
def __init__(self, make, model):
self.make = make
self.model = model

def start_engine(self):
print("Engine started!")
Object:
An object is an instance of a class. It represents a real-world entity and is created from the class
blueprint.
my_car = Car("Toyota", "Camry")
Encapsulation:
Encapsulation is the bundling of data (attributes) and the methods that operate on that data into a
single unit (class).
It helps in hiding the internal details of the object and exposing only what is
necessary.
Inheritance:
Inheritance allows a class (subclass or derived class) to inherit the properties and methods of another
class (superclass or base class).
It promotes code reusability and establishes an "is-a" relationship between classes.
class ElectricCar(Car):
def __init__(self, make, model, battery_capacity):
super().__init__(make, model)
self.battery_capacity = battery_capacity
def charge_battery(self):
print("Battery charging...")
Polymorphism:
Polymorphism allows objects of different classes to be treated as objects of a common base class.
It enables a single interface to represent different types of objects.
def describe_vehicle(vehicle):
print(f"{vehicle.make} {vehicle.model}")
car = Car("Toyota", "Camry")
electric_car = ElectricCar("Tesla", "Model S", "100 kWh")
describe_vehicle(car) # Output: Toyota Camry
describe_vehicle(electric_car) # Output: Tesla Model S
Abstraction:
Abstraction involves simplifying complex systems by modeling classes based on the essential
properties and behaviors.
It hides the unnecessary details while revealing the necessary ones.
6. Composition:
Composition is a way to combine objects of different classes to create more complex objects.
It allows for creating relationships between objects without the need for inheritance.
class Engine:
def start(self):
print("Engine started!")
class Car:
def __init__(self):
self.engine = Engine()
def start_engine(self):
self.engine.start()
Encapsulation, Inheritance, and Polymorphism (EIP):
These three principles together are often referred to as EIP and are considered the three main pillars
of OOP.
They guide the design and implementation of classes and their relationships.
Example: OOP in Python
class Animal:
def __init__(self, name):
self.name = name
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "Woof!"
class Cat(Animal):
def make_sound(self):
return "Meow!"
dog = Dog("Buddy")
cat = Cat("Whiskers")
print(dog.make_sound()) # Output: Woof!
print(cat.make_sound()) # Output: Meow!
In this example, Animal is the base class, and Dog and Cat are subclasses. They demonstrate
inheritance and polymorphism.
Understanding and applying OOP concepts can lead to more organized, modular, and maintainable
code.
6.4 Python Strings
String Basics:
Strings are created using single (‘) or double (“) quotes.
My_string_single = ‘Hello, World!’
my_string_double = “Hello, World!”
Triple-quoted strings can be used for multiline strings.
Multiline_string = ‘’’This is a
multiline
string.’’’
2. String Operations:
Concatenation:
str1 = “Hello”
str2 = “World”
result = str1 + “ “ + str2
# Result: “Hello World”
Repetition:
repeated_str = “abc” * 3
# Result: “abcabcabc”
Indexing and Slicing:
my_string = “Python”
print(my_string[0]) # Result: ‘P’
print(my_string[1:4]) # Result: ‘yth’

3. String Methods:
len(): Returns the length of the string.
Length = len(“Hello”)

# Result: 5

lower() and upper(): Converts the string to lowercase or uppercase.


My_string = “Hello”
print(my_string.lower()) # Result: “hello”
print(my_string.upper()) # Result: “HELLO”
strip(): Removes leading and trailing whitespace.

My_string = “ Hello “
stripped_string = my_string.strip()
# Result: “Hello”

replace(): Replaces a substring with another substring.


My_string = “Hello, World!”
new_string = my_string.replace(“World”, “Python”)
# Result: “Hello, Python!”
find() and count(): Finds the index of a substring or counts its occurrences.
My_string = “Hello, World!”
index = my_string.find(“World”)
count = my_string.count(“l”)
# Result: index=7, count=3

split(): Splits the string into a list of substrings.


My_string = “apple,orange,banana”
my_list = my_string.split(“,”)
# Result: [‘apple’, ‘orange’, ‘banana’]

4. String Formatting:
Using % Operator:
name = “John”
age = 25
message = “My name is %s and I am %d years old.” % (name, age)
Using format():
name = “John”
age = 25
message = “My name is {} and I am {} years old.”.format(name, age)
Using f-strings (Python 3.6 and above):
name = “John”
age = 25
message = f”My name is {name} and I am {age} years old.”

5. Unicode and Bytes:


Strings in Python are Unicode by default, supporting a wide range of characters.
Bytes objects are used to represent sequences of bytes.
32nicode_string = “Hello, World!”

byte_string = b”Hello, World!”

6. String Escape Characters:


Escape characters are used to represent special characters in strings.
My_string = “This is a line break.\nAnd this is a tab\t.”
Chapter 5: Data Analytics for Beginners
5.1 NumPy Array
Certainly! NumPy is a powerful numerical computing library in Python. It provides support for large,
multi-dimensional arrays and matrices, along with a collection of mathematical functions to operate
on these elements. Here's some essential information about NumPy arrays:

1. NumPy Array Basics:


NumPy arrays are the core data structure for representing homogeneous numerical data.
They can be one-dimensional (1D), two-dimensional (2D), or even multi-dimensional.
NumPy arrays are more memory-efficient than Python lists and provide fast numerical operations.

2. Creating NumPy Arrays:


From a List:
import numpy as np
arr = np.array([1, 2, 3])
Using Built-in Functions:
# Create an array of zeros
zeros_arr = np.zeros((3, 4))
# Create an array of ones
ones_arr = np.ones((2, 2))
# Create an identity matrix
identity_mat = np.eye(3)
Arange and Linspace:
# Create an array with a range of values
range_arr = np.arange(0, 10, 2)

# Create an array with a specified number of values between two endpoints


linspace_arr = np.linspace(0, 1, 5)

3. Array Operations:
Element-wise Operations:
a = np.array([1, 2, 3])

b = np.array([4, 5, 6])
# Element-wise addition
result = a + b
Matrix Operations:
matrix_a = np.array([[1, 2], [3, 4]])
matrix_b = np.array([[5, 6], [7, 8]])
# Matrix multiplication
result_matrix = np.dot(matrix_a, matrix_b)

4. Indexing and Slicing:


NumPy arrays support similar indexing and slicing as Python lists.
arr = np.array([1, 2, 3, 4, 5])
sub_array = arr[2:4]

5. Shape and Reshaping:


arr = np.array([[1, 2, 3], [4, 5, 6]])
shape = arr.shape # Returns (2, 3)
Reshaping:
reshaped_arr = arr.reshape(3, 2)
6. Broadcasting:
NumPy allows operations between arrays of different shapes and sizes through broadcasting.
a = np.array([1, 2, 3])
b=2
result = a * b # Broadcasting

7. Universal Functions (ufunc):


NumPy provides a set of universal functions that operate element-wise on arrays.
arr = np.array([1, 2, 3])
# Square root of each element
sqrt_arr = np.sqrt(arr)

8. Random Module:
NumPy has a random module for generating random numbers and arrays.
rand_arr = np.random.rand(2, 3) # Random values in a given shape

9. Statistical Functions:
NumPy provides various functions for calculating statistics on arrays.
mean_val = np.mean(arr)
std_dev = np.std(arr)

10. Linear Algebra:


NumPy provides a module for linear algebra operations.
eigenvalues, eigenvectors = np.linalg.eig(matrix_a)!

5.2 Operations on Array

Operations on NumPy arrays encompass a wide range of functionalities for data manipulation,
computation, and analysis. Here's a comprehensive overview of various operations you can perform
on NumPy arrays:

1. Mathematical Operations: NumPy allows for element-wise mathematical operations on arrays.


import numpy as np
arr = np.array([1, 2, 3])
arr_add = arr + 5 # Add 5 to each element
arr_sub = arr - 2 # Subtract 2 from each element
arr_mul = arr * 3 # Multiply each element by 3
arr_div = arr / 2 # Divide each element by 2
arr_exp = np.exp(arr) # Compute exponential for each element
# Logarithm (natural logarithm)
arr_log = np.log(arr) # Compute natural logarithm for each element
# Trigonometric functions
arr_sin = np.sin(arr) # Compute sine for each element
arr_cos = np.cos(arr) # Compute cosine for each element

2. Statistical Operations: NumPy provides functions for calculating various statistics from
arrays.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
mean_value = np.mean(arr)
median_value = np.median(arr)
std_dev = np.std(arr)
variance = np.var(arr)
sum_value = np.sum(arr)
product = np.prod(arr)
3. Aggregation Functions:
These functions perform operations on entire arrays or along a particular axis.
import numpy as np
arr = np.array([[1, 2], [3, 4]])
total_sum = np.sum(arr)
column_sum = np.sum(arr, axis=0)
row_sum = np.sum(arr, axis=1)
4. Array Comparison and Boolean Operations:
Performing comparisons and generating boolean arrays.
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([2, 2, 2])
element_comparison = arr1 == arr2
logical_and = np.logical_and(arr1 > 1, arr2 == 2)
logical_or = np.logical_or(arr1 > 2, arr2 == 2)
logical_not = np.logical_not(arr1 > 1)

5. Reshaping and Flattening:

Changing the shape of an array and flattening it.

import numpy as np
arr = np.array([[1, 2], [3, 4]])
reshaped_arr = arr.reshape(4) # Convert to 1D array
flattened_arr = arr.flatten() # Flatten to 1D array

6. Sorting:.

import numpy as np
arr = np.array([3, 1, 2])
sorted_arr = np.sort(arr)
reverse_sorted_arr = np.sort(arr)[::-1]

These are fundamental operations on NumPy arrays. Utilizing these operations allows for efficient
and powerful data manipulation and computation, making NumPy a cornerstone in scientific
computing and data analysis.

5.3 Indexing and Slicing

Indexing and slicing in NumPy allow you to access and manipulate specific elements or ranges of
elements in an array. Here's a comprehensive guide to indexing and slicing in NumPy:

1. Indexing: In NumPy, indexing is the process of accessing individual elements in an array.


1D Array: For a 1D array, indexing is similar to a Python list.
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
print(arr[0])
Output: 10
print(arr[-1])
Output: 50
b. Multi-dimensional Array: For a multi-dimensional array, indexing involves specifying
indices for each dimension.

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr[0, 1]) # Output: 2 (row 0, column 1)

2. Slicing: Slicing allows you to extract a portion of an array. The basic syntax is start:stop:step.

1D Array:
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
print(arr[1:4]) # Output: [20 30 40]
print(arr[::2]) # Output: [10 30 50]

b. Multi-dimensional Array: Slicing works similarly for multi-dimensional arrays, specifying


slices for each dimension.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr[:2, 1:]) # Output: [[2 3], [5 6]]

3. Boolean Indexing: Boolean indexing allows you to filter elements based on a condition.
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
# Boolean condition
condition = arr > 30
# Applying the condition
filtered_arr = arr[condition]
print(filtered_arr) # Output: [40 50]

4. Integer Array Indexing: You can use integer arrays to extract specific elements.
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
# Integer array for indexing
indices = np.array([1, 3])
# Accessing elements using the integer array
selected_elements = arr[indices]
print(selected_elements) # Output: [20 40]

5. Slicing with Assignment:


You can use slicing to modify elements in an array.
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
arr[1:4] = 0
print(arr) # Output: [10 0 0 0 50]
Chapter 6: Project Hub (Tableau)

6.1 Tableau: Tableau is a powerful and popular data visualization tool that allows you to create
interactive and shareable dashboards and reports. Here are some basic concepts and steps to get started
with Tableau:

Installing and Setting Up Tableau: Installation: Download and install Tableau Desktop from the
Tableau website. You can choose a trial version or a licensed version based on your needs.

Connecting to Data:

Data Sources: Tableau can connect to various data sources like Excel, CSV, databases (SQL, MySQL,
etc.), cloud-based sources, and more.

Connecting to Data: Open Tableau and click on "Connect to Data." Choose the appropriate data
source, and follow the prompts to connect.

Data Preparation and Cleaning:Tableau allows for basic data preparation, cleaning, and
transformation within the tool itself. You can rename fields, create calculated fields, pivot data, etc.

Creating Visualizations: Dimensions and Measures: Tableau distinguishes between dimensions


(categorical data) and measures (quantitative data).

Creating a Visualization: Drag and drop dimensions and measures into the Rows and Columns shelves
to create a visualization.

Common Visualizations: Tableau offers various visualization options like bar charts, line charts,
scatter plots, maps, and more.

Building Dashboards: Dashboard Workspace: Combine multiple visualizations into a single


dashboard.

Formatting: Customize the appearance of your dashboard by formatting colors, fonts, and layout.

Interactivity:
Filtering: Allow users to interact with your data by adding filters.
Actions: Create interactive actions between different sheets or dashboards.

Saving and Sharing:


Saving: Save your Tableau workbook (.twb) to keep your work.
Publishing: Publish your workbook to Tableau Server or Tableau Public for sharing.

Tableau Server and Tableau Public:


Tableau Server: It allows sharing and managing Tableau workbooks within an organization.
Tableau Public: A free service for sharing Tableau visualizations publicly.
Learning Resources:
Tableau Help and Documentation: The Tableau official website provides extensive documentation
and tutorials.
Online Courses: Many online platforms offer Tableau courses to help you master the tool.
Community Forums: Participate in Tableau community forums to get help and learn from others.

Advanced Features:
Parameters and Calculations: Use parameters and calculated fields for more complex analyses.
Advanced Visualizations: Explore advanced visualizations like dual-axis charts, trend lines, and
forecasting.
Mapping: Utilize Tableau's mapping capabilities for geographic data visualization.
Tableau is a versatile tool with a lot of capabilities. Starting with the basics and gradually exploring
its features and functionalities will help you create powerful and insightful data visualizations.

6.2 Meta Data

In Tableau, metadata refers to the information about the data itself. It includes details about the
structure, properties, and characteristics of the data you're working with. Understanding metadata is
crucial for effective data analysis and visualization. Here's how metadata is handled in Tableau:

Viewing Metadata for Data Sources: When you connect to a data source in Tableau, you can view
metadata related to that data source. This includes information about tables, columns, data types, and
other properties.

Data Pane: The Data pane in Tableau displays the metadata of the connected data source, including
dimensions (categorical data), measures (quantitative data), and other relevant information.

Field Metadata: Within Tableau, you can access metadata for each field (column) in your data source.

Field Properties: Right-click on a field in the Data pane and select "Describe" to view field properties.
This provides details like the data type, minimum and maximum values, and more.

Custom Field Names and Aliases: You can customize field names and aliases to make them more
descriptive and meaningful. This doesn't change the actual data but provides a clear representation.

Data Types and Roles: Tableau assigns data types and roles to each field based on the initial analysis
of the data source. However, you can manually override these assignments based on your
understanding of the data.

Data Type: You can change the data type assigned to a field. For example, you can change a numerical
field to a date field if required.

Role: Assign roles like dimension (discrete data) or measure (continuous data) to fields.

Calculated Fields and Metadata: When creating calculated fields in Tableau, metadata plays a role in
defining the properties of the new field.
Field Properties in Calculations: When creating a calculated field, Tableau allows you to specify the
field's properties, including data type and aggregation.

Metadata Grid: The Metadata Grid in Tableau allows you to view and modify field properties and
aliases for a data source.

Metadata Impact on Visualizations: Understanding the metadata is critical in building effective


visualizations. The type of data (dimension or measure) and its properties influence how Tableau
visualizes the data.

Chart Suggestions: Tableau offers chart suggestions based on the metadata. For example, it might
suggest a bar chart for a categorical variable and a line chart for a time series.

6.3 Types of Tableau Chart:

Tableau offers a wide range of charts and visualization options to help users represent their data in a
meaningful and insightful way. Here are some common types of Tableau charts:

Bar Chart: Bar charts represent data using rectangular bars, with the length of each bar proportional
to the value it represents. Bar charts are effective for comparing discrete categories.

Line Chart: Line charts display data points connected by lines, useful for showing trends or changes
over a continuous range, such as time.

Area Chart: Area charts are similar to line charts, but the area under the line is filled, making it useful
for comparing proportions over time.

Scatter Plot: Scatter plots represent individual data points with dots on a graph, making them useful
for showing relationships or correlations between two numerical variables.

Histogram: Histograms provide a visual representation of the distribution of a dataset, showing the
frequency of values within specific ranges (bins).

Pie Chart: Pie charts display data as a circular graph divided into slices, where each slice represents
a proportion of the whole.

Heat Map: Heat maps use color to represent data values in a matrix, making it easier to identify
patterns and variations.

Tree Map: Tree maps represent hierarchical data in a nested, rectangular layout. The size of each
rectangle is proportional to the data it represents.

Bubble Chart: Bubble charts display data points using bubbles, where the size of the bubble represents
a third numerical variable.

Gantt Chart: Gantt charts visualize project timelines, showing the start and end times of various tasks
or activities.
Box Plot (Box and Whisker Plot): Box plots display the distribution of data based on quartiles, helping
to identify outliers and distribution patterns.

Bullet Graph:Bullet graphs are used to display performance data, comparing a primary measure to a
target measure and additional measures.

Waterfall Chart: Waterfall charts show how an initial value is increased or decreased by a series of
intermediate values, often used for financial data analysis.

Packed Bubble Chart: Packed bubble charts are similar to bubble charts but with bubbles packed
tightly to visualize hierarchical data.

Dual-Axis Chart: Dual-axis charts combine two different chart types in a single chart, allowing for
better comparison of data.

Radar Chart: Radar charts display data in a circular pattern, useful for comparing multiple quantitative
variables.

Map Chart: Tableau offers different map charts, including symbol maps, filled maps, and heat maps,
to visualize data geographically.

6.4 Visual Analytics

Visual analytics in Tableau involves using Tableau's powerful features and tools to visually explore,
analyse and gain insights from data. It allows users to create interactive and insightful visualizations
that help in understanding complex data patterns, trends, and relationships. Here are the key aspects
of visual analytics in Tableau:

Drag-and-Drop Interface: Tableau offers an intuitive drag-and-drop interface, allowing users to easily
connect to data sources and drag dimensions and measures onto the canvas to create visualizations.

Quick Visualization Creation: Users can quickly create various types of visualizations like bar charts,
line charts, pie charts, scatter plots, and more by simply dragging and dropping data fields onto the
canvas.

Interactive Dashboards: Users can create interactive dashboards by combining multiple visualizations
onto a single canvas. Interactivity allows users to filter and highlight specific data points dynamically.

Filters and Highlighting: Tableau provides options to filter data based on dimensions or measures,
enabling users to focus on specific subsets of data for analysis. Users can also highlight data points
or groups.

Parameters and Calculated Fields: Tableau allows users to create parameters and calculated fields to
perform complex calculations and customize visualizations dynamically.

Data Blending and Joining: Users can blend or join data from different sources, allowing for a unified
view of disparate datasets and facilitating comprehensive analysis.
Annotations and Annotations Pane: Users can add annotations to visualizations to provide additional
context or explanations. The Annotations pane allows for easy management and customization of
annotations.

Tableau Story Points: Tableau Story Points enable users to create a sequence of visualizations that
tell a story or present a narrative, providing a guided analytical experience.

Mapping and Geospatial Analysis: Tableau allows users to plot geographical data on maps, enabling
geospatial analysis and insights.

Integration with Advanced Analytics: Tableau integrates with advanced analytics platforms and tools,
allowing users to incorporate predictive analytics, machine learning models, and statistical analysis
into their visualizations.

Publishing and Sharing: Users can publish their visualizations and dashboards to Tableau Server or
Tableau Online, making them accessible to others for viewing and interaction.

Data Alerts and Subscriptions: Users can set up data alerts to receive notifications when specific
conditions in the data are met. Subscriptions allow scheduled delivery of dashboards via email.

Real-Time Data Analysis: Tableau supports real-time data analysis, allowing users to visualize and
analyze streaming data for timely decision-making.
Chapter 6: Project Hub (power bi)

7.1 POWER BI

Power BI is a popular business intelligence tool developed by Microsoft that allows users to visualize
and share insights from their data. Here are the basic concepts and features of Power BI:

Power BI Desktop: Power BI Desktop is a free application that you install on your local machine. It's
used to create reports and visualizations from various data sources.

Data Sources and Connectors: Power BI can connect to a wide array of data sources, including
databases (SQL Server, MySQL, Oracle), Excel files, SharePoint lists, Salesforce, Google Analytics,
and more. These connections are facilitated through connectors.

Data Transformation and Modelling: Power BI Desktop allows you to clean, transform, and model
your data using Power Query and Power Pivot. You can shape your data, create relationships between
tables, and define measures.

Data Visualization: Power BI offers a wide range of visualization options such as bar charts, line
charts, pie charts, maps, tables, matrices, and custom visuals. Users can drag and drop data fields onto
the canvas to create interactive visualizations.

Reports and Pages: Reports in Power BI are collections of visuals that are displayed together on a
page. You can have multiple pages within a report to organize your visuals.

Dashboards: Dashboards in Power BI are a collection of visuals from a single report or multiple
reports. They provide a consolidated view of important metrics and KPIs.

Power Query (Get & Transform Data): Power Query is a powerful data connection and transformation
tool in Power BI. It allows you to shape and clean your data before loading it into Power BI.

Power Pivot (Data Modelling): Power Pivot is an in-memory data modeling engine. It enables users
to model large sets of data, create relationships, and define calculated columns and measures.

DAX (Data Analysis Expressions): DAX is a formula language used in Power BI to create calculated
columns and measures. It's similar to Excel functions but tailored for Power BI's tabular modelling.

Row-Level Security (RLS): RLS allows you to restrict access to rows of data based on the viewer's
role or identity, ensuring data security and privacy.

Q&A (Natural Language Processing): Power BI has a Q&A feature that allows users to ask questions
about their data using natural language and receive visualizations as answers.

Power BI Service: The Power BI service (PowerBI.com) is a cloud-based platform where you can
publish, share, and access Power BI reports and dashboards. It allows collaboration and real-time
updates.

Gateway: Power BI Gateway allows for a secure connection between Power BI services and on-
premises data sources, enabling data refreshes and real-time dashboards.
Power BI Mobile: Power BI Mobile enables users to view and interact with their Power BI content
on mobile devices, making it accessible anytime, anywhere.

Power BI's user-friendly interface and powerful features make it a popular choice for data analysts,
business analysts, and decision-makers to derive valuable insights from their data and drive informed
business decisions.

7.2 Interface, Data Connection

Power BI Interface: Power BI provides an intuitive and user-friendly interface designed to streamline
the process of creating, analyzing, and visualizing data. Here are key components:

Ribbon: Similar to Microsoft Office applications, Power BI has a ribbon at the top providing access
to various tools and features.

Canvas: This is the central area where you create visualizations by dragging fields from the data pane.

Visualizations Pane: On the right side, you have the visualizations pane, where you can select and
configure the type of visualization you want to create.

Fields Pane: Also on the right, the fields pane displays the fields available from your data source. You
can drag and drop these fields to create visualizations.

Pages Tab: You can have multiple pages within a report, allowing you to organize your visuals
effectively.

Filters Pane: Allows you to add filters to your report to interactively slice and dice your data.

Visualization Tools: Various visualization tools are available to enhance and customize your visuals,
such as formatting options, analytics, and more.

Modelling Tools: These tools enable data modelling operations such as creating relationships,
defining measures, and managing data categories.

Data Connection in Power BI:

Data Sources: Power BI can connect to a wide range of data sources including databases (SQL Server,
MySQL, Oracle), files (Excel, CSV), cloud-based sources (Azure SQL Database, Google Analytics),
and more.

Power Query (Get Data): Power Query is a tool used to connect, transform, and clean data from
various sources. It helps prepare the data for analysis.

Data Load: Once the data is transformed, you load it into Power BI for modeling and visualization.
Power BI Desktop keeps a model of the data in memory.

Data Modelling (Power Pivot): Power BI allows you to create relationships between tables, define
hierarchies, create calculated columns, and write DAX expressions to enhance the data model.
Data Refresh: After loading the data, you can configure refresh settings to keep your data up-to-date
by scheduling regular refreshes. This is crucial for live or frequently updated data.

DirectQuery: Power BI supports DirectQuery mode where it queries the underlying data source in
real-time instead of importing data. This is useful for large datasets.

Power BI Gateway: The Power BI Gateway allows for secure data refreshes for on-premises data
sources and live connections to data models in the Power BI service.

7.3 Data Transformation: Data transformation in Power BI involves cleaning, shaping, and
organizing data to make it suitable for analysis and visualization. Power BI provides a powerful tool
called Power Query to perform these transformation tasks.

Connecting to Data:

 Open Power BI Desktop.


 Click on the "Home" tab.
 Click "Get Data" to connect to a data source.
 Using Power Query for Data Transformation:
 After connecting to a data source, a Power Query Editor window will open.

a. Data Source Settings: Review and modify data source settings like server details, authentication,
and database selection.

b. Navigator: In the Navigator window, choose the specific data tables or views you want to load.

Click "Load" to load the data into Power Query Editor.

Data Cleaning and Transformation Steps: In the Power Query Editor, you'll find various options for
data transformation and cleaning:

Removing Columns or Rows: Right-click on a column or row header and choose to remove.

Changing Data Types: Select a column, right-click, and choose "Change Type" to change data types.

Filtering Rows: Use filter options to remove unwanted rows based on conditions.

Adding or Removing Columns: Add custom columns using formulas.

Remove unnecessary columns: Splitting and Merging Columns: Split a column into multiple columns
based on a delimiter. Merge multiple columns into one.

Grouping and Aggregating Data: Group rows to perform aggregations (sum, average, etc.) on grouped
data.

Pivoting and Unpivoting Data: Change the structure of the data by pivoting columns or unpivoting
rows.

Duplicating or Reference Data: Create a duplicate of a query or create a reference to the same data
source.
Handling Null or Blank Values:

Replace null or blank values with appropriate data.

 Advanced Transformations with M Code (Power Query Language):


 For complex transformations, you can use the M language directly.

Applying Changes and Loading Data:

Once the necessary transformations are applied, click "Close & Apply" to load the transformed data
into Power BI.

Modifying Applied Steps:


You can review and modify the applied steps in the "Applied Steps" window.
Any changes here will be reflected in the loaded data.
Refreshing Data:

After loading the data into Power BI, you can refresh it to reflect any changes in the source data.

Data Transformation with DAX (Data Analysis Expressions): In the data model, you can further
transform data using DAX formulas, creating calculated columns and measures.

What is Power BI?

Power BI is a business analytics service provided by Microsoft that lets you visualize your data and
share insights. It converts data from different sources to build interactive dashboards and Business
Intelligence reports.

Why Power BI?

Power BI can access vast volumes of data from multiple sources. It allows you to view, analyze, and
visualize vast quantities of data that cannot be opened in Excel. Some of the important data sources
available for Power BI are Excel, CSV, XML,

JSON, pdf, etc. Power BI uses powerful compression algorithms to import and cache the data within
the.PBIX file.

Interactive UI/UX Features

Power BI makes things visually appealing. It has an easy drag and drops

functionality, with features that allow you to copy all formatting across similar visualizations.

Exceptional Excel Integration

Power BI helps to gather, analyze, publish, and share Excel business data. Anyone familiar with Office
365 can easily connect Excel queries, data models, and reports to Power BI Dashboards.
CHAPTER 8: FINAL PROJECT

What is a sales report?


A sales report or sales analysis report is a document that shows trends impacting your sales operations
within a specific period. While the content of sales reports may vary depending on your goal, they
include metrics like revenue, accounts won, leads, and more. Insights from these reports help you
identify the strengths and weaknesses of your sales strategy.

The Benefits of Sales Reporting


Reporting data in a standardized way is crucial to the success of your business. Here are the common
benefits of developing a sales reporting cadence.

Improving Team and Reps Performance


Sales reports provide data-driven insights about the sales performance of individual reps and your
entire team. This allows you to know if underperforming reps need coaching. You can also identify
who would benefit from regular one-on-one meetings to level up and hit their quotas.

The same applies to your team. If your team isn’t hitting the company’s revenue goals, you can use
sales reports to find gaps to improve your sales process.

Assisting Fast Decision-making


Making informed and timely decisions is vital to the success of any sales strategy. This is where sales
reporting shines.

With regular sales reporting, your C-suite or managers can quickly iterate on what drives the
company's growth. You can also track and adjust sales tactics that are performing below par.

Boosting the Morale of Your Sales Team.


Creating daily sales reports may be time-consuming. But whether you do this daily, weekly, or
monthly, these reports can take team morale to new heights.

Monitoring and showing the sales performance of each team member motivates them to do more.
Gamifying performance results can challenge other team members to quit settling for average
performance. Put another way, sales reporting can create healthy competition and push your sales
team to aim for the “best” outcomes.

How to Write a Sales Report


The goal of every sales report is to pass actionable and detailed sales information to your team. To do
this, you need to know the purpose and audience of your sales report. You’ll also need to use the right
data, decide on a reporting timeframe, and create engaging slides.

Here’s a breakdown of how to write an engaging sales report.


Know the purpose of your sales report:
Identifying your goal is the first step toward creating a winning sales report. With your goal in mind,
you can easily determine the best data to include and decide on a reporting time frame. Let’s say the
purpose of your sales report is to motivate your reps. A weekly report showing several KPIs will show
your team far they are from the company’s monthly goal. Sales report, an example sales KPI
dashboard, looking at key sales metrics over a set period of time Image Source

Tailor your sales report to your audience.


Metrics that interest your sales reps may not interest your CEO. Those that interest your CEO may
not interest your director or VP of marketing. These folks are in the same organization as you, but
they have different interests.Sales reps may want granular details on their sales performance. Your
marketing lead may only be interested in the sales reports from marketing campaigns. And your busy
CEO may only want the overall results of your marketing and sales activities without the specifics of
how you reached your goals. See, different strokes for different people. Tailor your sales report
accordingly.

Determine your sales reporting timeframe.


Your reporting timeframe depends on your sales objectives and how frequently you need to update
your team or management. You can do this in three ways.

Daily Sales Reporting


A daily sales report tracks the sales activities of each business day. This report increases your rep’s
accountability, encourages productivity, and includes sales performance metrics like:
Duration of each outbound call.
Number of sales opportunities.
Number of outbound calls.
Number of proposals sent.
Number of emails sent.

Weekly Sales Reporting


A weekly sales report measures the weekly sales performance of individual reps and your entire sales
team. This report allows sales leaders to know which reps are on track to hit their KPIs. Weekly sales
reports track metrics like:
Call/contact volume.
Lead-to-opportunity ratio.
Lead conversion ratio.
Number of appointments set.

Number of closed deals.

Sales volume by channel.

Total sales by region.


Monthly Sales Reporting
A monthly sales report summarizes your sales performance for the month. This report helps you
determine the effectiveness of your sales strategy so you can tweak it if necessary. Monthly sales
reports track metrics like:
Number of deals at each stage of the pipeline.
Number of scheduled meetings.
Length of the sales cycle.
Average close rate.
Average deal size.
Sales volume.

Get your sales data.


Collecting and analyzing your sales data is a lot easier when you’re using a CRM. With a CRM, you
can use filters to remove duplicate records and pull specific information.

That’s more fun than relying on clunky spreadsheets, right? Here’s a quick video on how you can
gather sales data for your reports.

Explain key insights from your sales data.


You need to make sense of your sales data by explaining the “why” of each one.
If there was a dip in the close rate, why?
If there was a high lead conversion ratio, why?
If there are more won deals in a specific region, why?
Just as the questions are endless, so are the insights you can gain by evaluating your sales data.
For instance, more won deals could have resulted from a new tactic your team tried, a new channel
they started using, a partner ecosystem they joined, and much more.
When you state why there’s an upward or downward trend in your data, you provide a roadmap for
what your team can improve and what they can continue doing to achieve the best sales results.
Note: If possible attribute which changes to your sales data were caused by team tactics and which
are attributed to the larger macro-economic environment.
A spike or dip in sales may be the result of factors beyond your control.
You’ll want to distinguish those factors where possible.

Use visuals to show vital sales trends and metrics.


Remember the popular saying, “A picture is worth a thousand words?”

It’s true, especially with sales reporting. When you create attractive visuals, your audience won’t have
to wade through spreadsheets with lots of numbers. This saves their time and allows you to quickly
communicate the insights in your report.

The best part? You can generate engaging visuals directly on HubSpot. Think pie charts, bar charts,
line charts, and more.

sales report, sales dashboard in HubSpot


Having dedicated technology to track lead and customer data makes it easy for sales leaders to analyze
team performance and identify areas for improvement. But what are some essential reports every
sales leader needs to track? We've listed some of the most important ones below.
Types of Sales Analysis Reports
Sales Pipeline Report
Conversion Rates Report
Average Deal Size Report
Average Sales Cycle Length Report
Marketing Collateral Usage Report
Won and Lost Deals Analysis Report
Churned Customers Report
Sales Call Report
Lead Response Time Report
Revenue Report

Sales Pipeline Report


A complete and accurate pipeline is a must-have. Without one, you can’t assess the sales health of
your company. As a sales leader, you need to know the deals that are likely to get closed, those that
may not, and how much of an impact each deal has on your bottom line.

To accurately forecast these, ensure your reps are doing their due diligence to guarantee a realistic
sales pipeline.

This is an example of what a pipeline report looks like in HubSpot Sales Hub. You’ll notice each
stage of the pipeline and where opportunities are within it. You can even add forecasted deal amounts
to see the worth of each deal and its proximity to closing.

sales analysis report: sales pipeline report in HubSpot

Understanding the sales pipeline stages where your team excels and needs help. You can also identify
the specific actions your reps should take to move prospects through each stage of your pipeline, the
number of prospects in the pipeline, and how close your team is getting to their targets.

Conversion Rates Report


Conversion rate measures the ability of your team to turn prospects into leads and leads into
customers.

By monitoring your conversion rate, you can identify where your team excels or underperforms in
the sales lifecycle. If your team consistently has a high conversion rate of turning leads into
opportunities, you can scale the strategies that are already working. Otherwise, you can start finding
areas for improvement.

This report is also a litmus test for the strengths and weaknesses of individual reps. If a rep is
performing below par, looking into their conversion rate helps you uncover why.

Revealing the efficacy of your overall sales strategy on an operational or team-wide scale. It also
measures the effectiveness of your sales team at converting leads into customers.
Average Deal Size Report
Your average deal size helps in predicting revenue. For instance, if your revenue target is $200k per
quarter and your average deal size is $20k, it means you have to land 10 deals to hit your quarterly
target.

The average deal size report provides the basis for your reps' quotas and lets them know how many
deals they're expected to land. It also allows you to set expectations and milestones for your sales
cycle. Ultimately, it might seem like a no-brainer, but it's still worth a reminder — always monitor
your average deal size because it’s vital to your sales operations.

Setting expectations for each rep, creating weekly and monthly milestones, tracking the performance
of each rep, and gauging the overall success of your company’s sales strategy.

Average Sales Cycle Length Report


Average sales cycle length is the average time it takes a rep to close a sale. This metric shows the
sales performance of individual reps and the overall efficacy of your sales process.

When considering the metric, establish an ideal timeframe to use as a benchmark. One of those
benchmarks is how long it takes a rep to work through your sales cycle. If you find some reps with
much longer sales cycles compared to their peers, you can evaluate their efforts and identify areas for
coaching.

If all your reps can’t keep pace with your target average sales cycle length, then it's probably time to
take an objective look at your operations. You might find flaws in your approach, training, or
management style, and these insights can help you fix the issues. To enable your reps to see how
they're performing with real-time visualization dashboards, tools like Datapine can help.

Knowing if your reps are closing deals at a similar rate as their peers. You can also create contests to
foster healthy competition and unify your team to work towards a common goal.

Marketing Collateral Usage Report


Marketing teams expect sales reps to put the collateral they create to good use. This helps the sales
reps to move prospects through the sales process quickly.

That said, some marketing collateral may be irrelevant to your rep’s prospects. With this report, you’ll
know which marketing content works. Communicating this information to your marketing team gives
them the insights they need to create more useful content.

Sales enablement platform SoloFire tracks how many people have used a piece of collateral, how
many times they’ve interacted with it, and for how long.

Determining which marketing collateral gets the most traction with prospects and collateral that could
use a refresh.
Won and Lost Deals Analysis Report
To understand the state of your business, you shouldn’t track only deals in progress. You should track
deals you win and lose.

Perhaps prospects go crazy for specific features that you offer. Or, you notice that there’s a preference
for a competitor’s product. Both trends provide an overall picture of your product’s overall strengths
and weaknesses.

This is also a good way to spot under- and over-performers. For example, two reps who have the same
average quota attainment could both appear to be stellar but differ wildly in actual performance.

If your data reveals that one rep spends a lot of time helping others get deals across the finish line
while still maintaining high attainment, you have a great manager candidate on your hands.

On the flip side, records could reveal that a second rep has the same attainment as the first, but relies
on other teammates to run demos or closing calls.

There’s always a story behind the numbers. Analyzing won and lost deals by rep will reveal it.

Evaluating performance against variables like company size, product type, sales reps, and sales teams.

Churned Customers Report


Every company will always experience customer churn. However, churn rates higher than your
company or industry average can reveal larger problems.

There might be an issue with your pricing, service, product quality, product features, or delivery. You
may also identify misalignment during the sales process, or some other aspect of the customer
experience.

If your report shows higher than normal churn, speak to your customers to understand their challenges
and fix them. This can improve your customer retention rate and overall customer experience.

Closely monitoring trends in churned customers so you empower your team to fix bad patterns
throughout the sales process.

Sales Call Report


One way to measure the effectiveness of your sales reps is to track the number of calls or visits they
make to prospects. You can use this report to track and find gaps in the close rate of your team.

Ideally, you want your reps to close a healthy number of deals compared to the number of prospects
they meet with. If they meet with ten per day, but close none, this report will allow you to understand
why and propose better closing techniques. If the opposite is true, you can find what’s working and
share those tactics with the team.

The sales call report can also help you segment data. For example, if a certain industry is responding
well to your products and services, you could advise your team to narrow down their call list. You
can then prioritize the highest converting segment.
Identifying the most effective tactics for closing deals, setting daily call benchmarks for new hires,
and iterating on your sales closing techniques.

Lead Response Time Report


Regardless of the length of your sales cycle, lead response time should be relatively quick. Studies
show contacting prospects within the first five minutes after they become a lead increases their
likelihood of converting into an opportunity.

Five minutes is short, and if you’re far from meeting this time, the best thing to do is track your
progress. You won’t move from a 48-hour lead response time to five minutes overnight. But by
making strategic decisions and prioritizing your team’s workload, you can attain this goal.

Measuring the average time it takes sales reps to follow up with a lead. Plus, you can compare this
metric to industry benchmarks.

Revenue Report
As a nice complement to the average deal size report, a revenue report can help you and your reps
see how their work impacts the bottom line.

Seeing a breakdown of new business and renewals, as well as the reps who contributed to each. To
get the most out of this report, you’ll want to first set your sales and revenue goals.

Many sales teams focus on identifying potential clients and closing deals, leaving little time for
detailed reporting. The good news is that your team can use several powerful templates to expedite
your sales reporting.
What you can calculate with the Sales Metrics Calculator:
Average Deal Size
Win Rate
Demo: Close Ratio
Quota Setting Calculator
Commission Calculator
Customer Acquisition Cost (CAC)
Customer Lifetime Value (CLV)
CAC-to-CLV
Revenue by Product
Customer Retention Rate
Revenue Churn
Employee Turnover Rate

Average Deal Size:


Calculates the average value of deals closed over a specific period. It helps in understanding the
typical size of sales transactions.
Win Rate:
Indicates the percentage of deals won out of the total number of deals pursued. It provides insights
into sales effectiveness.
Demo: Close Ratio:
Measures the success rate of converting product demonstrations into closed deals.
Quota Setting Calculator:
Helps in determining sales quotas based on historical performance, market conditions, and other
relevant factors.
Commission Calculator:
Computes the commissions earned by sales representatives based on their performance and the
established commission structure.
Customer Acquisition Cost (CAC):
Calculates the average cost incurred to acquire a new customer. It considers expenses related to
marketing, sales, and other relevant activities.
Customer Lifetime Value (CLV):
Estimates the total revenue a business expects to earn from a customer throughout their entire
relationship. It helps in assessing the long-term value of a customer.
CAC-to-CLV:
Compares the Customer Acquisition Cost to the Customer Lifetime Value, providing insights into the
efficiency and sustainability of the customer acquisition process.
Revenue by Product:
Breaks down total revenue by product or service categories, helping identify top-performing products
and areas for improvement.
Customer Retention Rate:
Measures the percentage of customers retained over a specific period. High retention rates are
generally positive for business sustainability.
Revenue Churn:
Calculates the decrease in revenue due to customer cancellations, downgrades, or non-renewals. It
reflects the impact of customer loss on revenue.
Employee Turnover Rate:
Determines the percentage of employees leaving the company over a given period. High turnover
rates may indicate challenges in team stability.

Store Sales and Profit Analysis using Python:


Store sales and profit analysis is the task of analyzing the performance of a retail store in terms of its
sales and profits. It helps business identify areas for improvement and make data-driven decisions to
optimize their operations, pricing, marketing, and inventory management strategies to drive revenue
and growth. So, if you want to learn how to analyze the sales and profit of a store, this article is for
you. In this article, I will take you through the task of Store sales and profit analysis using Python.
Store Sales and Profit Analysis: Dataset
For the task of Sales and Profit Analysis, we need to have a dataset with time-period data, sales data,
product data, pricing data, customer data, etc.

Let’s start by looking at the descriptive statistics of the dataset:


The dataset has an order date column. We can use this column to create new columns like order
month, order year, and order day, which will be very valuable for sales and profit analysis according
to time periods. So let’s add these columns:

Now let’s have a look at the monthly sales:


Now let’s have a look at the sales by category:

Now let’s have a look at the sales by sub-category:

Now let’s have a look at the monthly profits:


Now let’s have a look at the profit by category:

Now let’s have a look at the profit by sub-category:


Now let’s have a look at the sales and profit analysis by customer segments:

So the store has higher profits from the product sales for consumers, but the profit from corporate
product sales is better in the sales-to-profit ratio. Let’s have a look at it to validate our findings:
CHAPTER 9: CONCLUSION
In conclusion, the utilization of Python and data analytics for store sales and profit analysis emerges
as a transformative strategy for businesses navigating today's dynamic market landscape. This
analytical approach becomes a cornerstone for informed decision-making, enabling organizations to
optimize operations, refine pricing strategies, enhance marketing efforts, and improve overall
efficiency in inventory management.

Python, with its rich ecosystem of libraries and automation capabilities, plays a pivotal role in this
process. From data manipulation using Pandas to visualization with Matplotlib and Seaborn, and
numerical operations facilitated by NumPy, Python provides a robust toolkit for businesses to glean
actionable insights. The emphasis on key metrics such as average deal size, win rate, and customer
acquisition cost offers a nuanced understanding of market dynamics, allowing businesses to align
their strategies for maximum impact.

The interconnected nature of internal and external factors, as evidenced by metrics like employee
turnover and customer retention rates, underscores the holistic approach required for sustained
success. By embracing Python-driven analysis, businesses position themselves not just to navigate
uncertainties but to thrive amidst them. This integration of technology with decision-making becomes
a transformative journey, where data-driven insights serve as a guide for adaptive strategies and well-
informed choices.

As businesses continue to face the challenges of an evolving landscape, the synergy between data
analytics and strategic decision-making becomes increasingly indispensable. The future belongs to
those who can harness the power of Python and data analytics to adapt, evolve, and prosper based on
the valuable insights derived from their store sales and profit analysis. In this era of data-driven
excellence, Python serves not only as a technological enabler but as a strategic imperative for
businesses aiming for sustainable growth and resilience.

You might also like