Live data from Hacker News

You probably don't need AI/ML. You can make do with well written SQL scripts

threadreaderapp.com

291–300 of 331 posts

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#291
post #87

eh. I built a lead gen system at a fortune 1000. The heuristic SQL version brought in 10M a year. The random forest version brings in 100M a year. It saw things we didn't

can you elaborate?

Built a lead generation system. Looks at searches on our site and picks out the best people for our sales team to call.

Set up a bunch of rules created by the sales team. Tweaked it over months. Made money

Then used real sales data tied back to search history and built a machine learning model. It found new patterns that the sales team hadn't thought of, and performs much better

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#292
post #284
post #35

Earlier quoted context omitted.

Anecdotally[1] speaking, you're correct but you're missing the message. You're correct that no one should hire expensive data scientists for this. But what happens is that there's no marketing against these sorts of pragmatic best practices, so it never comes on the radar of business executives making decisions. Instead they're inundated with ML/AI/Data Science pitches and mentions everywhere. And so when they go to…

Interesting comment, makes me wonder if people just generally underperform. You hire an "AI" team with multiple PhDs, you get work that a DBA could've done. You hire a DBA, you get work that a PHP intern could've done. You hire a PHP intern, you get work a kid could've done with Excel formulas :P

It's less about over/under-performance and more with incentive alignment and political perception, and organizational maturity.

It's really, really hard to get executive budgetary approval for a foundational data audit/cleaning project (comprehensive data cataloging, data cleaning, source auditing and validation, etc). Doing so implicitly admits that you weren't doing that before, and now you have to pay gobs of money to fix it. The larger the company, the more infeasible it is to push this through because of the breadth of technical/analytical debt that has accrued and the price tag associated with the project, combined with the perception of incompetency (i.e. it's an expensive project that's fixing a problem you as the executive shouldn't have let happen to begin with).

Whereas an ML/AI project/initiative/push is a net new capability that you're spearheading, and it's easier to get the political traction to spend money on net new things, especially buzzwordy net new things that the firm can use to be viewed as cutting edge. The fact that you're rolling up the cost of a complete data management audit to be able to even do the ML/AI project is a minor bullet-point that doesn't matter. Executive expectation is that anything ML/AI/new-age-techy is going to be astronomically expensive anyway, so it doesn't get noticed that they're paying a premium on labor to do it as a combined project rather than as two separate projects.

Effectively, the foundational work that's needed to support ML work is also the work that's needed to do basic SQL-based analytic work, but it's way easier to get that budgetary line approved in a flashy ML project, even if you're paying a premium by having the ML/AI firm do the foundational work instead of the specialist work.

Plus, spearheading ML/AI initiatives make for better resume points than "data management initiatives". So there's little reason for anyone in this process to attempt to change anything, unless you happen to materially benefit from a firm's profit. For this reason, my main consulting clients are bootstrapped firms that actually care about being pragmatic over being trendsetters.

Note: This is a huge generalization, and doesn't apply universally. But it's far more common than you would expect, especially as you veer away from the type of companies that pop up on HN towards more traditional industries.

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#293
post #286

Earlier quoted context omitted.

I think you'll find that a lot of stem people tend to lean Kantian in their ethics. This implies that misleading people for any reason -- even "for their own good" -- is frowned upon.

I am not sure the Categorical Imperative rules out misleading people for their own good. If a win win result is highly likely the categorical imperative says it’s OK if you do it because if the whole world did it, things would become better!

No, it's still using people as a means to an end. It's even wrong to lie to the murderer at the door. Kant himself addressed this in an essay titled: On The Supposed Right To Lie From Altruistic Motives[1].

[1] https://www.unc.edu/courses/2009spring/plcy/240/001/Kant.pdf

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#294

In a layman term the difference between sql and ml is, ml predict things and sql just tell you things. Things has changed and ml now a days can do far better things. If the competitor is using ml and making gain, then one should also catch up as soon as possible. SQL analytics was past, predictive analytics is the future. ML can do more than predictive analytics for you :)

SQL analytics was past, predictive analytics is the future You're over-simplifying things. SQL is here to stay, regardless of how big ML, which I'm very bullish on, becomes. Start with the simplest approach and try alternatives when/if it doesn't work. Simply jumping to "predictive analytics" is silly.

