Special note to the owners/editors of this forum: a true-format preview of our posts would be priceless. I had to edit this post seven times to compensate for the erroneous, and totally unforeseen, formatting corruptions caused by punctuation in my original version. Thank you.
.
.
.
…MAIN TOPIC…
When I googled the question “how to level up Speech”, I found no one seemed to know the answer. I read three different posts, one here in the official forums, another in Steam forums, and a third on Reddit. No one had a clue; everyone’s answer was just a guess or recital of random experiences. So I decided to be scientific. Here are my findings.
…Conversation with NPCs advances the Speech skill by one experience point (1 xp) for each white-colored line of text in the dialogue options that you engage with. Gray-colored lines grant no xp, nor does simply interacting with an NPC without actually doing any conversation. White lines must be used.
…But conversation is usually slow, unless you’re having a long quest-related conversation. Haggling is usually faster and it can certainly be done more often. But the nuances are complex.

For anyone who wants to try to reproduce my findings, here are the specific starting conditions I was working with:
…Game version 1.3.1.
…Created a save point right outside a tavern so I could conduct each trial quickly.
…Main level 4, Charisma 7, Speech at level 6 with 30 xp already earned toward lvl 7.
…NPC: an alehouse maid with starting rep of 52% toward me.
…Item haggled over: 3 pieces of bacon amounting to 34.5 groschen, retail. This exact amount was convenient and important because it meant I would be working with exact increments at the start of the haggle rather than the game rounding up an off-center number like 34.9 to 40 and thus incorrectly interpreting a change of price when I declined to move the starting amount. A whole integer would’ve been better, like 34 or 35, but the .5 worked out equally well in this case.

Set 0 (baseline): no haggling. Bought the bacon at retail price without entering into a haggle.
trial 1: gained no xp, no change to reputation.
trial 2: gained no xp, no change to reputation.
trial 3: gained no xp, no change to reputation.

Set 6: sweet spot?
trial 1: 4 xp, 0 rep.
trial 2: 4 xp, 0 rep.
trial 3: 4 xp, 0 rep.
trial 4: 5 xp, 0 rep.
trial 5: 6 xp, 0 rep.
NOTE: I was working with a margin of 24 increments below the starting line. In this case the sweet spot for a prolonged haggling session was 8 increments down (trader would lose nearly half of her patience), hold position for the next round (trader would lose about three-quarters of her total patience), then compromise up 1 increment to seal the deal.
…Mind that your increment count will vary based on your starting rep with your trader and the amount being haggled over. I think it also makes a big difference how many increments of compromise you are willing to make after the trader’s first response. If I started low and compromised little, her patience would quickly run out. If I started low but then compromised at least two increments, she would usually accept. The option of not compromising at all also exists but in those cases you can not start low.
…It took me a while to find this spot despite the trader’s patience losses being quite consistent. I wanted to find a spot where I could see at least two movements of the trader’s patience dial before we agreed upon my third offer. Offering too low of an initial price risked angering the trader too quickly. Offering too high of a price gave too little wiggle room in the haggle bar for the haggling session to endure to my goal.

Conclusions/Thoughts.
…The “sweet spot” seems to be bitter sweet since it appears to be a waste of time compared to putting no effort into the haggle whatsoever. Yes, the sweet spot will net you the most profit, or least cost, but if all you care about is leveling your Speech skill then staying at the start line is a time saver.
…It makes sense to me that I would receive negligible xp for tipping the trader. After all, money talks, so why would I get the credit? However, I find it odd that I could earn so much xp for completely forfeiting the trade in Set 5. Granted, Henry would then be under obligation to make amends with that trader if the player wanted to keep that progress rather than reloading a save point, but still: what does Henry actually learn about Speech from being an overly frugal jerk?

If you’ve read all the way to the bottom of this post, thank you for your interest. I’d like to leave a parting comment about why I asked the opening question in the first place. On my first character playthrough, I found Charisma was too unreliable of a stat when the persuasion options appeared in scripted conversation. My Charisma was less than half of my Speech stat by about halfway through the game and it could easily become less if my attire was unattractive. But my Speech stat was consistent. Thus, I wanted to know how I could quickly level it up while playing on a new character.

I noticed in Skaliz in the beginning, a 40xp reward for the very first time haggling with a given merchant, second time 20xp, then after that results that align with what you describe above. Later in the game I did not notice that initial first & second time bonus xp reward, but did not test for that specifically.

I thought reading also helps with speech? I was also hoping to find a book to learn hungarian since coming across a mission where you find a hungarian translator. When I asked the translator where he learny Hungarian, he just said Prague or Vienna.

Apparantly not. I also misunderstood the description of “silver tongue”: it says it “increases” your speech skill when haggling. But someone posted here that this means your speech skill is higher when haggling: you get a better price but the skill doesn’t improve.

That’s right. But I’m sure haggling in general is supposed to provide modest amounts of speech exp. It definitely did prior to 1.3 and I haven’t tested it now, but I’d assume it works fine because my speech in my new playline is at a reasonable level. I’ll run some tests and report back.

