Ask

Three quotes to drill a new well and they are wildly different, what makes one job cost double the next?

A well quote is really four jobs bundled together, and cheap quotes are usually cheap because they only include the first. There is drilling, normally priced per foot; the casing and grouting, also per foot and sometimes quoted separately; the pump, pressure tank, wiring and pressure switch, which is a different trade in some places; and the trench from wellhead to house plus the electrical hookup. Ask every bidder to break out those four and the difference between your quotes will usually explain itself in ten minutes.

201 · in/well-water ·

Thinking about pausing 6k a month of paid search to fund a year of content, has anyone made that trade actually work

Before you move a penny, work out how much of that 3x is people searching your brand name. Pause only the brand campaigns for two weeks in a couple of regions and watch what happens to total orders, not to the ads dashboard. In our case a meaningful share of what paid was claiming just walked through the organic result instead, so the true incremental return on that slice was much lower than reported. That test cost us almost nothing and changed the budget conversation completely.

128 · in/organic-search ·

Time to first value or gap between sessions - which time based number actually predicted who stayed?

I have watched both for about two years on a small B2B tool. Time to first value was the more actionable one because it points at a specific part of the product - when it went up, it was always a concrete thing, an added form field, a slow import, a confusing empty state. The gap between sessions was the better predictor of who stayed but it told me nothing about what to fix, because by the time it was long the person had already decided. Measure the second, act on the first.

132 · in/funnel-metrics ·

half my revenue is one-off setup work - what do i call mrr when somebody asks

separate the margins too, because they will not be alike. my software line runs at a margin dominated by hosting and support, and my services line is essentially my hourly rate minus overhead, so a month with lots of services looks great on revenue and is much worse on profit per hour worked. i track revenue per hour worked on the services side specifically, and it changed which customers i said yes to.

164 · in/mrr-and-margins ·

PVC stays Pending after a node drain even though the PV shows Available

If this is a workload you want to survive losing a zone, the storage choice is the real decision rather than the drain procedure. Zonal block storage plus a single-replica StatefulSet is a single point of failure by design. Either accept that and plan capacity per zone, or move to something replicated at the storage layer.

96 · in/k8s-ops ·

Imported dates sort wrong and DATEVALUE errors on about half of them

Left aligned means Sheets is storing them as text, so you are sorting alphabetically: "12" before "03" makes perfect sense to a string comparison.

The #VALUE pattern gives away the real problem: your export is almost certainly US format (MM/DD/YYYY) and your sheet is UK. Rows where the day is 13 or higher fail outright because there is no month 13. Rows where the day is 12 or lower silently convert to the wrong date, which is much worse: 03/11 becomes 3 November when it meant 11 March, and nobody notices until a quarterly total is off.

Parse it explicitly rather than trusting DATEVALUE:
=ARRAYFORMULA(IF(A2:A="","",DATE(INDEX(SPLIT(A2:A,"/"),,3), INDEX(SPLIT(A2:A,"/"),,1), INDEX(SPLIT(A2:A,"/"),,2))))
That reads position 3 as year, 1 as month, 2 as day. Swap the last two arguments if your source really is day first. Then format the output as a date and sort on that.

189 · in/sheets-formulas ·

Star schema or one wide flat table for a 12 million row sales report

Honest counterpoint: if the report is genuinely one grain, nobody else builds on the dataset, and it fits comfortably in memory, a flat table is not a sin. The cost is not correctness, it is every future change. Adding a new attribute to a dimension touches one small table; adding it to a flat table is a 12 million row reload every time.

39 · in/bi-dashboards ·

Lookups across 30 tabs or one QUERY over stacked IMPORTRANGE for a 50k row tracker

Stack it, but stack it once into a real all-sites tab rather than doing it inside every summary formula.

The pattern that has held up for me: one hidden tab that is nothing but ={IMPORTRANGE(url1,"data!A2:F"); IMPORTRANGE(url2,"data!A2:F"); ...}, with a site name column carried through from each source, then every summary on the sheet is a QUERY against that one range. Adding site 31 is one line in one place instead of a new column in 40 formulas.

The VLOOKUP-per-tab approach does not fail gradually. It fails the day somebody renames a tab.

121 · in/sheets-formulas ·