I agree sql is here to stay. For ml you need data and sql is best place to store data. You can use various sql queries to get feature for ml system.

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#295
post #75

What the article describes is called an "expert system" and is what AI in the enterprise used to look like. Basically, you try to capture the instinct of a great salesmen by formalizing it into computer logic. Often that's done with rules like in the article. It works good, but has its limits. The finer reasoning of human judgement are often not expressable, people don't know why they made that decision. Making it ha…

Newbie question: would you not design ML systems to be able to explain themselves? Alike: hey, query planner, what's your query plan?

You could, there are many approaches to design interpretable/explainable systems (Here https://distill.pub/2018/building-blocks/ is a nice and recent review of some of these problems with illustrations), but there are serious tradeoffs so people usually choose not to do so.

The first issue is that, in general, explaining a decision is a harder task than making a decision, just as reviewing and understanding someone's decision takes more effort than it took to make it. This means that adding explainability and interpretability to a system that achieves some result will take more effort, time and money than building that system itself - you'll triple your budget and get no better actual results, just a better feeling about them. This also limits the effort invested in tools and methods for this; there's large demand and funding for making stuff work or making stuff a bit better, so many people are getting paid to work on that, and not nearly so much on interpretability.

The second issue is that best performing systems take "everything" into account and thus become too complex for a human to understand. A system can be explainable, interpretable and accessible, but if making a correct decision inherently relies on complicated interrelations between many factors, then it will be difficult (or at least time-consuming) for humans to understand anyway. If you limit the complexity of the system to something that can be easily explained, then you're severely limiting its power, and you get poor results.

For your query planner, the analogy is the scenario where we could build a query planner that is capable of optimizing beyond the commonly used basic blocks in query plans, instead outputting optimized machine code to perform particular query better than the standard blocks, achieving improved performance by merging and interleaving operations. The resulting output would be much harder to interpret, since no "block-level" query plan can be equivalent; and requiring the operations to be neatly separable in a limited number of blocks each with separate human-understandable meaning would mean restricting the system and inevitably getting a worse result.

The same applies to humans, by the way - being able to explain all the factors why you believe your decision is likely to be correct takes more knowledge, insight and effort than simply making that decision. It's not like humans can explain why exactly they see (or don't see) an animal in picture like http://www.naute.com/images/cow.gif , consciously understanding that in a structured way is very, very hard. If you would require a human to explain the criteria they'll use before they get to make a decision (as opposed to post-decision rationalization that often has no relation to why the decision was made, and has more relation to making up a socially acceptable plausible justification why you did what you did), then you get poor, simplified criteria that can't reflect the complexity of the problem; you could get their "rules of thumb" or their major factors, but explaining why exactly it is so is generally a mentoring task that takes months (if not more) of effort both from the teacher and the student.

AlphaZero system plays Go and Chess better than any human. It could be modified to describe in detail why it chose this move over the other, but would you (or any other human) have the mental capacity to truly understand it, no matter how well it's explained? The distill.pub article illustrates lots of ways how an image classifier can explain why it made one choice or another - but is it actually useful for tasks other than for R&D to debug or improve the model? It seems like a nice-to-have feature that would be liked if it's not to expensive, but I'd bet that for most models the company wouldn't actually use the explainability feature (again, outside of its builders debugging or improving it) because the whole point of ML is that people get removed out of the loop and don't look at the decisions.

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#296
post #48

Earlier quoted context omitted.

I went to your website, and I can't figure out what your product is or does. I had to click in to individuals before I figured out what it does. Why not put "BeeLine Reader makes reading on-screen easier, faster, and more enjoyable. We use a simple cognitive trick — an eye-guiding color gradient — to pull your eyes from one line to the next." on your front page? Maybe you guys have already done some kind of testing a…

Appreciate the feedback. We recently redesigned the website to offer silos, and one of the goals was to make the landing page not offer too many specifics that would make some audiences bounce. But perhaps your suggestion is just what we need to do. Thanks for taking the time to share! One lesson learned: I should have linked to the /individual page instead of the generic landing page in my comment. Updating link now…

I disagree with everyone else!

