Data Acquisition and Management
From the Introduction to Business Analytics curriculum
Data Acquisition and Management
TL;DR
Data acquisition is collecting raw information from various sources, while data management is organizing, storing, and maintaining that data. Together, they ensure you have high-quality, accessible data for analysis. Mastering these steps is crucial for any successful business analytics project.
1. The Mental Model
Think of data acquisition as gathering ingredients for a meal, and data management as storing them properly in your pantry and fridge. Without good ingredients and a well-organized kitchen, making a great dish (your analysis) is impossible.
2. The Core Material
Data acquisition and management are the foundational steps in the analytics lifecycle. You can't analyze what you don't have, or what's a complete mess.
2.1 Data Acquisition: Getting Your Hands on Data

Photo by cottonbro studio on Pexels
This is about sourcing and collecting the data you need. Data can come from many places, and the "best" source depends on your analytical question.
- Internal Data: Data your organization already owns or generates.
- Transactional Data: Sales records, customer orders, payment histories.
- Operational Data: Website logs, sensor data, production metrics.
- Customer Relationship Management (CRM) Data: Customer contact info, interactions, preferences.
- External Data: Data from outside your organization.
- Public Data: Government statistics, open data initiatives (e.g., data.gov).
- Purchased Data: Market research reports, specialized datasets from vendors.
- Scraped Data: Information extracted from websites (be mindful of terms of service and legality).
- Social Media Data: Posts, interactions, sentiment from platforms.
You'll often acquire data through:
* APIs (Application Programming Interfaces): These are standardized ways for different software systems to talk to each other and exchange data. Many services (like Twitter, Google, weather APIs) offer them.
* Databases: Querying existing databases (SQL databases are common).
* Web Scraping: Using tools or code to extract data from web pages.
* Manual Entry/Surveys: Direct input, though this can be prone to errors.
* File Imports: Loading data from CSV, Excel, JSON, XML files.
2.2 Data Management: Keeping Your Data in Order

