Skip to content

PodAudience is a podcast audience segmentation platform that categorizes listeners based on their preferences and engagement scores. This system enables podcast creators to tailor content to specific audience types, enhancing personalization and improving listener experience.

Notifications You must be signed in to change notification settings

DataDiggerJay/PodAudience

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

PODAUDIENCE Documentation

Overview

This project provides a database-driven system for podcast audience segmentation. It includes various audience types, each with a unique score based on their preferences or interactions with different podcast feeds. This data can be used to tailor content for specific listener segments.

Features

  • Audience segmentation based on podcast feed interactions.
  • Audience scoring and categorization.
  • Data storage and management for audience types, scores, and interactions.

Setting Up the Database

Prerequisites:

Ensure you have the following installed on your system:

  • MySQL or MariaDB for the database.
  • PHP for interacting with the database.
  • Apache or any other web server (if running PHP-based scripts).

Step 1: Create a Database

You need to create a MySQL/MariaDB database where the podcast audience data will be stored. Here’s how:

  1. Open your terminal or command-line tool.

  2. Log into MySQL:

    mysql -u root -p
  3. Create the database:

    CREATE DATABASE podcast_system;

Step 2: Create Tables

Now, create the necessary tables for storing the podcast audience data. Below is the SQL schema to create the necessary tables.

USE podcast_system;

CREATE TABLE podcast_audience (
    auto_id INT AUTO_INCREMENT PRIMARY KEY,
    feed_id INT NOT NULL,
    apple_id VARCHAR(50) NOT NULL,
    audience_type VARCHAR(255) NOT NULL,
    score INT NOT NULL,
    created_date DATETIME DEFAULT CURRENT_TIMESTAMP
);

This schema includes the following fields:

  • auto_id: A unique identifier for each record.
  • feed_id: ID associated with the podcast feed.
  • apple_id: A unique ID for the audience (can be a user or listener identifier).
  • audience_type: A string representing the type of audience (e.g., True Crime Enthusiast, Casual Listener).
  • score: A numeric score based on user interaction or engagement.
  • created_date: The timestamp when the record was created.

Step 3: Insert Sample Data ( In my real project that is hosted , the response is generated using CHATGPT API for each Podcast )

You can insert sample data into the podcast_audience table. Here’s an example SQL query to insert some data:

INSERT INTO podcast_audience (feed_id, apple_id, audience_type, score, created_date)
VALUES
(5024672, '1322200189', 'True Crime Enthusiast', 95, '2025-05-05 05:20:17'),
(5024672, '1322200189', 'Crime Story Aficionado', 90, '2025-05-05 05:20:17'),
(5024672, '1322200189', 'Podcast Listener', 85, '2025-05-05 05:20:17'),
(5024672, '1322200189', 'Law Enforcement Professional', 80, '2025-05-05 05:20:17');

Project Setup and Usage

Step 1: Setting up PHP Scripts

This project includes several PHP files for handling database queries and generating suggestions. Below are the key files:

  • index.php: This is the main entry point for interacting with the database. It includes functions to view, add, and update audience data.
  • search_suggestions.php: This file contains the logic for generating suggestions based on user queries.
  • type.php: Contains predefined types of audiences and functions to fetch the type of podcast user based on the audience segment.

Step 2: Setting up the Web Server

If you're using Apache, ensure that the following is configured:

  1. Place all PHP files in the root directory of your web server.
  2. Update the index.php file to connect to your database:
<?php
$host = 'localhost'; 
$dbname = 'podcast_system'; 
$user = 'root'; 
$pass = 'yourpassword'; 

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>

Step 3: Running the Application

Once your web server is set up:

  1. Open the web browser and navigate to http://localhost/index.php to interact with the system.
  2. Use the web interface to manage and view podcast audience data, as well as make search queries using the search_suggestions.php and type.php files.

How This Project Can Be Used

  1. Audience Segmentation: Use the podcast_audience table to segment users based on their interests (True Crime Enthusiast, Casual Listener, etc.).
  2. Personalized Recommendations: By analyzing the scores and audience types, you can offer personalized podcast recommendations for users.
  3. Analytics: Generate reports based on audience preferences, which can be used for marketing strategies or content development.
  4. Dynamic Audience Updates: Update audience scores based on user interactions (listening patterns, likes, or feedback) to refine recommendations over time.

Contributing

Feel free to fork the repository and contribute to the project. To contribute:

  1. Fork the repository to your own GitHub account.
  2. Clone the repository to your local machine.
  3. Create a branch for your changes.
  4. Make your changes and test them.
  5. Submit a pull request.

License

This project is open-source and available under the MIT License.


About

PodAudience is a podcast audience segmentation platform that categorizes listeners based on their preferences and engagement scores. This system enables podcast creators to tailor content to specific audience types, enhancing personalization and improving listener experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published