{
  "format": "dataset-manifest/1",
  "slug": "translator-freelancer-app",
  "version": 2,
  "seed": "translator-freelancer-app:1",
  "spec": {
    "format": "dataset/1",
    "slug": "translator-freelancer-app",
    "name": "Translator Marketplace Transactions",
    "tagline": "Facilitating global communication through freelance translation services.",
    "description": "Freelancers provide translation services to clients seeking assistance in various languages, enabling effective communication across cultures. This dataset models the transactions occurring within a translator marketplace, showcasing how projects are initiated, managed, and completed. Each transaction involves detailed project specifications, client requests, and the languages involved in the translations. This data is invaluable for understanding the dynamics of freelance translation work, from the issuing of invoices and payment to the support interactions that ensure client satisfaction. It includes a variety of project complexities, from simple translations to more intricate multi-document tasks, allowing for a diverse range of payment structures and interaction frequencies. The dataset is synthetic and designed for practice in SQL and ORM seeding, offering an opportunity to explore the relationships between clients, projects, invoices, and support communications.",
    "domain": "customer-support",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "translation",
      "freelance",
      "transactions",
      "clients",
      "projects",
      "invoices",
      "support",
      "languages"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "clients": {
        "description": "Each row represents a client who requests translation services. It links to projects they have initiated.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the client."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the client."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "The client's email address."
          },
          "created_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "The date the client registered.",
            "trend": "growing"
          }
        }
      },
      "projects": {
        "description": "This table holds information about translation projects initiated by clients. Each project links back to the client who requested it.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the project."
          },
          "client_id": {
            "kind": "fk",
            "ref": "clients.id",
            "description": "The client who initiated the project."
          },
          "language_from": {
            "kind": "enum",
            "values": [
              "English",
              "Spanish",
              "French",
              "German",
              "Chinese"
            ],
            "description": "The language from which the text is being translated."
          },
          "language_to": {
            "kind": "enum",
            "values": [
              "English",
              "Spanish",
              "French",
              "German",
              "Chinese"
            ],
            "description": "The language to which the text is being translated."
          },
          "created_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "The date the project was created.",
            "trend": "growing"
          },
          "status": {
            "kind": "enum",
            "values": [
              "pending",
              "in_progress",
              "completed",
              "cancelled"
            ],
            "description": "The current status of the project."
          }
        }
      },
      "invoices": {
        "description": "Invoices generated for each completed project, linking back to the respective project and client.",
        "rows": 250,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the invoice."
          },
          "project_id": {
            "kind": "fk",
            "ref": "projects.id",
            "description": "The project related to this invoice."
          },
          "amount": {
            "kind": "decimal",
            "min": 50,
            "max": 2000,
            "scale": 2,
            "description": "The total amount billed for the project.",
            "distribution": "long-tail"
          },
          "issued_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "The date the invoice was issued.",
            "trend": "seasonal"
          },
          "paid": {
            "kind": "bool",
            "trueRate": 0.8,
            "description": "Indicates whether the invoice has been paid."
          }
        }
      },
      "support_interactions": {
        "description": "Records of support interactions between clients and the support team, linked to clients and projects.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the support interaction."
          },
          "client_id": {
            "kind": "fk",
            "ref": "clients.id",
            "description": "The client involved in the interaction."
          },
          "project_id": {
            "kind": "fk",
            "ref": "projects.id",
            "nullable": true,
            "description": "The project associated with the support request, if applicable."
          },
          "created_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "The date the support interaction occurred."
          },
          "issue": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "A brief description of the client's issue.",
            "pool": [
              "login",
              "error",
              "payment",
              "refund",
              "delay",
              "access",
              "problem",
              "support",
              "request",
              "account",
              "update",
              "configuration",
              "service",
              "notification",
              "dispute",
              "issue",
              "feature",
              "question",
              "inquiry",
              "status",
              "resolution"
            ]
          }
        }
      },
      "payments": {
        "description": "Details of payments made to freelancers for completed projects, linking back to the respective invoices.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the payment."
          },
          "invoice_id": {
            "kind": "fk",
            "ref": "invoices.id",
            "description": "The invoice related to this payment."
          },
          "amount": {
            "kind": "decimal",
            "min": 50,
            "max": 2000,
            "scale": 2,
            "description": "The payment amount made to the freelancer.",
            "distribution": "long-tail"
          },
          "paid_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "The date the payment was made.",
            "trend": "growing"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "monetary"
    ],
    "analysisQuestions": [
      "What is the average payment amount for translation projects?",
      "How many projects are completed versus those that are still in progress?",
      "Which languages are most frequently requested for translation?",
      "What is the average time taken to resolve support interactions?",
      "Are there specific clients with higher project cancellation rates?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Clients and Projects",
        "sql": "SELECT clients.full_name, projects.language_from, projects.language_to FROM clients JOIN projects ON clients.id = projects.client_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count Projects by Status",
        "sql": "SELECT status, COUNT(*) FROM projects GROUP BY status;",
        "dialect": "postgres"
      },
      {
        "title": "Average Invoice Amount Per Language",
        "sql": "SELECT projects.language_to, AVG(invoices.amount) FROM invoices JOIN projects ON invoices.project_id = projects.id GROUP BY projects.language_to;",
        "dialect": "postgres"
      },
      {
        "title": "Support Interaction Frequency by Client",
        "sql": "SELECT clients.full_name, COUNT(support_interactions.id) FROM clients LEFT JOIN support_interactions ON clients.id = support_interactions.client_id GROUP BY clients.full_name;",
        "dialect": "postgres"
      },
      {
        "title": "Payments Over Time",
        "sql": "SELECT DATE_TRUNC('month', payments.paid_at) AS month, SUM(payments.amount) FROM payments GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Freelancer Payment Tracking",
        "body": "A finance team in a translation agency uses this dataset to analyze payment trends and ensure timely payments to freelancers based on completed projects, helping to optimize cash flow."
      },
      {
        "title": "Client Project Insights",
        "body": "A project manager utilizes this dataset to track project statuses and client interactions, identifying bottlenecks in project completion and enhancing client satisfaction through proactive support."
      },
      {
        "title": "Language Demand Analysis",
        "body": "A marketing analyst reviews the dataset to determine which languages are in high demand, guiding resource allocation and promoting specific translation services to potential clients."
      },
      {
        "title": "Support Team Performance Review",
        "body": "A support manager examines the support interactions data to evaluate team performance, focusing on response times and resolution rates, enabling targeted improvements in client support."
      }
    ]
  },
  "counts": {
    "clients": 200,
    "projects": 300,
    "invoices": 250,
    "payments": 200,
    "support_interactions": 150
  },
  "stats": {
    "clients": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 197,
          "min": "Alice Young",
          "max": "Zoe Vargas"
        },
        "email": {
          "nulls": 0,
          "distinct": 200
        },
        "created_at": {
          "nulls": 0,
          "distinct": 169,
          "min": "2023-01-22",
          "max": "2024-12-30"
        }
      }
    },
    "projects": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "client_id": {
          "nulls": 0,
          "distinct": 162,
          "min": 1,
          "max": 200
        },
        "language_from": {
          "nulls": 0,
          "distinct": 5,
          "min": "Chinese",
          "max": "Spanish"
        },
        "language_to": {
          "nulls": 0,
          "distinct": 5,
          "min": "Chinese",
          "max": "Spanish"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 235,
          "min": "2023-01-04",
          "max": "2024-12-31"
        },
        "status": {
          "nulls": 0,
          "distinct": 4,
          "min": "cancelled",
          "max": "pending"
        }
      }
    },
    "invoices": {
      "rows": 250,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 250,
          "min": 1,
          "max": 250
        },
        "project_id": {
          "nulls": 0,
          "distinct": 171,
          "min": 2,
          "max": 300
        },
        "amount": {
          "nulls": 0,
          "distinct": 247,
          "min": 50.01,
          "max": 1996.48
        },
        "issued_at": {
          "nulls": 0,
          "distinct": 208,
          "min": "2023-01-06",
          "max": "2024-12-25"
        },
        "paid": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "support_interactions": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "client_id": {
          "nulls": 0,
          "distinct": 107,
          "min": 2,
          "max": 200
        },
        "project_id": {
          "nulls": 16,
          "distinct": 109,
          "min": 1,
          "max": 290
        },
        "created_at": {
          "nulls": 0,
          "distinct": 130,
          "min": "2023-01-01",
          "max": "2024-12-29"
        },
        "issue": {
          "nulls": 0,
          "distinct": 109
        }
      }
    },
    "payments": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "invoice_id": {
          "nulls": 0,
          "distinct": 142,
          "min": 1,
          "max": 250
        },
        "amount": {
          "nulls": 0,
          "distinct": 200,
          "min": 50,
          "max": 1998.43
        },
        "paid_at": {
          "nulls": 0,
          "distinct": 180,
          "min": "2023-01-02",
          "max": "2024-12-28"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/clients.csv",
      "format": "csv",
      "table": "clients",
      "key": "datasets/translator-freelancer-app/v2/csv/clients.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/csv/clients.csv",
      "bytes": 10291,
      "sha256": "2970c37ff3f364ccb4bd189ee1af01b32db160b3b624233927101406e3305bd4",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/projects.csv",
      "format": "csv",
      "table": "projects",
      "key": "datasets/translator-freelancer-app/v2/csv/projects.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/csv/projects.csv",
      "bytes": 13355,
      "sha256": "7ee9886c80cb7396bc3731052caacc7f5fee1123e3a2395f3ade6f8af21b4acf",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/invoices.csv",
      "format": "csv",
      "table": "invoices",
      "key": "datasets/translator-freelancer-app/v2/csv/invoices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/csv/invoices.csv",
      "bytes": 7934,
      "sha256": "b9d61b73119b9c4f0960ad093dc408695386a91b33c805dc2d4cae49b5bd0075",
      "rows": 250,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/payments.csv",
      "format": "csv",
      "table": "payments",
      "key": "datasets/translator-freelancer-app/v2/csv/payments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/csv/payments.csv",
      "bytes": 5284,
      "sha256": "8411c5aa73aea9a5f2f990adc87aa0b8fb08fbd44d8519e17aa3a259706b965c",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/support_interactions.csv",
      "format": "csv",
      "table": "support_interactions",
      "key": "datasets/translator-freelancer-app/v2/csv/support_interactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/csv/support_interactions.csv",
      "bytes": 5689,
      "sha256": "ca7a23b144a53de00957844a0ed442c61df86bf7216240674dab8e83b45bb50d",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "translator-freelancer-app.json",
      "format": "json",
      "table": null,
      "key": "datasets/translator-freelancer-app/v2/translator-freelancer-app.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/translator-freelancer-app.json",
      "bytes": 157715,
      "sha256": "540cfbb70684d547356f2cf64c2456990168f4ddb4cab70e20f355f5f266be56",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/translator-freelancer-app/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/sql/postgres.sql",
      "bytes": 61608,
      "sha256": "0b7b773d8dde998c4a4878284ebb653514f6c88461edf3e95cfa33f27b515a11",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/translator-freelancer-app/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/sql/mysql.sql",
      "bytes": 60232,
      "sha256": "9aa6ff683209c81799d02bec2d619ced06b91ffae96ceb5f2d53ebb875256acb",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/translator-freelancer-app/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/sql/mssql.sql",
      "bytes": 63108,
      "sha256": "5c62f167b9ef72a649bd393c1b8b030167fb0197bf4efe0f92b6ed2e051f504c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/translator-freelancer-app/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/sql/sqlite.sql",
      "bytes": 59974,
      "sha256": "c0e0446bc14309f1213087e6c447c7c431417fce3b031b2729f0bd1ee977f38e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/translator-freelancer-app/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/prisma/seed.ts",
      "bytes": 120827,
      "sha256": "6ff48ccf327137d058e0f9dd228f12abbf770c23ddf7d0b5ae28ecc08e06cd98",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/translator-freelancer-app/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/translator-freelancer-app/v2/django/fixtures.json",
      "bytes": 205272,
      "sha256": "a5e65a454dc243420622e4b895b968bca904a705bc7e79f8999f83047f97c318",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767453016,
  "updatedAt": 1788786498828
}