Photo by Zulfugar Karimov on Pexels
Once you have data, you need to store it, clean it, and make it usable. This involves several key processes.
- Data Storage: Where you put your data.
- Databases: Structured storage, good for relational data.
- Data Warehouses: Centralized repositories for large amounts of integrated data from various sources, optimized for querying and reporting.
- Data Lakes: Store raw, unstructured, semi-structured, and structured data at any scale, good for big data and machine learning.
- Cloud Storage: Services like AWS S3, Google Cloud Storage, Azure Blob Storage.
- Data Cleaning (or Data Wrangling/Munging): This is often the most time-consuming part!
- Handling Missing Values: Decide whether to remove rows/columns, impute (fill in) with averages/medians/modes, or use more advanced methods.
- Removing Duplicates: Identify and eliminate identical records.
- Correcting Errors: Fixing typos, inconsistent formatting (e.g., "NY" vs "New York").
- Standardizing Formats: Ensuring dates, currencies, and text fields are consistent.
- Dealing with Outliers: Deciding whether extreme values are legitimate or errors and how to handle them.
- Data Integration: Combining data from different sources into a unified view. This often involves matching records and resolving inconsistencies.
- Data Security and Privacy: Protecting data from unauthorized access and ensuring compliance with regulations (like GDPR, HIPAA). This includes encryption, access controls, and anonymization.
- Data Governance: Establishing policies and procedures for how data is collected, stored, used, and disposed of. This ensures data quality, consistency, and compliance.
Here's how these steps generally flow:
graph TD
A["Identify Data Needs"] --> B["Select Data Sources"];
B --> C["Acquire Raw Data (e.g., API, DB query, File)"];
C --> D["Store Raw Data (e.g., Data Lake)"];
D --> E["Data Cleaning & Transformation"];
E --> F["Load into Analytical Storage (e.g., Data Warehouse, Database)"];
F --> G["Data Available for Analysis"];
3. Worked Example
Let's say you want to analyze customer sentiment about a new product launch.
- Acquisition: You decide to get data from Twitter. You'd use the Twitter API to pull tweets mentioning your product's name for the last month. You'd write a Python script using a library like
tweepyto connect to the API, fetch tweets, and save them as a JSON file. - Storage (Initial): The JSON file gets saved into a temporary folder on your local machine or a cloud storage bucket.
- Cleaning/Management:
- You notice some tweets are in languages other than English; you filter these out.
- Many tweets contain URLs or hashtags; you remove these to focus on the text itself.
- You see some duplicate tweets (e.g., retweets); you remove these to ensure unique data.
- You might convert all text to lowercase for consistency.
- You save this cleaned data into a new CSV file or load it directly into a simple database table for the next step (sentiment analysis).
import tweepy
import pandas as pd
import re
# --- 1. Data Acquisition (Simplified, requires actual API keys) ---
# Replace with your actual consumer_key, consumer_secret, access_token, access_token_secret
# auth = tweepy.OAuthHandler("YOUR_CONSUMER_KEY", "YOUR_CONSUMER_SECRET")
# auth.set_access_token("YOUR_ACCESS_TOKEN", "YOUR_ACCESS_TOKEN_SECRET")
# api = tweepy.API(auth)
# Example: Search for tweets about "new_product_name"
# tweets = api.search_tweets(q="new_product_name", lang="en", count=100)
# raw_tweet_data = [{'text': tweet.text, 'id': tweet.id, 'created_at': tweet.created_at} for tweet in tweets]
# For this example, let's simulate raw data
raw_tweet_data = [
{'text': 'Loving the new_product_name! #awesome https://t.co/xyz', 'id': 1, 'created_at': '2023-10-26 10:00:00'},
{'text': 'new_product_name is terrible 😡', 'id': 2, 'created_at': '2023-10-26 10:05:00'},
{'text': 'Loving the new_product_name! #awesome https://t.co/xyz', 'id': 3, 'created_at': '2023-10-26 10:00:00'}, # Duplicate
{'text': 'Das neue Produkt ist super! #ProduktNeu', 'id': 4, 'created_at': '2023-10-26 10:10:00'}, # Non-English
{'text': 'So excited for new_product_name!', 'id': 5, 'created_at': '2023-10-26 10:15:00'}
]
df_raw = pd.DataFrame(raw_tweet_data)
print("--- Raw Data ---")
print(df_raw)
# --- 2. Data Cleaning (Management) ---
# Remove duplicates
df_cleaned = df_raw.drop_duplicates(subset=['text'], keep='first')
# Remove URLs
df_cleaned['text'] = df_cleaned['text'].apply(lambda x: re.sub(r'http\S+|www\S+|https\S+', '', x, flags=re.MULTILINE))
# Remove hashtags (optional, depending on if you want to analyze them separately)
df_cleaned['text'] = df_cleaned['text'].apply(lambda x: re.sub(r'#\w+', '', x))
# Convert to lowercase
df_cleaned['text'] = df_cleaned['text'].str.lower()
# (For actual language filtering, you'd use a library like `langdetect`
# but here we already filtered in acquisition for simplicity.)
print("\n--- Cleaned Data ---")
print(df_cleaned)
# Now, this `df_cleaned` is ready for sentiment analysis.
4. Key Takeaways
- You must first acquire data before you can analyze it; think of it as collecting your raw materials.
- Data management is everything you do to organize, clean, and store data effectively after acquisition.
- Data cleaning, often called wrangling, is crucial because raw data is rarely perfect and can lead to flawed insights.
- Understand your data sources; internal data is often more reliable than external, but external can provide valuable context.
- Good data governance ensures consistency, quality, and compliance across your data assets.
Common Mistakes to Avoid:
- Assuming data is clean: Always validate and clean your data; dirty data is a common source of bad analysis.
- Ignoring data privacy: Failing to protect sensitive information can lead to legal issues and loss of trust.
- Not documenting data sources: You'll forget where data came from, making reproducibility and debugging difficult.
- Over-collecting data: Don't acquire data you don't actually need; it costs time and storage and can complicate analysis.
5. Now Try It
Think about a common business problem, like understanding why customers churn (stop using a service). Spend 15 minutes brainstorming:
1. What internal data sources might be relevant (e.g., customer service logs, billing history)?
2. What external data sources could you potentially acquire (e.g., competitor reviews, economic indicators)?
3. For one chosen data type (e.g., customer service logs), list three specific data cleaning steps you'd likely need to perform.
Success looks like a clear list of potential data sources and a thoughtful set of cleaning steps tailored to the problem.
Frequently asked about Data Acquisition and Management
More from Introduction to Business Analytics
Get the full Introduction to Business Analytics curriculum
Clone the complete plan to your dashboard for unlimited AI-generated notes, practice quizzes, and a personalised revision schedule.
Create Free Account