<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Phuoc Tran Minh | Goodin</title>
	<atom:link href="https://goodin.fi/author/phuoc-tran-minh/feed/" rel="self" type="application/rss+xml" />
	<link>https://goodin.fi</link>
	<description>We help organisations move from insight to impact by combining data culture, co-creation, and AI literacy.</description>
	<lastBuildDate>Sat, 24 Oct 2026 11:27:12 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>THE PRAGMATIC MESH SERIES PART 8: What your AI should do where the map ends, and how those questions help you decide what to build next</title>
		<link>https://goodin.fi/the-pragmatic-mesh-series-part-8-what-your-ai-should-do-where-the-map-ends-and-how-those-questions-help-you-decide-what-to-build-next/</link>
		
		<dc:creator><![CDATA[Phuoc Tran Minh]]></dc:creator>
		<pubDate>Sat, 24 Oct 2026 11:27:12 +0000</pubDate>
				<category><![CDATA[BI - Business Intelligence]]></category>
		<category><![CDATA[Data Literacy]]></category>
		<category><![CDATA[Data Utilisation]]></category>
		<category><![CDATA[Qlik]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://goodin.fi/?p=2383</guid>

					<description><![CDATA[THE PRAGMATIC MESH SERIES &#124; PART 8 Previously: Parts 1 to 5 argued that data initiatives fail for organizational reasons, and made the case for small, business-owned domain teams, a platform that keeps them small, open standards and lean governance rituals. Part 6 (Who Is in Charge of Your Lakehouse?) argued that every important data [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>THE PRAGMATIC MESH SERIES | PART 8</strong></p>
<p><strong>Previously:</strong> Parts 1 to 5 argued that data initiatives fail for <a href="https://www.linkedin.com/pulse/great-data-strategy-reality-check-why-both-warehouses-phuoc-tran-minh-eta3f/?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">organizational reasons</a>, and made the case for <a href="https://www.linkedin.com/pulse/small-teams-strong-ownership-data-strategy-actually-works-tran-minh-mabgf/?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">small, business-owned domain teams</a>, <a href="https://www.linkedin.com/pulse/data-platform-has-get-out-way-phuoc-tran-minh-chlzf/?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">a platform that keeps them small</a>, <a href="https://www.linkedin.com/pulse/start-fast-stay-open-building-pragmatic-mesh-without-corner-phuoc-iy3xf/?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">open standards</a> and <a href="https://www.linkedin.com/pulse/achieve-trust-data-quality-without-new-software-phuoc-tran-minh-uejxf/?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">lean governance rituals</a>. Part 6 (<a href="https://www.linkedin.com/pulse/who-charge-your-lakehouse-phuoc-tran-minh-kgraf?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">Who Is in Charge of Your Lakehouse?</a>) argued that every important data product needs one named owner who can decide. Part 7 (<a href="https://www.linkedin.com/pulse/semantic-layer-you-already-have-phuoc-tran-minh-wt9pf?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">The Semantic Layer You Already Have</a>) argued that your domain-owned apps already are a semantic layer, and that AI only needs a thin map, skills.md, that routes each business concept to the app that owns it. Part 7 also drew a line: an agent may calculate what the map does not cover, as long as the answer is flagged as an unofficial calculation. This part is about that line.</p>
<p>A note on perspective: as in Parts 3 to 7, I work mostly with Qlik and the examples use it. The argument holds on any platform.</p>
<p>&nbsp;</p>
<h4>A Confident Number for a Metric Nobody Owns</h4>
<p>Picture a Thursday afternoon. The board deck is due on Monday, and someone in the CFO&#8217;s office asks the company&#8217;s AI assistant: &#8220;What was our net revenue retention last year?&#8221;</p>
<p>Nobody has defined net revenue retention in any app. It is a textbook SaaS metric, so some users still assume it has been already been implemented. Finance has an ARR app with recurring revenue per customer. Ops owns churn. The thin map acting as semantic layer described in part 7 has entries for the aforementioned but none for NRR. The agent doesn&#8217;t stop. It takes total ARR at the end of both years, divides one by the other and returns 118%, in a clean chart. The number goes into the deck.</p>
<p>Here is the problem. Net revenue retention measures how much the customers you already had at the start of the year pay you at the end of it: their expansion, minus their downgrades and churn. New customers should be excluded, to avoid all new deals as retention.</p>
<p>Run the numbers. ARR grew from 10 million to 11.8 million, and 2.2 million of the 11.8 comes from customers who signed during the year. So the customers you started the year with now pay you 9.6 million compared with previous year&#8217;s 10: a net revenue retention of 96%. The board sees 118%, a story of happy customers buying more, when the real story is that existing customers are shrinking and new sales are hiding it. The opposite conclusion, delivered with total confidence.</p>
<p>Nothing failed technically. Every number the agent used was correct. What went wrong was the meaning: the agent walked off the edge of the map and kept going, and nothing in its answer said so.</p>
<blockquote><p>The Agent did its own calculation. That is often valuable, as long as it is properly flagged for validation.</p></blockquote>
<h4></h4>
<h4>Refuse, Bluff or Label?</h4>
<p>The business changes every week, and some new questions will always be about things nobody owns yet. A map has edges too, because it only routes to definitions that already exist. This is often called the semantic gap.</p>
<p>The critical question is what the agent does when it reaches the gap. It has three options:</p>
<ol>
<li><strong>It refuses.</strong> One semantic-layer vendor <a href="https://docs.getdbt.com/blog/semantic-layer-vs-text-to-sql-2026" target="_blank" rel="noopener">puts the case for loud failure</a> well: &#8220;With text-to-SQL, failure looks like a plausible but incorrect answer. With the Semantic Layer, failure looks like an error message.&#8221; An error message is honest. But a user with a deadline doesn&#8217;t give up. They export the data and paste it into a chatbot, and the same improvised number exists anyway, invisible to everyone, with even less traceability.</li>
<li><strong>It bluffs.</strong> It improvises silently. That is the board deck above.</li>
<li><strong>It labels.</strong> It improvises, and says so. This is often the best option and here is how to make it work.</li>
</ol>
<p>&nbsp;</p>
<h4>Improvise, But Say So</h4>
<p>When the agent reaches a concept with no route, it should do four things:</p>
<p><strong>1. It labels the answer as an unofficial calculation.</strong> The answer arrives marked, with the formula it used, the sources it read and the closest governed measures it found. The label is built into the output itself: the chart title, the table header, the file name.</p>
<p>Had the agent shown its first attempt this way, with &#8220;How: total ARR 2025 divided by total ARR 2024&#8221;, the CFO&#8217;s analyst would have caught the mistake in ten seconds. The label does not make a number right. It makes it checkable. A bare number copied into a slide can still lose its label, which is one reason step 3 records who received it, in addition to writing it as a comment on the slide.</p>
<p>The card gets the math right, and it is still unofficial, because even a correct formula rests on decisions that belong to Finance and have not been made yet. Does a customer who moves to a free plan count as churned? Are currency effects removed? What happens when two customers merge? Until Finance answers, the honest label is &#8220;unofficial&#8221;.</p>
<p>Labeling as such is not new: some BI assistants already mark an answer as verified when it comes from a query an expert prepared in advance. What the mesh adds is where an unofficial answer leads: to the domain owner who can make it official.</p>
<p><strong>2. It never writes the improvised formula back.</strong> Not into the map, not &#8220;just for next time&#8221;. The map holds routes to definitions someone owns, and nothing else. The moment an agent stores its own formula as a definition, the map has started computing meaning instead of <a href="https://www.linkedin.com/pulse/semantic-layer-you-already-have-phuoc-tran-minh-wt9pf?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">routing to it</a>, and the line is crossed from the inside. The agent may draft a proposal; a person decides. Self-improving, never self-modifying.</p>
<p>This will be tempting to relax, because the agent&#8217;s proposals will often be right and approving them will start to feel like a formality. That is how meaning drifts back to the center instead of being owned by business, one sensible shortcut at a time.</p>
<p><strong>3. It logs the gap.</strong> What was asked, which formula it used, which sources it read and who received the answer. A shared list the agent appends to through a connector is enough. Give the log the same access rules as the data it describes, because a question about next quarter&#8217;s board numbers is confidential in itself.</p>
<p><strong>4. It tells the likely owner, in a digest, not a ping.</strong> A single question is just logged. A question that keeps coming back, say five times from three different people, goes to the owner of the nearest domain in a weekly digest: &#8220;Net revenue retention was requested eight times this month, twice for a board deck. Nobody owns it. Is it yours?&#8221;</p>
<p>The default is a choice, not a law. For regulated or external reporting, set the agent to refuse and hand the question to the owner instead. Improvising suits Thursday afternoon&#8217;s draft, not the annual report.</p>
<p>The same steps handle ambiguity. When &#8220;revenue&#8221; could mean Finance&#8217;s recognized revenue or Sales&#8217; closed-won bookings, both governed, the agent doesn&#8217;t quietly pick one. It shows both, with their owners, asks which was meant and logs it. <a href="https://www.linkedin.com/pulse/semantic-layer-you-already-have-phuoc-tran-minh-wt9pf?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">Part 7&#8217;s rule that &#8220;a contested concept is surfaced, not merged&#8221;</a> stops being an intention and happens, with a record.</p>
<blockquote><p>A number in a board deck either comes from a governed definition or carries the unofficial flag that requires proper validation before presenting.</p></blockquote>
<h4></h4>
<h4>Count the Questions, Don&#8217;t Predict Them</h4>
<p>A gap log turns the usual approach around. You don&#8217;t predict the questions the business will ask; you count the ones it does ask. Counting itself is not new: any central layer can mine its query logs, and some BI tools now show their admins which questions their AI assistant could not answer. The difference is who acts on the count: the admins and the data team, or the domain that owns the meaning.</p>
<p>Landscape architects know the pattern. People don&#8217;t always walk where the planners put the pavement; they wear their own paths into the grass. These are called desire paths, and the sensible response is not a fence. It is to pave them. The gap log is that trail in the grass: what the business needs that nobody has defined yet.</p>
<p>When a question keeps coming back, it graduates:</p>
<ul>
<li><strong>The owner decides.</strong> The nearest domain owner, here Finance, decides whether net revenue retention is theirs, and makes the calls only they can make: free plans, currency, mergers.</li>
<li><strong>The definition goes where definitions belong.</strong> It becomes a master measure in the Finance ARR app, next to the data it is computed from. AI can help draft it, since Qlik&#8217;s MCP server already lets assistants use and extend an app&#8217;s semantics, but the owner signs it.</li>
<li><strong>Only then does the map get a route.</strong> The new entry points to the new measure, and <a href="https://www.linkedin.com/pulse/achieve-trust-data-quality-without-new-software-phuoc-tran-minh-uejxf/?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">the Release Notes Channel from Part 5</a> announces it. Because the log recorded who received the improvised figure, &#8220;please replace any earlier figures&#8221; reaches the people who actually have one.</li>
</ul>
<p>Meaning is made in the domain, by a person, and the map learns about it afterwards. Never the reverse.</p>
<p><a href="https://www.linkedin.com/pulse/achieve-trust-data-quality-without-new-software-phuoc-tran-minh-uejxf/?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">Quarterly Swamp Draining</a> gets a second agenda item: the most-asked questions with no route nor owner. Because the nearest owner said no but the question keeps repeating, it is escalated to the quarterly review instead of being buried in logs forever. A metric asked for forty times that nobody will own is a finding in itself.</p>
<blockquote><p>Don&#8217;t try to predict every question. Count the ones people actually ask.</p></blockquote>
<h4></h4>
<h4>The Hard Part: Knowing You Have Left the Map</h4>
<p>All of this assumes the agent can tell &#8220;no governed definition exists&#8221; from &#8220;a governed definition exists and I didn&#8217;t find the route&#8221;. That is the hardest unsolved problem in this design. Get it wrong one way, and the agent improvises over a perfectly good governed measure. Get it wrong the other way, and it flags things it could have answered properly.</p>
<p>The safe default is simple: when unsure, treat it as a gap. Calculate, flag the answer as unofficial and show the closest governed measures, so the person can switch to an official one if it fits. A clear &#8220;I couldn&#8217;t find an official definition, so this is my own calculation&#8221; beats a quiet wrong number.</p>
<p>Two habits make the boundary clearer. Write the near-misses down: <a href="https://www.linkedin.com/pulse/semantic-layer-you-already-have-phuoc-tran-minh-wt9pf?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BkorDpTGRQk6GcfnbtxxpXg%3D%3D" target="_blank" rel="noopener">a &#8220;Not this&#8221; line in a map entry</a> tells the agent which similar-looking measure is not the one being asked for. And let each domain declare its known gaps in its own file: &#8220;Net revenue retention: not defined yet, ask Finance.&#8221; A map that knows where it ends is worth more than one that looks complete.</p>
<p>Someone has to read the log. That is the standing job of a steward of the map&#8217;s health: a person accountable for the map as a routing system. The steward reads the log, brings real gaps to the owners and sends missed routes back to their domains. A missed route usually means a description was written badly, and the log now shows which sentence to fix. The steward doesn&#8217;t decide the exact definition of net revenue retention, only makes sure the right owner hears that someone needs it.</p>
<p>&nbsp;</p>
<h4>Signed or Flagged</h4>
<p>Every answer an agent gives should fall into one of two kinds:</p>
<ul>
<li><strong>Routed and signed:</strong> the map points to a definition a named domain owner maintains, and the agent returns that governed number with its source.</li>
<li><strong>Improvised and flagged:</strong> nothing in the map fits, so the agent calculates, labels the result as unofficial and logs the question for the likely owner.</li>
</ul>
<p>An answer with neither mark, an improvised number that looks official, is exactly what this design exists to catch.</p>
<p>Neither a map nor a central semantic layer will ever be complete, and either one can sign some answers and flag the rest. The difference is what happens once a gap is found. In a central layer, it lands in the data team&#8217;s backlog, with a quarterly release cadence. In the mesh, it goes to the domain that owns the meaning, the domain defines it in its own app next week, and the map just gets a new entry on where to find it. The questions at the map&#8217;s edges tell the domain owners what to build next.</p>
<blockquote><p>Your map will never cover every question. It only has to keep updating and be honest about where it ends.</p></blockquote>
<h5><strong>COMING UP IN THIS SERIES</strong></h5>
<ul>
<li><strong>Part 9: Will AI Eat BI? An AI assistant can build a sales director a beautiful dashboard in twenty minutes, but where will it live, and who will own it, a year from now? Why AI-built dashboards will replace many reports and spreadsheets, but not a governed analytics platform.</strong></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Qlik’s Successful Year in 2024: Achieving Sales and Profitability Targets</title>
		<link>https://goodin.fi/qliks-successful-year-in-2024-achieving-sales-and-profitability-targets/</link>
		
		<dc:creator><![CDATA[Phuoc Tran Minh]]></dc:creator>
		<pubDate>Sat, 01 Feb 2025 12:23:00 +0000</pubDate>
				<category><![CDATA[BI - Business Intelligence]]></category>
		<category><![CDATA[Qlik]]></category>
		<guid isPermaLink="false">https://goodin.fi/?p=494</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_0 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_0">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_0  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_0  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p class="wp-block-paragraph">Written by GOODIN BI Lead Phuoc Tran Minh</p>



<p class="wp-block-paragraph">Qlik had a highly successful year in 2024, meeting both its sales and profitability targets. The critical Talend integration was executed successfully, and cross-selling has driven growth, with Talend customers showing interest in Qlik and vice versa.</p>



<p class="wp-block-paragraph">Previously, one of Qlik’s major challenges was the high costs and weak profitability of Qlik Cloud. However, last year, it achieved the “Rule of 50” benchmark, which is considered a key indicator of a successful SaaS company: ARR (annual recurring revenue) growth% + cash EBITDA% &gt; 50%.</p>



<p class="wp-block-paragraph">This success has also benefited its majority owner, Thomas Bravo, which, according to analysts, has increased Qlik’s valuation to approximately $10 billion and successfully sold a significant 10% minority stake. Additionally, Qlik’s CEO revealed that Thoma Bravo has further increased its own investment in Qlik—an important commitment to maintaining rapid technological development.</p>



<p class="wp-block-paragraph">Further evidence of this investment strategy was seen in Qlik’s recent acquisition of Upsolver, a company specialising in real-time data streaming. Upsolver offers both high performance and competitive cost efficiency, strengthening Qlik’s already comprehensive data platform and reinforcing its position as a leading open data lakehouse solution committed to open Iceberg technology.</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd3ri53PCG8LZ5QESXcwiu6YIyNSIAPBENE2qY2t4LWzbdV1uxNCqcFeRmqc42MBgTP3lJ6Pp9eIGyytgzPVcVLyTmDar81Y6x2MEg3ASGpTPsnSnYWPQrzyBSQPrHDdazIRKWdMdxDeAillZhydLU?key=Sopp6UnZc78YPgJwSDoCwjBz" alt="A screenshot of a computer

Description automatically generated"/></figure>



<p class="wp-block-paragraph">“What’s New’ product highlights presented in Qlik Sales Kick-Off.</p>



<p class="wp-block-paragraph"><strong>Data Platform Credibility and the Future of Qlik</strong></p>



<p class="wp-block-paragraph">A strong and credible position as a data platform is essential for Qlik’s future and for investor confidence. This was a key theme at the recent Sales Kickoff, where significant new features related to Trust Score and Data Products were showcased.</p>



<p class="wp-block-paragraph">It is now time to put to rest the persistent myth that Qlik is not suitable for creating data transformations or a semantic layer that need to be shared outside the Qlik platform—for example, for data scientists. This challenge has always been overestimated but in recent years Qlik Automation and Talend developments have enabled solving even the most complex integration needs. Furthermore, I continue to emphasise the efficiency of Qlik’s traditional data load scripting, particularly for smaller environments and in agile full-stack development &amp; minimum viable product (MVP) scenarios. A simple adjustment—storing data in Parquet format instead of QVD—enables modern databases like Snowflake to perform highly efficient SQL queries directly on the data files.</p>



<p class="wp-block-paragraph"><strong>The Battle for Generative AI: Qlik Answers’ Success and Evolution</strong></p>



<p class="wp-block-paragraph">Another key battleground is Generative AI (GenAI). Qlik Answers surpassed its sales targets last year and will see numerous new features this year. It appears set to replace (or merge with?) the current Insight Advisor, expanding to leverage structured data and integrating seamlessly into Qlik’s interface—revolutionising mobile usage in particular.</p>



<p class="wp-block-paragraph">I personally experienced a moment of success with Qlik Answers just last week: I was able to get its newly released API working in just 15 minutes using Postman. This confirmed that Qlik Answers does not require a user licence or even a user account—making it easy to integrate into public websites or into Qlik’s data loading scripts. I also tested its ability to understand and respond in fluent Finnish, allowing us to move forward with our first customer pilot.</p>



<p class="wp-block-paragraph"><strong>Small but Significant Improvements for Everyday BI Development</strong></p>



<p class="wp-block-paragraph">While major announcements like these are important, they are primarily targeted at media, investors, analysts, and large enterprises. From a practical BI development perspective, the continuous small but significant improvements in usability (flexible UI and easier integrations) and maintainability (pre-built automation templates and monitoring applications) are perhaps even more important.</p>



<p class="wp-block-paragraph">One of my personal favourites was a completely unexpected improvement that solves a long-standing problem: how to easily create and maintain documentation for a Qlik application. I highly recommend trying DocuGen automation, which generates documentation as a standalone HTML page.</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc-_xqhySb8swmLgIL6VEGjw0bgotONKoA6kB79N5JVsYZoeSg3jG45QyDruZgnsvZDef-9qdLn6fo2dAP-9CZvmBioEBd9LiOw269caynX9iqBA9-tNTBTfd9_wPbM5iBuXW4C-RHo650hf-5HkFw?key=Sopp6UnZc78YPgJwSDoCwjBz" alt="Data model section."/></figure>



<p class="wp-block-paragraph">Example of documentation created by DocuGen: “Data Model” page.</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfqWD0TjIeSS2VPRnQFBqeNI1Yr-fcc2ebnxxX4_Q0nD-rKCaIlicBP4ti4lBr42ZDi03sJZIz0f4eYUOiNoXg26bTUDv64f22OmfLby9_9qZxTAClew4qNgp7yWnxHh-R-bKa4okXd_oTfl6H8XIs?key=Sopp6UnZc78YPgJwSDoCwjBz" alt="Sheets &amp; visualizations section."/></figure>



<p class="wp-block-paragraph">Example of documentation created by DocuGen: “Sheets &amp; Visualizations” page.</p>



<p class="wp-block-paragraph">The Sales Kickoff showcased an exciting future for Qlik, but for current customers, the most valuable insight comes from this slide that summarizes Qlik’s main achievements:</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeXlofUSWyIHx0pu8uflTbVEQI2CxZoMKpVy26v61JAxGduVptK9aok8Apwmb7TMvzZ21WGL1u1DSwlKLgQZu0et6U-di8rTZoMctGlCQYFanSk-QBHISXDLXFvmj36T3EFBU4CkqsmV080FxwVE-g?key=Sopp6UnZc78YPgJwSDoCwjBz" alt="A screenshot of a computer

Description automatically generated"/></figure>



<p class="wp-block-paragraph">Ultimately, Qlik&#8217;s excellence is not about any single technical feature, but its superiority stems precisely from Gartner&#8217;s recognition of Qlik as a &#8220;formidable end-to-end data to decision platform&#8221; which enables the full-stack BI developer &amp; key user rapid co-creation model and explains Qlik&#8217;s high customer satisfaction &amp; Customers&#8217; Choice 2024 award. Contact us if you want to hear more about what we at GOODIN mean by co-creation and how it can accelerate the construction of complex data platforms!Want more information? <br><br>Contact us:<a href="https://goodin.fi/#contact"> https://goodin.fi/#contact</a></p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
