What drives your income — concentration, campaigns, seasonality, gift sizes, and what moved the total
This theme explains the shape of your income: how dependent you are on a few donors, which campaigns and seasons drive giving, how gifts cluster, and what moved income between periods.
How much of your income rests on a small number of donors — your concentration risk.KPIs — share of income from your top 1% / 10% / 25% of donors, and a Gini measure (0 = perfectly even giving, 1 = all income from one donor; higher = more concentrated).Charts — a Lorenz curve (cumulative income vs cumulative donors; the further it bows from the diagonal, the more concentrated).Tables — income by donor tier (donors, total income, mean gift, % of file, % of income).Controls — a year selector.
Which campaigns actually drove giving, with gifts matched to a mailing within an attribution window.Charts — attributed income per campaign (top N, filterable by channel).Tables — per-campaign detail with optional response rates, plus a by-channel comparison (total / median income per channel).
When income arrives across the year — and how exposed you are to a single period.KPIs — peak month and its share of annual income, plus the Nov–Dec concentration.Charts — a monthly income heatmap (absolute and % of annual), and a year-overlay line of monthly patterns across years.
Where donors are giving now — the spread of gift sizes.Charts — a histogram of gift amounts, and a year-on-year change by band.Tables — the most common gift amounts (count and % of total).Controls — a year selector.
The single most useful “what happened to our income?” view — it decomposes the change between two periods into drivers.KPIs — net income change (with %), opening and closing income, and a biggest-lever callout naming the bucket that moved the total most.Chart — the waterfall: Opening → + New → + Reactivated → + Upgrade → − Downgrade → − Lapsed → Closing. Green steps add income, red remove it.Detail — the same waterfall per segment (subscription, sporadic, large + middle donors), with a per-bucket breakdown (amount and donor count).Controls — rolling-12-months vs calendar-year view, with a year selector.
“Income went up 4%” becomes “we gained €X from new donors but lost €Y to downgrades” — the waterfall turns a single number into an action list.
Overall waterfall
Expanded bucket
Subscription donors
Large + middle donors
Sporadic givers
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Allyy Documentation Portal","colors":{"primary":"#5C58E9","light":"#C9D1FC","dark":"#5C58E9"},"logo":{"light":"https://mintcdn.com/allyyio/PeFW4TsGB5UlZQNv/logo/light.svg?fit=max\u0026auto=format\u0026n=PeFW4TsGB5UlZQNv\u0026q=85\u0026s=bd0b5c580b7f7a476867d0e2792fc1c6","dark":"https://mintcdn.com/allyyio/PeFW4TsGB5UlZQNv/logo/dark.svg?fit=max\u0026auto=format\u0026n=PeFW4TsGB5UlZQNv\u0026q=85\u0026s=efc9ac09802312d7e22a557a1b92b228"},"favicon":"https://mintcdn.com/allyyio/PeFW4TsGB5UlZQNv/favicon.svg?fit=max\u0026auto=format\u0026n=PeFW4TsGB5UlZQNv\u0026q=85\u0026s=d8119937aa1bca5690b2259cb392aeba","navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}]},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/18699847","facebook":"https://www.facebook.com/profile.php?id=100087894205030"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://allyy.io"},{"anchor":"Application","icon":"network-wired","href":"https://app.allyy.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"allyyio","hasAudioNarration":false,"actualSubdomain":"allyyio","customDomains":["docs.allyy.io"],"gitSource":{"type":"github","owner":"allyyio","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a9967ca44e5a7ff33bb5ef3","collectionId":"89814ba0-a765-4d42-981f-e8ed6e876d63","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a9967ca44e5a7ff33bb5ef3"},"entitlements":{},"buildId":"6a9967ca44e5a7ff33bb5ef3","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":43},{"language":"default","tag":"Documentation","count":37},{"language":"default","tag":"Data API","count":14},{"language":"default","tag":"Models","count":11},{"language":"default","tag":"Dashboards \u0026 Analytics","count":10},{"language":"default","tag":"Model API","count":9},{"language":"default","tag":"Model catalogue","count":9},{"language":"default","tag":"Analytics dashboards","count":5},{"language":"default","tag":"Export API","count":5},{"language":"default","tag":"Workflow API","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"analytics/income","slug":"/analytics/income","pageMetadata":{"title":"Where income comes from","description":"What drives your income — concentration, campaigns, seasonality, gift sizes, and what moved the total","href":"/analytics/income"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"What drives your income — concentration, campaigns, seasonality, gift sizes, and what moved the total\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,OptimizedImage,Tab,Tabs,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This theme explains the shape of your income: how dependent you are on a few donors, which campaigns and seasons drive giving, how gifts cluster, and what moved income between periods.`}),`\n`,_jsx(Heading,{level:`2`,id:`income-concentration`,children:`Income concentration`}),`\n`,_jsx(_components.p,{children:`How much of your income rests on a small number of donors — your concentration risk.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`KPIs`}),` — share of income from your `,_jsx(_components.strong,{children:`top 1% / 10% / 25%`}),` of donors, and a `,_jsx(_components.strong,{children:`Gini`}),` measure (0 = perfectly even giving, 1 = all income from one donor; higher = more concentrated).`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Charts`}),` — a `,_jsx(_components.strong,{children:`Lorenz curve`}),` (cumulative income vs cumulative donors; the further it bows from the diagonal, the more concentrated).`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Tables`}),` — `,_jsx(_components.strong,{children:`income by donor tier`}),` (donors, total income, mean gift, % of file, % of income).`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Controls`}),` — a year selector.`]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`KPI row`,id:`kpi-row`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-conecentration-kpi.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=00c1b2cd5977cc9c0e2637853e60ca73`,alt:`Income concentration KPI row`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`181`,height:`181`,\"data-path\":`images/analytics_images/value-conecentration-kpi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-conecentration-kpi.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=a8747bd6e974079bac7f655a5d854903 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-conecentration-kpi.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=536af22ebd76bc6687793e330f363d97 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-conecentration-kpi.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=4d784674dc401ecd383f40dcde942527 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-conecentration-kpi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=9cd4b78ee3753ef18302f1df85b420db 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-conecentration-kpi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=4a5e8e0bc542e17ac60d2bf229041279 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-conecentration-kpi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=0f79847618ed64c73ef2e2569e211513 2500w`})}),_jsx(Tab,{title:`Lorenz curve`,id:`lorenz-curve`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-lorenz-curve.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=ce5efbf98dea39d760f223bc98a8f964`,alt:`Income concentration Lorenz curve`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`263`,height:`263`,\"data-path\":`images/analytics_images/value-concentration-lorenz-curve.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-lorenz-curve.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=48417b7a861f33b8ab1cc0061c8bae74 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-lorenz-curve.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=893719842a4e07f3f306bf37a8aa73c6 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-lorenz-curve.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=216c4faf745d9ddc58f498fbdc691d41 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-lorenz-curve.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=42dc7a8e1c03859887bd581ed94c9ed1 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-lorenz-curve.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=282e641a8d670abeba38cfdf76f1df95 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-lorenz-curve.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=192207c1a24fbee4cabcab85e72202c5 2500w`})}),_jsx(Tab,{title:`Income by donor tier`,id:`income-by-donor-tier`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-donor-tier-table.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=56842ead9fb5ba932d221808c118163e`,alt:`Income by donor tier table`,\"data-og-width\":`2033`,width:`2033`,\"data-og-height\":`229`,height:`229`,\"data-path\":`images/analytics_images/value-concentration-donor-tier-table.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-donor-tier-table.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=2ffcf422460fccdc70d29f67fb763708 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-donor-tier-table.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=3fa15bf1064c501ff849f4ec20e7144d 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-donor-tier-table.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=b20ad884d9eaea35f4ab71ed310d7026 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-donor-tier-table.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=4be746d746fcb27691752dd28f813abc 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-donor-tier-table.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=1409c654d218c8ab539e9edcddee58a2 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/value-concentration-donor-tier-table.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=f898a076d1b251789914c220e84a5ae3 2500w`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`campaign-attribution`,children:`Campaign attribution`}),`\n`,_jsx(_components.p,{children:`Which campaigns actually drove giving, with gifts matched to a mailing within an attribution window.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Charts`}),` — `,_jsx(_components.strong,{children:`attributed income per campaign`}),` (top N, filterable by channel).`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Tables`}),` — per-campaign detail with optional response rates, plus a `,_jsx(_components.strong,{children:`by-channel`}),` comparison (total / median income per channel).`]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Top campaigns by attributed income`,id:`top-campaigns-by-attributed-income`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-top-n-campaigns-bar.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=b7203de036029b53b8803f9693066e4c`,alt:`Top campaigns by attributed income`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`417`,height:`417`,\"data-path\":`images/analytics_images/campaign-attribution-top-n-campaigns-bar.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-top-n-campaigns-bar.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=16399416248ef5c3d863581741b22713 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-top-n-campaigns-bar.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=026701a0c7148f3b989ed1adcc182090 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-top-n-campaigns-bar.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=9e6df5aeef100e6587e3dc7474b8ad23 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-top-n-campaigns-bar.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=8f83673c06cf03e59686889703de9626 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-top-n-campaigns-bar.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=b9e04eb0438f66658fb1eee5fc757562 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-top-n-campaigns-bar.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=5761017e414d6c783819b5c6060b9abf 2500w`})}),_jsx(Tab,{title:`Campaign detail \u0026 channel comparison`,id:`campaign-detail-%26-channel-comparison`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-campaign-detail.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=b1853e8530fd3e5a30388d97d3ac27de`,alt:`Campaign attribution detail and channel comparison`,\"data-og-width\":`2033`,width:`2033`,\"data-og-height\":`373`,height:`373`,\"data-path\":`images/analytics_images/campaign-attribution-campaign-detail.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-campaign-detail.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=959489021f0a2531253495127bfcc929 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-campaign-detail.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=604a645dde8542d6ebd7af6d1e718b5c 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-campaign-detail.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=bd79c7e7642eb22fc64d850e33a39a7d 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-campaign-detail.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=1ee2552c1f1a42a47d4fd29289ff83c5 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-campaign-detail.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=7d433f8dbc8926bfa777bdeffb7ee7bf 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/campaign-attribution-campaign-detail.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=b86f696c25e82e1e15e5582663e127d0 2500w`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`income-seasonality`,children:`Income seasonality`}),`\n`,_jsx(_components.p,{children:`When income arrives across the year — and how exposed you are to a single period.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`KPIs`}),` — `,_jsx(_components.strong,{children:`peak month`}),` and its share of annual income, plus the `,_jsx(_components.strong,{children:`Nov–Dec`}),` concentration.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Charts`}),` — a monthly income `,_jsx(_components.strong,{children:`heatmap`}),` (absolute and % of annual), and a `,_jsx(_components.strong,{children:`year-overlay`}),` line of monthly patterns across years.`]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`KPI row`,id:`kpi-row-2`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-kpi.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=7e61b65810aa98adf25952ee167922c6`,alt:`Income seasonality KPI row`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`127`,height:`127`,\"data-path\":`images/analytics_images/income-seasonality-kpi.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-kpi.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=3cb1706ca8fdd13b90b8d8eba4e76acb 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-kpi.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=8be691fcf5703345015f3863c7647288 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-kpi.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=6ea358629437f8ba71052db5dc324f5b 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-kpi.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=18712fd81f994049c464fe07f83dba32 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-kpi.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=0d383371fd5612235d0d3a65032d2b5d 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-kpi.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=cff47728e92cb6a920981c60ae1a5b8b 2500w`})}),_jsx(Tab,{title:`Monthly heatmap`,id:`monthly-heatmap`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-heatmap.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=eff4de7fbb861f95770867d5eeecbce7`,alt:`Income seasonality monthly heatmap`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`522`,height:`522`,\"data-path\":`images/analytics_images/income-seasonality-heatmap.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-heatmap.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=4a93c5e5a26f96915333b68546c964f5 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-heatmap.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=ae357b64e210607da6eb3499c815e5c1 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-heatmap.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=4ceff7166d427a9992b2e5eb6d2775ba 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-heatmap.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=ef50206691a27a1669a409692673ea6a 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-heatmap.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=7a618be9bd0f3665a2a2bdfbffb27fd5 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-heatmap.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=03a758443156430a29cd091726112f69 2500w`})}),_jsx(Tab,{title:`Year-overlay`,id:`year-overlay`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-year-overlay.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=29a23c6353215c93b6c89779de11b43f`,alt:`Income seasonality year-overlay`,\"data-og-width\":`2051`,width:`2051`,\"data-og-height\":`592`,height:`592`,\"data-path\":`images/analytics_images/income-seasonality-year-overlay.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-year-overlay.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=1250443c9f71dfc2c8c2190e0d7d44f2 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-year-overlay.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=1e42fe6d3f8a01efa17572c974f88dd1 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-year-overlay.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=4ac99259029dad3dc1c6c170795dbe87 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-year-overlay.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=84a576b108b24c48ed41889c570c7edd 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-year-overlay.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=d3d2704f85ab40d789fef5c14a70319a 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-seasonality-year-overlay.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=721868197ffbc7d23709eca88281b1f2 2500w`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`gift-distribution`,children:`Gift distribution`}),`\n`,_jsx(_components.p,{children:`Where donors are giving now — the spread of gift sizes.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Charts`}),` — a `,_jsx(_components.strong,{children:`histogram`}),` of gift amounts, and a `,_jsx(_components.strong,{children:`year-on-year change by band`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Tables`}),` — the most common gift amounts (count and % of total).`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Controls`}),` — a year selector.`]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Histogram`,id:`histogram`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-histogram.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=d590af999baad06db52753d5e80ea8a7`,alt:`Gift distribution histogram`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`261`,height:`261`,\"data-path\":`images/analytics_images/gift-distribution-histogram.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-histogram.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=10b4853640d50ee066f253569135c1b2 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-histogram.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=ddea0ecc01278c6dae6b08cc75e44dba 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-histogram.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=5d07ae5767578108bf682ca9d233eb5f 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-histogram.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=705c639617347501b4fb6b634396bf97 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-histogram.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=49677d976e3b3159aea7e71df577d1aa 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-histogram.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=59a0ff494298ea40a98e102cb457eccd 2500w`})}),_jsx(Tab,{title:`Top gift amounts`,id:`top-gift-amounts`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-top-gift-amount-table.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=f482cbceb039524d39afdcf3fd32eb0b`,alt:`Gift distribution top gift amount table`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`156`,height:`156`,\"data-path\":`images/analytics_images/gift-distribution-top-gift-amount-table.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-top-gift-amount-table.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=30fc0f540fd9d09ffc8d6a60544b828e 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-top-gift-amount-table.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=dd24e2da253677a3dca71d0680d3234e 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-top-gift-amount-table.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=9f339f267c74940a61018dafcf6f6e17 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-top-gift-amount-table.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=cb6f94e8823c2b7d96e7e2e5d874af2a 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-top-gift-amount-table.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=5e62b4ce14d9a0987b585c316d64c3ae 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/gift-distribution-top-gift-amount-table.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=915b43d4ed4b69a1edf85dc32de3b972 2500w`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`income-waterfall`,children:`Income waterfall`}),`\n`,_jsx(_components.p,{children:`The single most useful “what happened to our income?” view — it decomposes the change between two periods into drivers.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`KPIs`}),` — `,_jsx(_components.strong,{children:`net income change`}),` (with %), `,_jsx(_components.strong,{children:`opening`}),` and `,_jsx(_components.strong,{children:`closing`}),` income, and a `,_jsx(_components.strong,{children:`biggest-lever`}),` callout naming the bucket that moved the total most.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Chart`}),` — the `,_jsx(_components.strong,{children:`waterfall`}),`: Opening → `,_jsx(_components.strong,{children:`+ New`}),` → `,_jsx(_components.strong,{children:`+ Reactivated`}),` → `,_jsx(_components.strong,{children:`+ Upgrade`}),` → `,_jsx(_components.strong,{children:`− Downgrade`}),` → `,_jsx(_components.strong,{children:`− Lapsed`}),` → Closing. Green steps add income, red remove it.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Detail`}),` — the same waterfall `,_jsx(_components.strong,{children:`per segment`}),` (subscription, sporadic, large + middle donors), with a per-bucket breakdown (amount and donor count).`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Controls`}),` — rolling-12-months vs calendar-year view, with a year selector.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`“Income went up 4%” becomes “we gained €X from new donors but lost €Y to downgrades” — the waterfall turns a single number into an action list.`})}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Overall waterfall`,id:`overall-waterfall`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-overall-waterfall.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=5a784f88dabe1de54e77934693d465bc`,alt:`Income waterfall overall`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`316`,height:`316`,\"data-path\":`images/analytics_images/income-waterfall-overall-waterfall.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-overall-waterfall.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=792600f808aa3fd1eae34584ee2d9423 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-overall-waterfall.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=5dc8c4149da12286eb1d9a93fda82ed1 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-overall-waterfall.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=f759809eac24da688166b226b2386829 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-overall-waterfall.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=0382b890db591ab69b7c588530e9fbf6 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-overall-waterfall.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=b2d4bf21cdccbde1e3949cc1da9e50d5 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-overall-waterfall.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=4a4dc63d8f57eb84ba3216634930567a 2500w`})}),_jsx(Tab,{title:`Expanded bucket`,id:`expanded-bucket`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-expanded-bucket.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=0b2fb912fd7b5809cf601a677909ab93`,alt:`Income waterfall expanded bucket`,\"data-og-width\":`1024`,width:`1024`,\"data-og-height\":`507`,height:`507`,\"data-path\":`images/analytics_images/income-waterfall-expanded-bucket.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-expanded-bucket.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=0de3d69e1f0bf3df57aa13ff8125bd8d 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-expanded-bucket.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=089d5b665f0c0117a875a1477969fc20 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-expanded-bucket.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=12394779ede4b18e70448612d15b8c64 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-expanded-bucket.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=16bfe506825112b8af054408d391553f 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-expanded-bucket.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=f44d36bfeac3a2a9c0af3ed030a65eb3 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-expanded-bucket.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=f62541c56dcb6d75229b92c27fbd1c89 2500w`})}),_jsx(Tab,{title:`Subscription donors`,id:`subscription-donors`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-subscription-donors-waterfall.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=87546720042e6c0d5606e7730a430ef1`,alt:`Income waterfall subscription donors`,\"data-og-width\":`2051`,width:`2051`,\"data-og-height\":`688`,height:`688`,\"data-path\":`images/analytics_images/income-waterfall-subscription-donors-waterfall.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-subscription-donors-waterfall.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=6a13a84b7b57c8239642c8c20300746c 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-subscription-donors-waterfall.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=dad815d1c1afff7325f70b68b8f8d82e 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-subscription-donors-waterfall.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=b4e0ddb2b5c442f8a87b9e629b404eb5 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-subscription-donors-waterfall.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=228a0adb88b269b248aa3342accc85c9 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-subscription-donors-waterfall.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=5be432ccc1ca48a71051e04d93bfe71b 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-subscription-donors-waterfall.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=527fc89ff4a63044a434479d52d465d3 2500w`})}),_jsx(Tab,{title:`Large + middle donors`,id:`large-%2B-middle-donors`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-large-middle-donor-waterfall.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=e73bddc33d4b81cabf5d6f662d55c3de`,alt:`Income waterfall large and middle donors`,\"data-og-width\":`2051`,width:`2051`,\"data-og-height\":`686`,height:`686`,\"data-path\":`images/analytics_images/income-waterfall-large-middle-donor-waterfall.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-large-middle-donor-waterfall.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=3ad42b893c1518381fc5a104761d4795 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-large-middle-donor-waterfall.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=06e439326ccb8217812ab6fddfdccdca 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-large-middle-donor-waterfall.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=620eda54056f06b8027d96e39120b742 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-large-middle-donor-waterfall.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=58f87754a7bdc339c0b520508a103865 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-large-middle-donor-waterfall.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=df044d2bedff7712c131d97449076570 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-large-middle-donor-waterfall.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=67b76fd8cca35407e5b4c5ce3cb5c1f8 2500w`})}),_jsx(Tab,{title:`Sporadic givers`,id:`sporadic-givers`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-sporadic-givers-waterfall.png?fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=bb96d3ff49e90e24d46c2c91ab8a5ae5`,alt:`Income waterfall sporadic givers`,\"data-og-width\":`2051`,width:`2051`,\"data-og-height\":`686`,height:`686`,\"data-path\":`images/analytics_images/income-waterfall-sporadic-givers-waterfall.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-sporadic-givers-waterfall.png?w=280\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=f48bbaf1b672f2b0eb92ec997ca8d1f4 280w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-sporadic-givers-waterfall.png?w=560\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=de9dde40c3f3c965beec41a938b96788 560w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-sporadic-givers-waterfall.png?w=840\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=e77c669e67b80bde605f9af9f5067603 840w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-sporadic-givers-waterfall.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=d3cc0fbd52e13529aec01fa85f969c88 1100w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-sporadic-givers-waterfall.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=84b18909d0b52292ec03a0e6856c2a16 1650w, https://mintcdn.com/allyyio/Esb-BiiBJxJmmhpi/images/analytics_images/income-waterfall-sporadic-givers-waterfall.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Esb-BiiBJxJmmhpi\u0026q=85\u0026s=289d947a26577e6921dd05bbdb7ae2b5 2500w`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Where income comes from","description":"What drives your income — concentration, campaigns, seasonality, gift sizes, and what moved the total","href":"/analytics/income"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Income concentration","slug":"income-concentration","depth":2,"children":[]},{"title":"Campaign attribution","slug":"campaign-attribution","depth":2,"children":[]},{"title":"Income seasonality","slug":"income-seasonality","depth":2,"children":[]},{"title":"Gift distribution","slug":"gift-distribution","depth":2,"children":[]},{"title":"Income waterfall","slug":"income-waterfall","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"allyyio","siteName":"Allyy Documentation Portal","title":"Where income comes from - Allyy Documentation Portal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-25T13:00:55.555Z","originalFileLocation":"analytics/income.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"What drives your income — concentration, campaigns, seasonality, gift sizes, and what moved the total\">\u003cmeta data-mint-head name=\"application-name\" content=\"Allyy Documentation Portal\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Where income comes from - Allyy Documentation Portal\">\u003cmeta data-mint-head property=\"og:description\" content=\"What drives your income — concentration, campaigns, seasonality, gift sizes, and what moved the total\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Allyy Documentation Portal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.allyy.io/analytics/income\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://allyyio.mintlify.site/_mintlify/api/og/v2?division=Analytics+dashboards\u0026amp;title=Where+income+comes+from\u0026amp;description=What+drives+your+income+%E2%80%94+concentration%2C+campaigns%2C+seasonality%2C+gift+sizes%2C+and+what+moved+the+total\u0026amp;theme=24ddc1a494bcf6419ad9c926\u0026amp;signature=3b3da3838f0ea58d6b188c2ca3183ebffb3849b6abb93a188b58ac394560ec00\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Where income comes from - Allyy Documentation Portal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"What drives your income — concentration, campaigns, seasonality, gift sizes, and what moved the total\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://allyyio.mintlify.site/_mintlify/api/og/v2?division=Analytics+dashboards\u0026amp;title=Where+income+comes+from\u0026amp;description=What+drives+your+income+%E2%80%94+concentration%2C+campaigns%2C+seasonality%2C+gift+sizes%2C+and+what+moved+the+total\u0026amp;theme=24ddc1a494bcf6419ad9c926\u0026amp;signature=3b3da3838f0ea58d6b188c2ca3183ebffb3849b6abb93a188b58ac394560ec00\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/allyyio/4milDtJqly_V_VXf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Allyy Documentation Portal\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5C58E9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.allyy.io/analytics/income\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/analytics/income.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.allyy.io/#organization\",\"name\":\"Allyy Documentation Portal\",\"url\":\"https://docs.allyy.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/allyyio/PeFW4TsGB5UlZQNv/logo/light.svg?fit=max\u0026auto=format\u0026n=PeFW4TsGB5UlZQNv\u0026q=85\u0026s=bd0b5c580b7f7a476867d0e2792fc1c6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.allyy.io#website\",\"name\":\"Allyy Documentation Portal\",\"url\":\"https://docs.allyy.io\",\"publisher\":{\"@id\":\"https://docs.allyy.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.allyy.io/analytics/income#webpage\",\"url\":\"https://docs.allyy.io/analytics/income\",\"name\":\"Where income comes from\",\"description\":\"What drives your income — concentration, campaigns, seasonality, gift sizes, and what moved the total\",\"dateModified\":\"2026-08-25T13:00:55.555Z\",\"isPartOf\":{\"@id\":\"https://docs.allyy.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.allyy.io/analytics/income#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.allyy.io/analytics/income#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dashboards \u0026 Analytics\",\"item\":\"https://docs.allyy.io/dashboards-evaluation/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Analytics dashboards\",\"item\":\"https://docs.allyy.io/analytics/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Where income comes from\",\"item\":\"https://docs.allyy.io/analytics/income\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.allyy.io/analytics/income#article\",\"headline\":\"Where income comes from\",\"name\":\"Where income comes from\",\"description\":\"What drives your income — concentration, campaigns, seasonality, gift sizes, and what moved the total\",\"url\":\"https://docs.allyy.io/analytics/income\",\"mainEntityOfPage\":{\"@id\":\"https://docs.allyy.io/analytics/income#webpage\"},\"dateModified\":\"2026-08-25T13:00:55.555Z\",\"publisher\":{\"@id\":\"https://docs.allyy.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.allyy.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Allyy Documentation Portal\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Allyy Documentation Portal","nav":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://allyy.io"},{"anchor":"Application","icon":"network-wired","href":"https://app.allyy.io"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"How Allyy works","href":"/get-started/how-allyy-works"},{"title":"Key concepts \u0026 glossary","href":"/get-started/concepts"},{"title":"Quickstart","href":"/get-started/quickstart"}]},{"group":"Data","pages":[{"title":"The Allyy data model","href":"/data/data-model"},{"title":"Preparing your data","href":"/data/data-requirements"},{"title":"Data","href":"/processes/data"},{"title":"Data mapping","href":"/processes/data_mapping"}]},{"group":"Models","pages":[{"title":"What Allyy can predict","href":"/models/what-allyy-can-predict"},{"group":"Model catalogue","pages":[{"title":"DM propensity","href":"/models/dm-propensity"},{"title":"TM reachability","href":"/models/tm-reachability"},{"title":"TM conversion","href":"/models/tm-conversion"},{"title":"DM expected amount","href":"/models/dm-expected-amount"},{"title":"Active donor","href":"/models/active-donor"},{"title":"Middle donor","href":"/models/middle-donor"},{"title":"Reactivating donor","href":"/models/reactivating-donor"},{"title":"Subscription acquisition","href":"/models/subscription-acquisition"},{"title":"Subscription churn","href":"/models/subscription-churn"}]},{"title":"Create \u0026 train a model","href":"/processes/model"}]},{"group":"Predictions","pages":[{"title":"Generating predictions","href":"/predictions/generating-predictions"}]},{"group":"Decisions","pages":[{"title":"From predictions to decisions","href":"/predictions/decisions"}]},{"group":"Exports","pages":[{"title":"Exporting decisions","href":"/predictions/exporting"}]},{"group":"Dashboards \u0026 Analytics","pages":[{"group":"Model Evaluation","pages":[{"title":"Model evaluation dashboards","href":"/dashboards-evaluation/overview"},{"group":"Business / Performance","pages":[{"title":null,"href":"/dashboards-evaluation/classification-model"},{"title":null,"href":"/dashboards-evaluation/regression-model"}]},{"group":"Explainability","pages":[{"title":"Classification SHAP","href":"/dashboards-evaluation/classification-shap"},{"title":"Regression SHAP","href":"/dashboards-evaluation/regression-shap"}]}]},{"group":"Analytics dashboards","pages":[{"title":"Analytics dashboards","href":"/analytics/overview"},{"title":"Data health","description":"Is the file healthy, and can I trust the data behind these numbers?","href":"/analytics/data-health"},{"title":"Where income comes from","href":"/analytics/income"},{"title":"My donor base","description":"Who your donors are, how they move between segments, and whether you are over-contacting them","href":"/analytics/donor-base"},{"title":"Growing \u0026 keeping value","href":"/analytics/value"}]}]},{"group":"Workflows","pages":[{"title":"Workflows","href":"/automation/workflows"}]},{"group":"Monitoring","pages":[{"title":"Monitoring Dashboard","href":"/processes/monitoring_dashboard"}]},{"group":"Integrations","pages":[{"title":"Integrations overview","href":"/integrations/overview"},{"title":"Allyy Salesforce Connector","href":"/integrations/salesforce"},{"title":"Content recommendations in CMS","href":"/integrations/content_recommendation"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Where income comes from - Allyy Documentation Portal","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DMoL6lHz.js","lightbox-handle-r17bVUz3.js"]}