Fair. I'd amend to: take the day, but plan for it to be mostly waiting, so you don't feel like a failure at 3pm.
Sy
@starschema_sy
Will happily redraw your data model before answering the measure question.
99 credit Contributor
- From answers
- 0
- From questions
- 99
Third possibility that nobody has said yet: the seven day window. Your SQL probably applies it strictly from signup timestamp. The tool may be applying it to a cohort period, or in a different timezone, or counting anyone who ever imported and happened to sign up in the window. Timezone alone will move a seven day funnel by a few points.
Read the tool's definition of the funnel step order too. Some of them count a conversion if both events happened in the window regardless of order, which quietly includes people who imported before they signed up, which sounds impossible until you remember your own test accounts exist.
Refund all 41 in full and do it before the statements land. It is $1,140. Whatever you feel you are owed for months nobody used, it is not worth a payments account with a 14% dispute rate stapled to your name and your bank details.
Then send two paragraphs. No apology theatre:
- the service ended on the 8th
- we have refunded your last payment, it will appear in 5-10 days
- here is your data
The people who were going to be annoyed will still be annoyed. They will just not be annoyed at their bank.
Both, honestly. The deep link is a one hour job and it's the best ratio in this thread.
If you do decide you need one, look at the asset based tools rather than reaching straight for Airflow out of habit. Dagster and Prefect both let you declare the thing being produced rather than the task that produces it, which lines up much better with how dbt already thinks and makes partial reruns natural instead of clever. Airflow is fine and it is everywhere and hiring is easier for it, but its mental model is tasks on a timetable and you will be translating between that and your dbt graph forever.
412 visits in nine months is a bit over one a day. You cannot optimise a page that gets one visit a day - anything you change is unmeasurable, and you will burn three weekends on headline tests that produce noise.
Go find the places photographers already complain about double bookings and no-shows. Two forums, one big Facebook group, a couple of Discords. Answer thirty questions properly without a link, then put the link in your profile and let it sit. That is where 11 of my first 14 customers came from, and the whole time my public metrics posts were doing 200 impressions each and going nowhere.
Ask 'what happens if this company shuts down' before you commit anything. If the answer is 'my notes are files in a folder I can open with anything', stop evaluating and start using it. If the answer is 'I would export a JSON blob and then what', keep looking.
That is grim and obvious in hindsight. Once DKIM is in, do I need to warm the domain up slowly, or can I just send the next issue to all 2,140?
Fair, though the two spam reports are not a measurement artefact. Clicks fell from 6.2% to 2.1% in the same send, which is harder to explain away.
The graph view has never solved a problem for a single human being. It is a screensaver with your name on it.
Three years in one of the big all-in-one workspace apps, and the honest cost is speed. It's slow, it needs the network more than it admits, and I've lost text to a sync hiccup twice. I stay because two other people write in it with me, and that turns out not to be a small thing.
The compliance case is a good one to have ready, because it is the only version where the answer is not just preference.
Put an RSS feed on it and link it from the footer. Costs an hour, and it is how the handful of people who actually care - integrators, a couple of power users, the person writing a comparison post about you - stay current without you emailing anyone.
$31 for storage and bandwidth at your revenue means bandwidth, not storage, unless you are hoarding something. Object storage is cheap and egress is where the bill lives. Check what percentage of that line is data leaving, and if it is most of it, look at providers that do not charge for egress at all, plus a cache in front so the same files are not re-served from origin.
Second thing on the same line: find out how much of your egress is bots. I put a rule in front of mine and about a fifth of the traffic pulling files was crawlers and one very determined scraper.
Impressions are flat, average position went 2.4 to 9.1. So it is a genuine slip.
We do have March and May crawls. Just checked and internal links to that URL went from 31 to 9 when we retired an old category hub in May. Well then.
Crawled - currently not indexed usually means it fetched the page, evaluated it, and decided it wasn't worth storing. Duplicate manufacturer copy across 300 URLs is the textbook cause. You don't need 300 essays. Even 60-80 words of genuinely specific text per product, dimensions in the body rather than only in a spec table image, and different titles that aren't all Brand - Model - Buy Online will change the calculation.
Real numbers from my own migration at roughly your scale: the export itself took an afternoon, and then about two weeks of noticing small breakages - image links mostly, plus anything using the app's internal linking format. Plan for the breakages, not for the export. The export almost always works. It's what the export silently drops that costs you the fortnight.
If they say support is included, ask for the hours and the channel. 'Email within 48 hours' is not support when you are standing on a platform.
On weeks: budget for the archaeology, not the writing. The rewriting of five copy jobs is a couple of days. Working out what the old definitions actually do, which of the columns are still used downstream, and why there is a mystery transformation in step three that somebody added in 2021 is where the time goes. We gave ourselves two weeks for a similar job and it took closer to six, all of it in reading and asking people what a table was for.
Most of mine are under twenty rows. Markdown tables it is, then.
That's reassuring. I think I'm attached to the hierarchy mostly because I built it.
Then the location variants are a separate decision from the rest. If you have real local presence, keep them and make them genuinely local. If not, one page.
Weigh whether the 40 map to genuinely different searches or to 8 searches expressed 40 ways. Export every query each page ranks for, dedupe, and see how many distinct intents you actually have. In every version of this I've done, the answer came out around 10-12 real intents and the rest were the same thing with a city name or a synonym swapped. Consolidate to match the intents, not to match your calendar.
Add long basting stitches to that answer and it becomes the whole solution. Machine baste the side seams at the longest stitch length, try it on inside out, pin adjustments, unpick in four seconds. I do this on every fitted garment and it costs maybe ten minutes and has saved me from a wearable-but-wrong item more times than I can count.