Skip to content

Feature/stripe mrr arr models#138

Merged
fivetran-savage merged 42 commits into
mainfrom
feature/stripe-mrr-arr-models
Jan 29, 2026
Merged

Feature/stripe mrr arr models#138
fivetran-savage merged 42 commits into
mainfrom
feature/stripe-mrr-arr-models

Conversation

@fivetran-savage

@fivetran-savage fivetran-savage commented Nov 25, 2025

Copy link
Copy Markdown
Contributor

PR Overview

Package version introduced in this PR:

  • 1.4.0

This PR addresses the following Issue/Feature(s):

Summary of changes:

  • Adds one net-new end model to calculate MRR at the subscription_item level: stripe__subscription_item_mrr_report.
    • Adds consistency test for new end model.
  • Adds seed data for price_plan.
  • Adds analyses folder with two analysis models: stripe__arr_snapshot_analysis, a high-level ARR snapshot report and stripe__customer_mrr_analysis, an MRR report at the customer level.
  • Adds new staging model stg_stripe__coupon.
  • Adds seed data for coupon model.
  • Adds intermediate model to join coupons and discounts.

Submission Checklist

  • Alignment meeting with the reviewer (if needed)
    • Timeline and validation requirements discussed
  • Provide validation details:
    • Validation Steps: Check for unintentional effects (e.g., add/run consistency & integrity tests)
    • Testing Instructions: Confirm the change addresses the issue(s)
    • Focus Areas: Complex logic or queries that need extra attention
  • [NA] Merge any relevant open PRs into this PR

Changelog

  • Draft changelog for PR
  • Final changelog for release review

fivetran-savage and others added 11 commits November 26, 2025 08:37
* MagicBot/bump-dbt-to-v3

* Generate dbt docs via GitHub Actions

---------
Finish merge of MRR/ARR model updates

Co-authored-by: Claude README Updater <noreply@fivetran.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@fivetran-savage fivetran-savage added the pre-release Triggers the auto-releaser workflow. label Dec 9, 2025
@fivetran-catfritz

Copy link
Copy Markdown
Contributor

Approved for pre-release.

@fivetran-savage fivetran-savage added pre-release Triggers the auto-releaser workflow. and removed pre-release Triggers the auto-releaser workflow. labels Dec 12, 2025

@fivetran-avinash fivetran-avinash left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fivetran-savage Ready to go, but not approved since it's a pre-release.

@fivetran-savage fivetran-savage added the docs:ready Triggers the docs generator workflow. label Dec 15, 2025
@fivetran-savage fivetran-savage added pre-release Triggers the auto-releaser workflow. and removed pre-release Triggers the auto-releaser workflow. labels Dec 15, 2025
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
@fivetran-savage fivetran-savage removed docs:ready Triggers the docs generator workflow. pre-release Triggers the auto-releaser workflow. labels Jan 16, 2026

@fivetran-joemarkiewicz fivetran-joemarkiewicz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fivetran-savage great work on this PR! Some comments before approval. Let me know if you have any questions. Thanks!

Comment thread integration_tests/tests/consistency/consistency_subscription_item_mrr_report.sql Outdated
Comment thread models/staging/stg_stripe__coupon.sql
Comment thread models/staging/stg_stripe__coupon.sql Outdated
Comment thread models/staging/stg_stripe.yml Outdated
Comment thread models/stripe_financial_reports/stripe__subscription_item_mrr_report.sql Outdated
Comment thread models/stripe__subscription_item_mrr_report.sql
Comment thread models/stripe_financial_reports/stripe__subscription_item_mrr_report.sql Outdated
Comment thread models/stripe__subscription_item_mrr_report.sql
Comment thread models/stripe__subscription_item_mrr_report.sql
Comment thread models/stripe.yml Outdated
Comment thread .quickstart/quickstart.yml Outdated
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread README.md
Comment thread DECISIONLOG.md
Comment thread models/staging/stg_stripe__coupon.sql Outdated
Comment thread models/stripe.yml Outdated
Comment thread README.md Outdated
Comment thread models/stripe__subscription_item_mrr_report.sql Outdated
Comment thread models/stripe__subscription_item_mrr_report.sql Outdated

@fivetran-joemarkiewicz fivetran-joemarkiewicz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM after docs are generated

@fivetran-savage fivetran-savage added the docs:ready Triggers the docs generator workflow. label Jan 28, 2026
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
| [`stripe__subscription_item_mrr_report`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stripe__subscription_item_mrr_report) | New End Model | | | Each record represents a subscription item for a given month with MRR metrics for both contract and billed/net mrr, movement classification, and monthly discounts applied. Tracks MRR changes over time, classifying each month as new, expansion, contraction, churned, reactivation, or unchanged. If you notice any discrepencies in MRR calculations with this new model, please open up a [support ticket](https://support.fivetran.com/hc/en-us). |
| [`stg_stripe__coupon`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__coupon) | New Staging Model | | | Staging model for Stripe coupon data. |
| [`stg_stripe__coupon_tmp`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__coupon_tmp) | New Staging Model | | | |
| [`stg_stripe__price_plan`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__price_plan) | Explicitly casts`recurring_interval` field as string, `recurring_interval_count` field as integer, and `price_plan_id` field as string.| | | Avoids datatype errors. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion so it's more in line with other changelogs.

Suggested change
| [`stg_stripe__price_plan`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__price_plan) | Explicitly casts`recurring_interval` field as string, `recurring_interval_count` field as integer, and `price_plan_id` field as string.| | | Avoids datatype errors. |
| [`stg_stripe__price_plan`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__price_plan) | Datatype Casts | | `recurring_interval` as `string`<br>`recurring_interval_count` field as `integer`<br>`price_plan_id` field as `string` | Avoids datatype errors. |

Comment thread CHANGELOG.md Outdated
| [`stg_stripe__coupon`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__coupon) | New Staging Model | | | Staging model for Stripe coupon data. |
| [`stg_stripe__coupon_tmp`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__coupon_tmp) | New Staging Model | | | |
| [`stg_stripe__price_plan`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__price_plan) | Explicitly casts`recurring_interval` field as string, `recurring_interval_count` field as integer, and `price_plan_id` field as string.| | | Avoids datatype errors. |
| [`stg_stripe__subscription_item`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__subscription_item) | Explicitly casts `plan_id` field as string. | | | Avoids datatype errors. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| [`stg_stripe__subscription_item`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__subscription_item) | Explicitly casts `plan_id` field as string. | | | Avoids datatype errors. |
| [`stg_stripe__subscription_item`](https://fivetran.github.io/dbt_stripe/#!/model/model.stripe.stg_stripe__subscription_item) | Datatype Casts | `plan_id` field as `string` | | Avoids datatype errors. |

Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
fivetran-savage and others added 3 commits January 29, 2026 12:27
Co-authored-by: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com>
Co-authored-by: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com>

@fivetran-catfritz fivetran-catfritz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved for release!

@fivetran-savage
fivetran-savage merged commit 922ae62 into main Jan 29, 2026
9 checks passed
@fivetran-savage
fivetran-savage deleted the feature/stripe-mrr-arr-models branch January 29, 2026 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs:ready Triggers the docs generator workflow.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants