/* DFX SQL Playbook — FXPedia Content Scrub v1.0 Scope: WordPress wp_posts.post_content (FXPedia ~6,000 items) Engine: MySQL 8.0+ (REGEXP_REPLACE available) or MariaDB (fallback blocks provided) Safety: ALWAYS run the SELECT previews first. Take a snapshot backup before UPDATEs. */ /* ========================================================== 0) QUICK BACKUP (minimal, content only) ========================================================== */ -- Full table snapshot (fast, structure-clone + data) CREATE TABLE IF NOT EXISTS wp_posts_backup_yyyyMMdd AS SELECT * FROM wp_posts; -- Optional: Only glossary posts backup (smaller) CREATE TABLE IF NOT EXISTS wp_posts_glossary_bak_yyyyMMdd AS SELECT * FROM wp_posts WHERE post_type='glossary'; /* ========================================================== 1) PREVIEW FILTER — Target just FXPedia/glossary Use this WHERE template in all UPDATEs to avoid touching other post types. ========================================================== */ -- Preview affected rows SELECT ID, post_title FROM wp_posts WHERE post_type='glossary' AND post_status IN ('publish','pending','draft'); /* ========================================================== 2) CASE A — Remove an EXACT sentence/phrase everywhere Example: remove a known boilerplate sentence ========================================================== */ -- PREVIEW SELECT ID, REPLACE(post_content, 'This content was generated by DFX Robot.', '') AS preview FROM wp_posts WHERE post_type='glossary' AND post_content LIKE '%This content was generated by DFX Robot.%' LIMIT 50; -- APPLY UPDATE wp_posts SET post_content = REPLACE(post_content, 'This content was generated by DFX Robot.', '') WHERE post_type='glossary' AND post_content LIKE '%This content was generated by DFX Robot.%'; /* ========================================================== 3) CASE B — Replace a phrase with a new one Example: old marker -> new marker ========================================================== */ -- PREVIEW SELECT ID, REPLACE(post_content, 'See Also:', 'Related:') AS preview FROM wp_posts WHERE post_type='glossary' AND post_content LIKE '%See Also:%' LIMIT 50; -- APPLY UPDATE wp_posts SET post_content = REPLACE(post_content, 'See Also:', 'Related:') WHERE post_type='glossary' AND post_content LIKE '%See Also:%'; /* ========================================================== 4) CASE C — Delete everything AFTER a marker (keep marker or remove it) Example marker: '## References' ========================================================== */ -- PREVIEW (keep marker) SELECT ID, CONCAT(SUBSTRING_INDEX(post_content, '## References', 1), '## References') AS preview FROM wp_posts WHERE post_type='glossary' AND post_content LIKE '%## References%' LIMIT 50; -- APPLY (keep marker) UPDATE wp_posts SET post_content = CONCAT(SUBSTRING_INDEX(post_content, '## References', 1), '## References') WHERE post_type='glossary' AND post_content LIKE '%## References%'; -- APPLY (remove marker too) UPDATE wp_posts SET post_content = SUBSTRING_INDEX(post_content, '## References', 1) WHERE post_type='glossary' AND post_content LIKE '%## References%'; /* ========================================================== 5) CASE D — Remove a whole SECTION by start & end markers Example: remove from '' to '' MySQL 8.0+: Use REGEXP_REPLACE; MariaDB fallback below. ========================================================== */ -- PREVIEW (MySQL 8.0+) SELECT ID, REGEXP_REPLACE( post_content, '(?s).*?', '' ) AS preview FROM wp_posts WHERE post_type='glossary' AND post_content REGEXP ''; -- APPLY (MySQL 8.0+) UPDATE wp_posts SET post_content = REGEXP_REPLACE( post_content, '(?s).*?', '' ) WHERE post_type='glossary' AND post_content REGEXP ''; /* MariaDB Fallback (no REGEXP_REPLACE) — two-step using LOCATE */ -- TEMP PREVIEW: show ranges found SELECT ID, LOCATE('', post_content) AS s, LOCATE('', post_content) AS e FROM wp_posts WHERE post_type='glossary' AND post_content LIKE '%%' AND post_content LIKE '%%' LIMIT 50; -- APPLY (MariaDB safe delete when both markers exist) UPDATE wp_posts SET post_content = CONCAT( LEFT(post_content, LOCATE('', post_content) - 1), SUBSTRING(post_content, LOCATE('', post_content) + LENGTH('')) ) WHERE post_type='glossary' AND LOCATE('', post_content) > 0 AND LOCATE('', post_content) > LOCATE('', post_content); /* ========================================================== 6) CASE E — Remove any line that starts with a label (e.g., 'See also', 'Further Reading') MySQL 8.0+ solution with REGEXP_REPLACE; MariaDB fallback with SUBSTRING-based splits. ========================================================== */ -- PREVIEW (MySQL 8.0+): drop lines that begin with label (case-insensitive) SELECT ID, REGEXP_REPLACE( post_content, '(?mi)^\s*(See also|Further Reading)\s*:?.*$\n?', '' ) AS preview FROM wp_posts WHERE post_type='glossary' AND post_content REGEXP '(?i)^\\s*(See also|Further Reading)'; -- APPLY (MySQL 8.0+) UPDATE wp_posts SET post_content = REGEXP_REPLACE( post_content, '(?mi)^\s*(See also|Further Reading)\s*:?.*$\n?', '' ) WHERE post_type='glossary' AND post_content REGEXP '(?i)^\\s*(See also|Further Reading)'; /* MariaDB fallback idea: target specific exact phrases per REPLACE (repeat per label) */ -- APPLY (MariaDB simple) UPDATE wp_posts SET post_content = REPLACE(post_content, 'See also:', '') WHERE post_type='glossary' AND post_content LIKE 'See also:%'; /* ========================================================== 7) CASE F — Normalize extra whitespace after removals ========================================================== */ -- Multiple blank lines -> single blank line (MySQL 8.0+) UPDATE wp_posts SET post_content = REGEXP_REPLACE(post_content, '(\n\s*){3,}', '\n\n') WHERE post_type='glossary'; -- Trim leading/trailing spaces per line (MySQL 8.0+) UPDATE wp_posts SET post_content = REGEXP_REPLACE(post_content, '(?m)^\s+|\s+$', '') WHERE post_type='glossary'; /* ========================================================== 8) CASE G — Remove everything AFTER Nth occurrence of a marker Example: keep content up to 1st '---' horizontal rule; delete rest ========================================================== */ -- PREVIEW (first occurrence) SELECT ID, LEFT(post_content, LOCATE('---', post_content) - 1) AS preview FROM wp_posts WHERE post_type='glossary' AND LOCATE('---', post_content) > 0 LIMIT 50; -- APPLY (first occurrence) UPDATE wp_posts SET post_content = LEFT(post_content, LOCATE('---', post_content) - 1) WHERE post_type='glossary' AND LOCATE('---', post_content) > 0; /* ========================================================== 9) BATCHING — Process in chunks to reduce lock time ========================================================== */ -- Example: update 500 rows per batch (repeat until 0 rows affected) UPDATE wp_posts SET post_content = REPLACE(post_content, 'OldBot v1', 'OldBot') WHERE post_type='glossary' AND post_content LIKE '%OldBot v1%' ORDER BY ID LIMIT 500; /* ========================================================== 10) AUDIT — Count how many posts still contain a trace ========================================================== */ SELECT COUNT(*) AS remaining FROM wp_posts WHERE post_type='glossary' AND post_content LIKE '%ROBOT TRACE%'; /* ========================================================== 11) ROLLBACK — Single post or pattern ========================================================== */ -- Single post rollback from backup UPDATE wp_posts p JOIN wp_posts_backup_yyyyMMdd b ON b.ID = p.ID SET p.post_content = b.post_content WHERE p.ID = 12345; -- Pattern rollback (dangerous; test first) UPDATE wp_posts p JOIN wp_posts_backup_yyyyMMdd b ON b.ID = p.ID SET p.post_content = b.post_content WHERE p.post_type='glossary' AND p.post_content NOT LIKE '%SOME_VERIFICATION_AFTER_EDIT%'; /* ========================================================== 12) COMMON ROBOT TRACE PATTERNS (fill & run one by one) ========================================================== */ -- A) Remove trailing generator badge UPDATE wp_posts SET post_content = REGEXP_REPLACE(post_content, '\\s*\\[Generated by DFX\\]\\s*$', '') WHERE post_type='glossary' AND post_content REGEXP '\\[Generated by DFX\\]\\s*$'; -- B) Remove HTML comments UPDATE wp_posts SET post_content = REGEXP_REPLACE(post_content, '(?s)', '') WHERE post_type='glossary' AND post_content LIKE '% Market Value Added - DominionFX

