See which changes pay off.

Ad spend, releases and price changes on one timeline — next to the paying customers that followed. What a customer really costs, and what happened after every change you made.

Get started

14-day trial. No card.

Why I built this

I'm a developer. I have six products of my own, and for a while I was checking eight tabs to know how any of them was doing — ad spend in one, subscribers in another, releases in a third, errors somewhere else.

None of it was in the same place, so none of it was in the same picture.

Erdi is that picture. Kolibi, Carpincho and Peeranimo run in it, and so does Erdi itself. I build it alone, in Berlin. If something breaks, you're writing to me.

— Steffen

What a customer costs you, and what one is worth.

Revenue lives in one tool, ad spend in the next, the infrastructure bill in a third. Erdi is where they meet on one timeline.

€
€

Acquisition cost

€75

ad spend ÷ new paying customers · last 30 days

Revenue per customer

€9

ARPU · last 30 days

Payback

8.3 mo

acquisition cost ÷ monthly revenue per customer · before operating cost

Under 12 months is the common benchmark.

Erdi calculates this from the sources you already connect — your ad platforms, your payment provider, and your own infrastructure costs.

Spend that has no API — influencer, newsletter, sponsorships — you add in one line and it counts the same.

When the numbers moved, this is what was beside them.

Click a day on the chart. The fortnight around it — releases, spend, tickets, crashes — is right there. No second tab, no export.

Paying users

Example data · last 30 days

Jul 1Jul 8Jul 15Jul 22Jul 30

Click or tap the chart

Jul 25

Metric changes

MetricBeforeAfterDelta
Paying users80125+56%
Revenue€655€1,022+56%

What happened in the 14 days before

  • externalPrice raised to €1213 days before
  • releasev2.2.0 — paywall rewrite7 days before

No significant change

ad spend 0% · traffic 0% · installs −2%

You ship, the curve moves, and both are on the same chart. Follow what happened after every release, deploy and price change — in one place, without stitching four tools together.

Try day Jul 3 for the quiet case · Example data.

What moved — and what stayed quiet.

The week at a glance: revenue, signups, spend, crashes. Rows inside their typical range stay muted — exclusion is half the work.

3
3

Aug 25

  • deployv1.4.0 — paywall rewrite09:12
  • ticket3 reports: sign-in fails on iOS 1814:40
  • externalPrice raised to EUR 916:05

Each tile shows a seven-day typical swing from your own history — not a prediction, just context for whether this week is unusual.

RevenueStable1 releasetypical range
SignupsDown 24%Nothing shipped
TicketsUp 38%Deploy Aug 18
Ad spend€1,24019 paying customerstypical range
Crash-free99.1%96.4%Release 2.4

The funnel shows where a drop started — installs quiet, trials outside range, paying customers up after a release. One app or five, same view.

Installs4,820−8%typical range
Trials612−22%outside range
Paying41+12%1 release

Releases sit on the day they went live — not buried in commits. Tag pushes that belong to a release point at the same marker.

2.4.1Aug 18Crash fix
2.4.0Aug 12Pricing page
2.3.2Aug 4Onboarding tweak

Where the history comes from.

GitHub knows what you shipped, Stripe knows what was paid, RevenueCat knows who subscribed, Sentry knows what broke, and Apple knows what happened in the store. Erdi brings the parts that matter together.

Ad platforms side by side — spend, installs, cost per install. Spend is comparable across channels; install counts are not, because each platform counts differently.

ChannelSpendInstallsCost per install
Apple Ads€1,240420€2.95
Google Ads€680215€3.16
Influencer€4000—
Newsletter sponsorship€25062€4.03
Own newsletter€095€0.00
Blended€2,570792€3.24

Example data.

Get told instead of checking.

You set the thresholds that matter. Erdi watches them and sends the fortnight before the change with the alert — including when nothing shipped.

App B — signups down 22%

Previous 14 days: Release 2.4 · 7 critical tickets · Pricing changed

App C — New paying users up 40%

Previous 14 days: Release 2.4 · Podcast: Indie Hackers · Pricing changed

What we do not do.

No SDK. Erdi does not observe your end users.

Erdi reads what your own tools already know — it does not watch your end users. No session recording, no cookies to count visitors, no AI training on your data.

Security and hosting — EU database, encrypted keys, DPA under Art. 28 GDPR.

Next time the numbers move, nobody starts from zero.

Connect a project once. The history accumulates — releases beside revenue, spend beside customers, crashes beside deploys.