{
  "format": "dataset-manifest/1",
  "slug": "api-management-platform",
  "version": 1,
  "seed": "api-management-platform:1",
  "spec": {
    "format": "dataset/1",
    "slug": "api-management-platform",
    "name": "API Engagement Metrics",
    "tagline": "API performance metrics, user interactions, subscriptions, and feedback from a SaaS platform.",
    "description": "Developers engage with a platform that facilitates seamless connectivity and interaction with various services. This dataset models the performance of APIs, user interactions, subscription plans, and the associated support experiences. It consists of five tables: users, apis, interactions, subscriptions, and feedback, each providing insight into different aspects of API engagement. The users table captures information about developers using the platform, while the apis table details the APIs available for integration. The interactions table tracks user engagement metrics with these APIs, including usage frequency and success rates. The subscriptions table outlines the various subscription plans users can choose from, affecting their access to API features. Finally, the feedback table collects user comments and error reports, helping to assess service reliability and user satisfaction. This synthetic dataset allows for practice in SQL queries and ORM seeding, enabling users to explore relationships between the tables and answer pertinent questions about API performance and user engagement.",
    "domain": "saas",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "API",
      "engagement",
      "metrics",
      "users",
      "performance",
      "subscriptions",
      "feedback",
      "interactions",
      "saas"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table captures information about developers using the API management platform. Each user has a unique ID and associated details.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "The user's email address."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-10-01",
            "description": "The date and time the user account was created.",
            "dayProfile": "waking"
          }
        }
      },
      "apis": {
        "description": "This table details the APIs available for integration within the platform, including performance metrics.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each API."
          },
          "name": {
            "kind": "productName",
            "description": "The name of the API."
          },
          "endpoint": {
            "kind": "url",
            "description": "The URL endpoint for accessing the API."
          },
          "status": {
            "kind": "enum",
            "values": [
              "active",
              "deprecated",
              "maintenance"
            ],
            "description": "The current status of the API."
          },
          "average_response_time": {
            "kind": "decimal",
            "min": 50,
            "max": 2000,
            "scale": 2,
            "description": "Average response time of the API in milliseconds.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "deprecated",
                "maintenance"
              ]
            }
          }
        }
      },
      "interactions": {
        "description": "This table tracks user engagement metrics with the APIs, capturing usage frequency and success rates.",
        "rows": 1000,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each interaction."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Foreign key referencing the user engaging with the API."
          },
          "api_id": {
            "kind": "fk",
            "ref": "apis.id",
            "description": "Foreign key referencing the API that was interacted with."
          },
          "interaction_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-10-01",
            "description": "The date of the user interaction with the API.",
            "dayProfile": "waking",
            "trend": "growing"
          },
          "success": {
            "kind": "bool",
            "trueRate": 0.9,
            "description": "Indicates whether the interaction was successful."
          }
        }
      },
      "subscriptions": {
        "description": "This table outlines the various subscription plans available to users, impacting their API access.",
        "rows": 30,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each subscription plan."
          },
          "name": {
            "kind": "title",
            "description": "The name of the subscription plan."
          },
          "price": {
            "kind": "decimal",
            "min": 5,
            "max": 100,
            "scale": 2,
            "description": "Monthly price of the subscription plan."
          },
          "features": {
            "kind": "words",
            "min": 10,
            "max": 100,
            "description": "Description of features included in the subscription plan."
          }
        }
      },
      "feedback": {
        "description": "This table collects user feedback and error reports regarding the APIs, essential for evaluating user satisfaction.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each feedback entry."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Foreign key referencing the user providing feedback."
          },
          "api_id": {
            "kind": "fk",
            "ref": "apis.id",
            "description": "Foreign key referencing the API related to the feedback."
          },
          "feedback_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-10-01",
            "description": "The date when the feedback was submitted.",
            "dayProfile": "business"
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "User rating for the API, from 1 (poor) to 5 (excellent)."
          },
          "comment": {
            "kind": "sentence",
            "max": 250,
            "description": "User's comment regarding their experience with the API."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "categorical",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "Which APIs have the highest average response times and why might that be?",
      "What subscription plans are most popular among users?",
      "How does user feedback correlate with API performance metrics?",
      "Which days of the week see the most user interactions with APIs?",
      "What is the overall success rate of interactions across different APIs?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Users and Interactions",
        "sql": "SELECT users.full_name, interactions.interaction_date FROM users JOIN interactions ON users.id = interactions.user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count API Interactions",
        "sql": "SELECT api_id, COUNT(*) as interaction_count FROM interactions GROUP BY api_id;",
        "dialect": "postgres"
      },
      {
        "title": "Average API Response Time",
        "sql": "SELECT apis.name, AVG(interactions.success) as average_success FROM apis JOIN interactions ON apis.id = interactions.api_id GROUP BY apis.name;",
        "dialect": "postgres"
      },
      {
        "title": "Feedback Analysis by API",
        "sql": "SELECT apis.name, AVG(feedback.rating) as average_rating FROM feedback JOIN apis ON feedback.api_id = apis.id GROUP BY apis.name;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Performance Monitoring",
        "body": "Developers can use the API Engagement Metrics dataset to monitor the performance of their APIs. By analyzing the average response times and success rates, they can identify potential bottlenecks and optimize their services accordingly."
      },
      {
        "title": "User Interaction Analysis",
        "body": "Product managers can explore user interaction data to understand how frequently developers engage with different APIs. This insight helps in identifying which APIs are popular and which may require additional marketing or support."
      },
      {
        "title": "Subscription Planning",
        "body": "Business analysts can evaluate subscription plan popularity by examining user sign-ups and engagement metrics. This information is crucial in deciding which features to enhance or which pricing strategies to adopt."
      },
      {
        "title": "Feedback Utilization",
        "body": "Customer support teams can analyze user feedback to pinpoint areas for improvement. By correlating feedback with interaction success rates, they can better understand user satisfaction and service reliability."
      }
    ]
  },
  "counts": {
    "apis": 50,
    "subscriptions": 30,
    "users": 200,
    "feedback": 200,
    "interactions": 1000
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 196,
          "min": "Alice Hassan",
          "max": "Zoe Torres"
        },
        "email": {
          "nulls": 0,
          "distinct": 199
        },
        "created_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2020-01-01 21:27:20",
          "max": "2023-09-30 20:18:52"
        }
      }
    },
    "apis": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "name": {
          "nulls": 0,
          "distinct": 42,
          "min": "Classic Camera",
          "max": "Wireless Bottle"
        },
        "endpoint": {
          "nulls": 0,
          "distinct": 50
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "active",
          "max": "maintenance"
        },
        "average_response_time": {
          "nulls": 10,
          "distinct": 40,
          "min": 136.67,
          "max": 1977.06
        }
      }
    },
    "interactions": {
      "rows": 1000,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 1000,
          "min": 1,
          "max": 1000
        },
        "user_id": {
          "nulls": 0,
          "distinct": 199,
          "min": 1,
          "max": 200
        },
        "api_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "interaction_date": {
          "nulls": 0,
          "distinct": 1000,
          "min": "2023-01-01 16:50:24",
          "max": "2023-10-01 22:40:13"
        },
        "success": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "subscriptions": {
      "rows": 30,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 30,
          "min": 1,
          "max": 30
        },
        "name": {
          "nulls": 0,
          "distinct": 30
        },
        "price": {
          "nulls": 0,
          "distinct": 30,
          "min": 5.09,
          "max": 98.86
        },
        "features": {
          "nulls": 0,
          "distinct": 30
        }
      }
    },
    "feedback": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "user_id": {
          "nulls": 0,
          "distinct": 131,
          "min": 1,
          "max": 199
        },
        "api_id": {
          "nulls": 0,
          "distinct": 48,
          "min": 1,
          "max": 50
        },
        "feedback_date": {
          "nulls": 0,
          "distinct": 200,
          "min": "2023-01-01 10:36:40",
          "max": "2023-09-30 07:06:35"
        },
        "rating": {
          "nulls": 0,
          "distinct": 5,
          "min": 1,
          "max": 5
        },
        "comment": {
          "nulls": 0,
          "distinct": 200
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/apis.csv",
      "format": "csv",
      "table": "apis",
      "key": "datasets/api-management-platform/v1/csv/apis.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/csv/apis.csv",
      "bytes": 3510,
      "sha256": "d76882551c9bd50702b15dc3c60ff59e33944acf4f40cd1fe986b3bf3a0da522",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscriptions.csv",
      "format": "csv",
      "table": "subscriptions",
      "key": "datasets/api-management-platform/v1/csv/subscriptions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/csv/subscriptions.csv",
      "bytes": 12076,
      "sha256": "92322d0f344be7a0e4475d56c3c85f0e34a9bf6fffdc0124e80fe044de575455",
      "rows": 30,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/api-management-platform/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/csv/users.csv",
      "bytes": 12109,
      "sha256": "fe214d0b8ca79b0793cae7bcd958498ed0e5c6d558b6808d361a4876afb5437d",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/feedback.csv",
      "format": "csv",
      "table": "feedback",
      "key": "datasets/api-management-platform/v1/csv/feedback.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/csv/feedback.csv",
      "bytes": 17989,
      "sha256": "745e4e1146496ecb83eca219c4604fec6db5c4bc9ae77f01dec497ffdc45880f",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/interactions.csv",
      "format": "csv",
      "table": "interactions",
      "key": "datasets/api-management-platform/v1/csv/interactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/csv/interactions.csv",
      "bytes": 36341,
      "sha256": "d5b2a9a2904e540debe02fa999ffabc05824f6d0a3c6e7acc93b9d89af8c45e6",
      "rows": 1000,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "api-management-platform.json",
      "format": "json",
      "table": null,
      "key": "datasets/api-management-platform/v1/api-management-platform.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/api-management-platform.json",
      "bytes": 237654,
      "sha256": "8e91772c5cb5af39aa7fa72a96e6271cd2411f0202b1602dc1ef70959b45029f",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/api-management-platform/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/sql/postgres.sql",
      "bytes": 104109,
      "sha256": "8b46cdf11a4aa1fbce4cfc3f0dfd34289be5c3c01e17841f44ff3ce31c279f9e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/api-management-platform/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/sql/mysql.sql",
      "bytes": 100451,
      "sha256": "49798b359568c8f8476fda8e69a9b6b6a3513986493fb5b187fb750811710159",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/api-management-platform/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/sql/mssql.sql",
      "bytes": 102982,
      "sha256": "876bdae85ae13b39d67d4b3db2652e124f665559c31d51021167ac2161b50ae6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/api-management-platform/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/sql/sqlite.sql",
      "bytes": 100241,
      "sha256": "9f3b7ce8718851a54d5249ea9e1fb06e0742ffe73a9f69f3ad144f92abc02605",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/api-management-platform/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/prisma/seed.ts",
      "bytes": 201166,
      "sha256": "550a1bc135b06eb5d5583095963a45a3d4a6a25550bdd5524a335ff28fea0978",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/api-management-platform/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/api-management-platform/v1/django/fixtures.json",
      "bytes": 300620,
      "sha256": "1e84093e9b9c147dcd5992d3d41124851b428fef9a315797ec0e336aabc8ba41",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767507388,
  "updatedAt": 1788767507388
}