Market Value Added

Definition · Updated October 27, 2025

Title: Market Value Added (MVA) — What It Is, How to Calculate It, and Practical Steps for Investors and Managers

Key takeaways

– Market Value Added (MVA) measures the difference between the market value of a firm (debt + equity) and the total capital invested by its providers of capital.
– MVA = V − K, where V is the market value of the firm (enterprise value) and K is the capital invested (usually the book value of debt + book value of equity).
– A positive MVA indicates that management has created wealth above invested capital; a negative MVA indicates value destruction.
– MVA is linked to Economic Value Added (EVA): the present value of a company’s future EVA stream equals MVA.
– Use MVA as a long‑run performance signal, but be mindful of market sentiment, buybacks/dividends, and accounting differences that can distort the measure.

What is Market Value Added (MVA)?

MVA is a single-number measure of the net market value created (or destroyed) for capital providers since the capital was invested. It asks: “How much more (or less) is the market valuing this company compared with the amount of capital supplied by bondholders and shareholders?” Put another way, MVA = market value of operating assets minus total invested capital.

Formula and components

– MVA = V − K
– V (market value of the firm) is commonly measured as enterprise value:
– V = Market capitalization + Market value of debt − Cash and cash equivalents (or sometimes + minority interest + preferred stock as appropriate).
– K (total capital invested) is typically the book value (historical) of investor-supplied capital:
– K = Book value of shareholders’ equity + Book value of debt (long-term + short-term interest‑bearing debt). Some analysts use the adjusted invested capital reported on the balance sheet.