Thank you OP. It didnt work out exactly like you said but i too was struggling finding good info on leveling this. Thanks to you I was able to get to level 20 on speech and main level before restarting.

So what are the underlying machinations of speech leveling NOW in the latest version of the game?
Does haggling have any effect on it at all? Or only the white dialogue lines?
Does “succeeded at checks” using the charisma based test or warfare based test level those skills or does it level speech?

Haggling only increases speech if you have the relevant perk. Every new line of dialogue increases speech and so does using the speech skill check in dialogues. The system hasn’t changed since release (but a few bugs have been fixed since!) I’ve finished the game about five times now and I can say that if you don’t choose the haggling perk, but finish the main quests and most of the side ones, you’ll max out speech. If you do choose the perk, you can max out speech much sooner. When I played with the negative perk limiting the amount of experience, I only got to about 16 speech, but I also skipped a lot of side quests and activities, so it might be possible to max out without the haggling perk also, but it would take a lot more effort.

I’ve been doing a bit of systematic observation about speech stat xP and haggling. My understanding is that: in the initially released version, the algorithms they had under the haggling dialogues were easily exploitable for ridiculous Speech Stat XP Farming. It would seem that they adjusted, and added complications to those algorithms as a way to “fix” these exploits, and it does seem to work. So much so, that, without repeated systematic observation, i.e., only a couple quick checks, one can be led to the conclusion that haggling does NOT yield any speech stat XP (just “XP” from here on) at all.

Well, I can tell you with certainty that as of Version 1.7.2 this is NOT the case:

One CAN get XP from haggling. This is one of the few absolute conclusions my observations have yielded but it is at least useful.

The system I’ve used has been pretty simple: jotted down a quick and dirty “table” on a piece of note paper with Five columns. If there is interest, I’ll enter the data into a spreadsheet and put it in a google sheets and link it.
Lvl / XP / Dialog / Trader (rep)/ Start->End<-Initial

Each haggling session gets its own row.

Lvl: The level of the speech stat after the haggling session
XP: the XP of the speech stat after the haggling session
Dialog: The number of successful haggling attempts (from dialog tab) after; “Fail” if the session failed
Trader (rep): the identity of the trader and the rep with the NPC at the outset of the haggling session
Start->End<-Initial: Traders initial starting demand -> End value of transaction <- players initial demand

This set of variables is just about the bare minimum to “reverse engineer” the likely configuration of the algorithms underlying the allocation of Speech Stat XP from haggling. I suspect in fact that there may be some literally non-observable factors at play (or ones which could only be established with a ridiculous number of trials, and then only at a high probability, not with certainty), most notably, I suspect there is a “cool-down” factor or else a “trader-specific threshold” and/or a “Trader/day-specific threshold” effect that comes into play.

So beyond saying for certain that one CAN get XP from haggling, all I can offer at this time are, hunches on how things are working under the hood . . .

I. larger numeric differences between the traders initial value and the final transaction seem to associate with higher XP yield. Very few trials to support this or clarify how it works, but . . . generally I observed XP yields of around 1 xp

I did a total of 30 trials in ~15 different “sessions” with about 12 different traders. 28 successes and 2 fails.

Out of the 28 successes, 7 yielded Speech Stat XP gain (which explains why it would be possible to conclude that haggling doesn’t yield XP at all: it doesn’t do it ALWAYS on successful haggling).
Those XP gains were:

II. 1 xp gained haggling with Andrew, for an amount I cannot recall (in the same session), this was probably buying something fairly inexpensive like ~25 g worth of fresh food.

It is possibly worth noting here that: this shows it is POSSIBLE to farm multiple XP from the same trader during the same dialogue session (obviously two transactions, but same session, so the point being . . . IF there is a “cool-down” or “theshold” effect in play, it is not so simple as "only one XP allotment per trader/per session or per day.)

Another speculation I’d make: I don’t think your rep or how happy/angry they were after the haggle has any real impact on it. It is POSSIBLE that achieving the haggle and getting them to agree to your terms but being very angry about it (and even losing rep) MIGHT result in either “No XP” or “Reduced XP” but my observations did not really shed light on this.
III. 2 xp gained buying a few hundred groschen of stuff from Herbalist
IV. 1 xp gained selling several hundred groschen to peshek
V. 9 xp gained selling/buying a grand total of perhaps ~2000 groschen worth of goods with Uzhitz trader? . . . it was at about this point that I got to the end of that page of note paper and decided to continue but with more specifics on the values in the negotiations
VI. 1 xp gained selling to Uzhitz grocer 51 -> 57 <- 60
VII. 4 xp gained selling/buying with Master Ota 16810-> 9920 <-9710 (also worth noting on this one: I was drunk and Barded, so this shows that: using potions/alcohol to buff one’s negotiating ability doesn’t disqualify the haggling from yielding XP)