AI Data Co-Pilot

Overview


📘

Pelcro Co-Pilot is an AI-powered assistant designed to help users extract insights from their subscription data using simple, natural-language questions. Think of it as your personal data analyst, ready to answer your most common business questions.

A 7-day free trial is offered upon activation (only your Account Owner can enable the trial), accessible via the "Co-Pilot" button in your dashboard's navigation bar. After the trial period, please contact your account manager to enable continued access.

What You Can Ask Co-Pilot

Co-Pilot can help you explore a wide range of business metrics related to your subscriptions, users, revenue, and product performance. It understands natural language and can respond to many types of analytical queries. Whether you're looking for trends, breakdowns, comparisons, or summaries, Co-Pilot is designed to assist.

Co-Pilot Currently Has Context On:

  • Subscriptions (& Metadata)
  • Invoices (& Metadata)
  • Charges
  • Plans (& Metadata)
  • Products (& Metadata)
  • Customers (& Metadata)

Example Queries:

  • "What percentage of subscribers successfully renew at the end of their subscription term?"
  • "What is our quarterly subscription revenue in the last 5 quarters?"
  • "Which subscription plans or promotions are driving the most sign-ups and revenue growth?"
  • "How many subscriptions expired each month in the last 12 months, segmented by digital versus print?"
  • "How much revenue is generated per subscriber for each month in the last 12 months?"
  • "What is the rate of failed payments in the past 3 months?"
  • List all subscriptions which renewed in the past month.

How Co-Pilot Works

Co-Pilot is powered by an AI assistant that translates your natural-language questions into SQL queries, runs them securely against your account data, and returns clear, human-readable answers — all without exposing your data to any external service.

Here's what happens behind the scenes when you ask a question:

  1. Your question is received — Co-Pilot accepts any natural-language query. No specific format is required.
  2. A SQL query is generated — The AI interprets your intent and produces a query tailored to your account's data model.
  3. Placeholders protect your data — Sensitive identifiers (like account and user IDs) are never sent to the AI. Instead, placeholders (e.g., :account_id) are used and filled in securely by Pelcro's core systems before execution.
  4. Results are returned — The query runs within the Pelcro environment, and the final answer is reconstructed and displayed in your dashboard.
    🔒

    Your actual data never leaves the Pelcro environment. Conversation history is preserved for context, but no raw data is ever shared with external APIs.


Input & Output Format

Input

Co-Pilot accepts plain natural language — no structured format or technical knowledge required. Simply type your question as you would ask a colleague.

Examples:

  • "How many active subscriptions do we have by product?"
  • "Show me monthly revenue for the last 6 months."
  • "Which plans have the highest churn rate?"

Output

Co-Pilot returns a structured response with the following fields:

{
  "status": 200,
  "is_count_statement": false,
  "message": "A plain-language explanation of what the query returns",
  "reason": null,
  "sql": "Generated SQL query with secure placeholders",
  "id": ["Reference ID"]
}
FieldDescription
status200 for success, 422 if the query could not be processed
is_count_statementtrue if the result is a single count/number, false for a list or breakdown
messageA non-technical explanation of what the results represent
reasonError description (only present when status is 422)
sqlThe generated SQL query. Uses placeholders like :account_id to keep your data secure
idInternal reference IDs linking to example patterns used to generate the query

Sample Queries & Outputs

Sample 1 — List Active Members by Product

Input:

"List all members by product and plan for current subscriptions only."

Output:


{
  "status": 200,
  "is_count_statement": false,
  "message": "You are requesting a list of all active members grouped by their product and plan. The query will show each member's name along with the product and plan they are associated with.",
  "reason": null,
  "sql": "SELECT `s`.`id` AS `subscription_id`, CONCAT_WS(' ', `u`.`first_name`, `u`.`last_name`) AS `customer_name`, `p`.`name` AS `product_name`, `pl`.`nickname` AS `plan_name` FROM `subscription` AS `s` INNER JOIN `plans` AS `pl` ON `s`.`plan_id` = `pl`.`id` INNER JOIN `products` AS `p` ON `pl`.`product_id` = `p`.`id` INNER JOIN `user` AS `u` ON `s`.`user_id` = `u`.`id` INNER JOIN `account_user` AS `au` ON `u`.`id` = `au`.`user_id` WHERE `s`.`account_id` = :account_id AND `s`.`status` = 1 AND `s`.`ended_at` IS NULL AND `u`.`deleted_at` IS NULL AND `au`.`account_id` = :account_id ORDER BY `p`.`name`, `pl`.`nickname`",
  "id": ["TR-07"]
}
```

Sample 2 — Monthly Subscription Breakdown

Input:

"Show active subscriptions by product and plan in the last 12 months by month."

Output:


{
  "status": 200,
  "is_count_statement": false,
  "message": "You are requesting to see active subscriptions by product and plan for each month over the last year. The results will display each month along with the product and plan names, and the number of active subscriptions in each category.",
  "reason": null,
  "sql": "SELECT DATE_FORMAT(`s`.`created_at`, '%Y-%m') AS `year_month`, `p`.`name` AS `product_name`, `pl`.`nickname` AS `plan_name`, COUNT(`s`.`id`) AS `count` FROM `subscription` AS `s` INNER JOIN `plans` AS `pl` ON `s`.`plan_id` = `pl`.`id` INNER JOIN `products` AS `p` ON `pl`.`product_id` = `p`.`id` WHERE `s`.`account_id` = :account_id AND `s`.`status` = 1 AND `s`.`ended_at` IS NULL AND `s`.`created_at` >= DATE_SUB(CURDATE(), INTERVAL 12 MONTH) GROUP BY `year_month`, `p`.`id`, `pl`.`id` ORDER BY `year_month` DESC, `p`.`name`, `pl`.`nickname`",
  "id": ["TD-05"]
}

Accuracy & Known Limitations

Accuracy

Co-Pilot has been tested across a broad range of query types. Based on internal testing (18 test cases):

Accuracy LevelCount% of Tests
100% success1270%
70–99% success211%
50% success211%
<1% success211%

Overall success rate: 70% of test cases passed with full accuracy. Co-Pilot performs particularly well on:

  • Renewal rate calculations
  • Product-type breakdowns
  • Metadata queries
  • Migrated ID lookups
    📈

    Accuracy has continued to improve since initial testing, with targeted enhancements made to previously weak areas.

Current Limitations

While Co-Pilot handles a wide range of queries effectively, there are a few limitations to be aware of:

  • Response latency — Some queries may take a moment to process end-to-end. Complex analytical questions in particular may have slightly longer response times.
  • Limited follow-up context — Co-Pilot does not retain access to previously queried data within a conversation. Follow-up questions that depend on prior results may require rephrasing or re-querying to get accurate answers.
  • Expiration-based filtering — Queries involving complex expiration logic may occasionally produce less accurate results. We are actively working to improve handling of these cases.

Security Note

Pelcro Co-Pilot does not process or expose any of your data. All data interactions are scoped strictly to your own account. No data is shared outside of the Pelcro environment.

We have performed rigorous internal security testing to ensure Co-Pilot cannot be manipulated to access or infer data from other accounts. Our tests included:

  • SQL injection attacks
  • Unauthorized table access
  • Prompt engineering exploits
  • Race condition and timing attacks

Rest assured, your data stays private, secure, and isolated—always.


Support & Feedback

  • Email Support: For general questions, issues, or feedback, please contact us at [email protected].
  • Submit Enhancement Ideas: If you have suggestions or ideas, please share it with us through our enhancement request form here.