Relationship with EVA (Economic Value Added)

– EVA for a single period = NOPAT − (WACC × Invested capital), where NOPAT = net operating profit after taxes and WACC = weighted average cost of capital.
– Over time, the discounted sum (present value) of a company’s expected future EVA equals its MVA. Thus, rising EVA over time should, all else equal, raise MVA.

Step‑by‑step practical procedure to calculate MVA (for investors or analysts)

1. Gather market data:
– Market capitalization: current share price × diluted shares outstanding (from market data providers or company filings).
– Market value of debt: if market value is not available, use book value of interest‑bearing debt as an approximation (note limitations).
– Cash and equivalents: from the latest balance sheet (cash reduces enterprise value).
2. Compute enterprise value (V):
– V = Market capitalization + Debt (market or book) − Cash.
– If applicable, add preferred stock and minority interests.
3. Determine total invested capital (K):
– K = Book value of shareholders’ equity + Book value of interest‑bearing debt (or use the company’s invested capital figure, which may adjust for deferred taxes, goodwill write‑downs, etc.). Use the firm’s balance sheet (latest annual or trailing‑12 months) for these figures.
4. Calculate MVA:
– MVA = V − K.
5. Interpret:
– Positive MVA: market values firm above invested capital — indicates wealth creation.
– Negative MVA: market values firm below invested capital — indicates value destruction versus capital contributed.
6. Contextualize:
– Look at MVA trend over multiple years. Compare to peers, industry averages, and consider the firm’s stage of growth.
– Adjust for share repurchases, dividends, major capital raises, mergers and acquisitions or accounting anomalies that affect K or V.
7. (Optional) Link to EVA:
– If historical EVA data are available, check whether cumulative discounted EVA roughly explains MVA; large discrepancies may indicate expectations about future EVA or market mispricing.