The silos are good, you just need to make it much more obvious that the user needs to select one of the silos in order to get at more information. It's not particularly obvious that your buttons are buttons. I would also recommend that the content be full height / width so that on desktop at least the user doesn't scroll at all. The stock photo is probably unnecessary for the main page. Also you don't really need left/right margins since there isn't really text on the page, and that's what large margins are good for (but I'm assuming you know that since you made this app!)

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#297
post #78

Earlier quoted context omitted.

Companies with budgets are willing to think in terms of quarters or years. You’ve laid out the plan for them and they’ve agreed to it. The money is allocated in an annual budget or obtained with a purchase order, so it’s not going to be suddenly reallocated unless there’s a big problem. Experienced clients wouldn’t move to another agency to do analytics “faster” because they would know they’d just have to ramp up the…

well then in that case in many regards working with companies that have quarterly / annual budgets is easier than working with clients who do not. But it appears to be harder to make the sale if you don’t already have a legendary track record that warrants their one-year-commitment.

Making B2B sales is hard, that's unavoidable. Expect to spend literally as much manpower and budget on sales as you do on engineering.

Also, you need a proven track record - if you don't have previous clients, have a working proof of concept for something similar; which can lead you into signing them up for a 3-6 month pilot project, followed by a real contract or two and maintenance.

This also leads nicely to the pricing - this can not be done cheap, since if you sell, say, 20 man months of engineering to a customer, it's not enough to get paid for 20 man months of engineering they do; the contract also needs to pay for 5 man months of sales (including engineer time) it took to arrange their contract, the 15 man months of sales you spent on other, failed leads to get this one contract (I mean, most sales will fail), and for a part of 20 man months of R&D it took to develop the various proof of concepts and demonstrations that were absolutely necessary to start getting contracts but not paid by anyone.

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#298
post #115

"Set this as a CRON that fires at 2AM everyday, period with less activity and traffic. People wake up to emails reminding them about their abandoned carts" Hah I wondered why I got so many notifications in the middle of the night. Now I know that it's from people who think they're helping - not realising that it actually sours my opinion on their company/product.

What time would be better?

It depends? It's clear that the time chosen is important, it will influence the likelihood that the recipient will go back to your store or not. For example, if they get the notification while on their way to work, they're likely to set it aside because they won't open the shopping cart while driving; you want to "hit them" sometime when they're sitting with their device of choice and would have a spare minute to do the things you want them to do. That time wouldn't be the same for all people.

And the choice to do this properly would depend on your volumes. If you're a small shop, you just pick one time - definitely not 2 AM, but, say, 11:30 AM (so office workers can do their thing in a lunchbreak) or 8 PM when they're likely to be home; it depends on your target audience. If you have a distributed client base, you'd want to take time zones into account. And if you're large enough so that small changes in this result make enough money to worry about it seriously, you might even do some ML to pick the optimal reminder time for each customer; e.g. training a predictor on what factors will influence the 'desired action' chance in a "multi-armed bandit" approach to explore the options initially and then start using the ones that work best. That's obviously overkill for most companies, but for large online retailers that would be a natural choice, it all depends on scale.

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#299
post #286

Earlier quoted context omitted.

I am not sure the Categorical Imperative rules out misleading people for their own good. If a win win result is highly likely the categorical imperative says it’s OK if you do it because if the whole world did it, things would become better!

No, it's still using people as a means to an end. It's even wrong to lie to the murderer at the door. Kant himself addressed this in an essay titled: On The Supposed Right To Lie From Altruistic Motives [1]. [1] https://www.unc.edu/courses/2009spring/plcy/240/001/Kant.pdf

Yes I am aware, however the categorical imperative by itself does not seem to rule out such lying.

“Act only according to that maxim whereby you can at the same time will that it should become a universal law.” — Immanuel Kant, Grounding for the Metaphysics of Morals

Re: You probably don't need AI/ML. You can make do with well written SQL scripts

#300

Back in 1999 I worked at an early web consultancy that built apps for clients on top of Oracle. We used their DB + a programming language called PL/SQL. There was a feature of Oracle called SOUNDEX which was magical . Here's an example from their docs page [1]: SELECT last_name, first_name FROM hr.employees WHERE SOUNDEX(last_name)= SOUNDEX('SMYTHE'); This query will return all people with a last name that sounds lik…

Soundex, by the way, had it's 100th anniversary a few weeks ago - it was patented in 1918.
Post reply on HN