Illustrative numerical example

Suppose a company has:
– Market capitalization = $500 million
– Interest‑bearing debt (book) = $120 million (market value may be similar)
– Cash = $40 million
– Book value of shareholders’ equity = $300 million

Calculate:

– V (enterprise value) = 500 + 120 − 40 = $580 million
– K (total capital invested) = 300 + 120 = $420 million
– MVA = V − K = 580 − 420 = $160 million

Interpretation: The market is valuing the company $160 million above the total capital that has been supplied. This implies investors expect future returns on capital that exceed the required return, or the market rewards intangible assets/competitive advantages not reflected in book capital.

Real‑world examples (summary)

– Alphabet (Google’s parent): Over many years Alphabet’s market value grew much faster than its invested capital, generating very large positive MVAs, reflecting high growth expectations and ongoing operational performance.
– Coca‑Cola: A mature, cash-generative company that has consistently produced positive MVA increases while also returning cash to shareholders through dividends and buybacks; MVA doesn’t directly include distributed cash flows, so the full story requires looking at distributions plus MVA change.

Limitations and cautions

– Market prices reflect expectations and sentiment. In bull markets, MVA can rise even if fundamentals are weak. Conversely, MVA can fall with market panics despite strong fundamentals.
– MVA excludes cash payouts (dividends/buybacks) from the investor’s total return picture. A company can have modest MVA growth but high shareholder returns from distributions.
– Differences in accounting policies (e.g., treatment of goodwill, leases, deferred taxes) change K and can complicate comparisons. Adjustments may be necessary for apples‑to‑apples peer comparisons.
– Measuring market value of debt can be difficult; using book debt is a common approximation but imperfect, especially if interest rates have changed materially since issuance.
– MVA is a stock measure (point‑in‑time) and should be evaluated over time to reflect managerial performance rather than transitory market moves.

Practical steps for managers who want to improve MVA

– Focus on projects with positive EVA (returns above WACC) — prioritize high NPV investments.
– Improve operating efficiency to raise NOPAT (e.g., cost control, pricing power, scale benefits).
– Reallocate or divest low‑return assets; redeploy capital where returns exceed cost of capital.
– Optimize capital structure (within risk tolerances) to lower WACC without taking excessive financial risk.
– Improve transparency and investor communications so the market properly recognizes sustainable value drivers (clear capital allocation policy, disclosure of long‑term targets, demonstration of return on invested capital).
– Use buybacks judiciously if shares are undervalued, and maintain dividend policy consistency to reward shareholders.

How investors should use MVA

– Use MVA as part of a multi‑metric assessment: complement with free cash flow analysis, ROIC vs. WACC, EVA trends, valuation multiples, and capital allocation review.
– Prefer trend analysis and peer comparisons to a single MVA snapshot. A rising MVA over years backed by rising EVA and cashflows is a stronger signal than a one‑time high MVA in a frothy market.
– Adjust your interpretation for dividends and buybacks: strong distributions may lower invested capital or shift how wealth is delivered to shareholders.

Conclusion

MVA is a concise way to see how much market value a company has created relative to the capital supplied by its investors. It connects market expectations to the history and prospects of the firm (and ties conceptually to EVA). Calculating MVA is straightforward, but interpreting it properly requires attention to market conditions, cash returns to shareholders, accounting differences, and the firm’s future EVA prospects.

Sources and further reading

– Investopedia, “Market Value Added (MVA)”, Sydney Saporito. https://www.investopedia.com/terms/m/mva.asp
– Stewart, G. Bennett (Stern Stewart & Co.), for background on EVA methodology (see literature on Economic Value Added).
– Company filings (Form 10‑K) for Coca‑Cola and Alphabet for detailed balance sheet, capitalization, and notes on capital structure.

Related Terms

Further Reading